19.5 C
New York
Wednesday, June 18, 2025

How I Would Study To Code (If I May Begin Over)


to numerous sources, the common wage for Coding jobs is ~£47.5k within the UK, which is ~35% greater than the median wage of about £35k.

So, coding is a really priceless ability that may earn you extra money, to not point out it’s actually enjoyable.

I’ve been coding professionally now for 4 years, working as an information scientist and machine studying engineer and on this submit, I’ll clarify how I’d study to code if I needed to do it over again.

My journey

I nonetheless bear in mind the time I wrote my first little bit of code.
It was 9am on the primary day of my physics undergrad, and we have been within the laptop lab.

The professor defined that computation is an integral a part of fashionable physics because it permits us to run large-scale simulations of all the pieces from subatomic particle collisions to the motion of galaxies.

It sounded wonderful.

And the best way we began this course of was by going by way of a textbook to study Fortran.

Sure, you heard that proper.

My first programming language was Fortran, particularly Fortran 90.
I discovered DO loops earlier than FOR loops. I’m positively a rarity on this case.

In that first lab session, I bear in mind writing “Good day World” as is the standard ceremony of passage and pondering, “Huge woop.”

That is the way you write “Good day World” in Fortran in case you have an interest. 

program hey
print *, 'Good day World!'
finish program hey

I truly actually struggled to code in Fortran and didn’t do this nicely on checks we had, which put me off coding.

I nonetheless have some previous coding initiatives in Fortran on my GitHub that you may try.

Trying again, the training curve to coding is sort of steep, however it actually does compound, and ultimately, it’s going to simply click on.

I didn’t realise this on the time and actively averted programming modules in my physics diploma, which I remorse in hindsight as my progress would have been a lot faster.

Throughout my third 12 months, I needed to do a analysis placement as a part of my grasp’s. The corporate I selected to work for/with used a graphical programming language known as LabVIEW to run and handle their experiments.

LabVIEW is predicated on one thing known as “G” and taught me to consider programming in a different way than script-based.

Nonetheless, I haven’t used it since and possibly by no means will, however it was cool to study then.

I did benefit from the analysis 12 months considerably, however the tempo at which analysis strikes, no less than in physics, is painfully sluggish. Nothing just like the “heyday” from the early twentieth century I envisioned.

Sooner or later after work a video was beneficial to me on my YouTube residence web page.

For these of you unaware, this was a documentary about DeepMind’s AI AlphaGo that beat one of the best GO participant on the earth. Most individuals thought that an AI may by no means be good at GO.

From the video, I began to know how AI labored and study neural networks, reinforcement studying, and deep studying.
I discovered all of it so fascinating, much like physics analysis within the early twentieth century.

In the end, that is once I began learning for a profession in Information Science and machine studying, the place I wanted to show myself Python and SQL.

That is the place I so-called “fell in love” with coding.
I noticed its actual potential in truly fixing issues, however the primary factor was that I had a motivated motive to study. I used to be learning to interrupt right into a profession I wished to be in, which actually drove me.

I then turned an information scientist for 3 years and am now a Machine Studying engineer. Throughout this time, I labored extensively with Python and SQL.

Till a number of months in the past, these have been the one programming languages I knew. I did study different instruments, reminiscent of bash/z-shell, AWS, docker, information bricks, snowflake, and so on. however not another “correct” programming languages.

In my spare time, I dabbled a bit with C a few years in the past, however I’ve forgotten just about all of it now. I’ve some primary scripts on my GitHub if you’re .

Nonetheless, in my new function that I began a few months in the past, I will likely be utilizing Rust and GO, which I’m very a lot trying ahead to studying.

In case you are taken with my total journey to turning into an information scientist and machine studying engineer, you’ll be able to examine it beneath:

Select a language

I at all times suggest beginning with a single language.

Based on TestGorilla, there are over 8,000 programming languages, so how do you choose one?

Nicely, I’d argue that many of those are ineffective for many jobs and have most likely been developed as pet initiatives or for actually area of interest instances.

You would select your first language based mostly on reputation. The Stack Overflow 2024 survey has nice info on this. The most well-liked languages are JavaScript, Python, SQL, and Java.

Nonetheless, the best way I like to recommend you select your first language ought to be based mostly on what you need to do or work as.

  • Entrance-end internet — JavaScript, HTML, CSS
  • Again-end internet — Java, C#, Python, PHP or GO
  • iOS/macOS apps — Swift
  • Andriod apps — Kotlin or Java
  • Video games — C++ or C
  • Embedded Methods — C or C++
  • Information science/machine studying / AI — Python and SQL

As I wished to work within the AI/ML house, I targeted my power primarily on Python and a few on SQL. It was most likely a 90% / 10% break up as SQL is smaller and simpler to study.

To today, I nonetheless solely know Python and SQL to a “skilled” normal, however that’s nice, as just about the entire machine-learning group requires these languages.

This exhibits that you just don’t must know many languages; I’ve progressed fairly far in my profession, solely understanding two to a big depth. In fact, it could differ by sector, however the primary level nonetheless stands.

So, choose a subject you need to enter and select probably the most in-demand and related language in that subject.

Study the naked minimal

The largest mistake I see learners make is getting caught in “tutorial hell.”

That is the place you’re taking course after course however by no means department out by yourself.

I like to recommend taking a most of two programs on a language — actually any intro course would do — after which beginning to construct instantly.

And I actually imply, construct your individual initiatives and expertise the battle as a result of that’s the place studying is finished.

You received’t know the way to write capabilities till you do it your self, you received’t know the way to create lessons till you do it your self, and also you actually received’t perceive loops till you implement them your self.

So, study the naked minimal and instantly begin experimenting; I promise it’s going to no less than 2x your studying curve.

You most likely have heard this recommendation quite a bit, however in actuality it’s that straightforward. 

I at all times say that the majority issues in life are easy however arduous to do, particularly in programming.

Keep away from traits

Once I say keep away from traits, I don’t imply to not deal with areas which might be doing nicely or in demand available in the market.

What I’m saying is that once you choose a sure language or specialism, keep it up.

Programming languages all share comparable ideas and patterns, so once you study one, you not directly enhance your potential to choose up one other later.

However you continue to ought to deal with one language for no less than a number of months.

Don’t develop “shiny object syndrome” and chase the most recent applied sciences; it’s a recreation that you’ll sadly lose.

There have been so many “distracting” applied sciences, reminiscent of blockchain, Web3, AI, the listing goes on.

As an alternative, deal with the basics:

  • Information varieties
  • Design patterns
  • Object-oriented programming
  • Information buildings and algorithms
  • Drawback-solving abilities

These matters transcend particular person programming languages and are significantly better to grasp than the most recent Javascript framework!

It’s significantly better to have a robust understanding of 1 space than attempt to study all the pieces. Not solely is that this extra manageable, however additionally it is higher in your long-term profession.

As I stated earlier, I’ve progressed fairly nicely in my profession by solely understanding Python and SQL, as I discovered the required applied sciences for the sector and didn’t get distracted.

I can’t stress how a lot leverage you’ll have in your profession in the event you doc your studying publicly.

Doc your studying

I don’t know why extra folks don’t do that. Sharing what I’ve discovered on-line has been the most important recreation changer for my profession.

Actually committing your code on GitHub is sufficient, however I actually suggest posting on LinkedIn or X, and ideally, it’s best to create weblog posts that will help you cement your understanding and showcase you information to employers.

Once I interview candidates, if they’ve some form of on-line presence displaying their learnings, that’s instantly a tick in my field and an additional edge over different candidates.

It exhibits enthusiasm and keenness, to not point out rising your floor space of serendipity. 

I do know many individuals are scared to do that, however you might be affected by the highlight impact. Wikipedia defines this as:

The highlight impact is the psychological phenomenon by which individuals are inclined to imagine they’re being observed greater than they actually are.

Nobody actually cares in the event you submit on-line or take into consideration you as a lot as 1% as you assume. 

So, begin posting.

What about AI?

I may spend hours discussing why AI will not be a direct threat for anybody who needs to work within the coding occupation.

It’s best to embrace AI as a part of your toolkit, however that’s so far as it’s going to go, and it’ll positively not substitute programmers in 5 years.

Except an AGI breakthrough immediately happens within the subsequent decade, which is extremely unlikely.

I personally doubt the reply to AGI is the cross-entropy loss perform, which is what’s utilized in most LLMs these days.

It has been proven time and time once more that these AI fashions lack sturdy mathematical reasoning skills, which is likely one of the most basic abilities to being a superb coder.

Even the so-called “software program engineer killer” Devin is not pretty much as good because the creators initially marketed it. 

Most corporations are merely attempting to spice up their funding by hyping AI, and their outcomes are sometimes over-exaggerated with controversial benchmark testing.

Once I was constructing an internet site, ChatGPT even struggled with easy HTML and CSS, which you’ll argue is its bread and butter!

Total, don’t fear about AI if you wish to work as a coder; there may be a lot, a lot larger fish to fry earlier than we cross that bridge!

NeetCode has executed an important video explaining how present AI is incapable of changing programmers.

One other factor!

Be part of my free publication, Dishing the Information, the place I share weekly ideas, insights, and recommendation from my expertise as a practising information scientist. Plus, as a subscriber, you’ll get my FREE Information Science Resume Template!

Join with me

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles