to varied sources, the common wage for Coding jobs is ~£47.5k within the UK, which is ~35% larger than the median wage of about £35k.
So, coding is a really useful ability that can 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 publish, I’ll clarify how I might be taught 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 had been within the pc lab.
The professor defined that computation is an integral a part of trendy physics because it permits us to run large-scale simulations of every thing from subatomic particle collisions to the motion of galaxies.
It sounded wonderful.
And the best way we began this course of was by going via a textbook to be taught Fortran.
Sure, you heard that proper.
My first programming language was Fortran, particularly Fortran 90.
I realized DO loops earlier than FOR loops. I’m undoubtedly a rarity on this case.
In that first lab session, I bear in mind writing “Hey World” as is the standard ceremony of passage and pondering, “Massive woop.”
That is the way you write “Hey World” in Fortran in case you have an interest.
program whats up
print *, 'Hey World!'
finish program whats up
I really actually struggled to code in Fortran and didn’t do this nicely on exams we had, which put me off coding.
I nonetheless have some old coding projects in Fortran on my GitHub which you can take a look at.
Trying again, the training curve to coding is kind of steep, but it surely actually does compound, and finally, it is 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 yr, 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 referred to as LabVIEW to run and handle their experiments.
LabVIEW relies on one thing referred to as “G” and taught me to think about programming otherwise than script-based.
Nevertheless, I haven’t used it since and possibly by no means will, but it surely was cool to be taught then.
I did benefit from the analysis yr considerably, however the tempo at which analysis strikes, at the least 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 really helpful to me on my YouTube house web page.
For these of you unaware, this was a documentary about DeepMind’s AI AlphaGo that beat the most effective GO participant on this planet. 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, just like physics analysis within the early twentieth century.
Finally, that is after I began learning for a profession in Data 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 really fixing issues, however the principle factor was that I had a motivated cause to be taught. I used to be learning to interrupt right into a profession I needed to be in, which actually drove me.
I then turned an information scientist for 3 years and am now a Machine Learning engineer. Throughout this time, I labored extensively with Python and SQL.
Till just a few months in the past, these had been the one programming languages I knew. I did be taught different instruments, similar to bash/z-shell, AWS, docker, knowledge bricks, snowflake, and so on. however not some other “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 basic scripts on my GitHub in case you are .
Nevertheless, 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 wanting ahead to studying.
If you’re fascinated by my complete journey to turning into an information scientist and machine studying engineer, you’ll be able to examine it beneath:
Select a language
I all the time suggest beginning with a single language.
In accordance with TestGorilla, there are over 8,000 programming languages, so how do you choose one?
Effectively, I might argue that many of those are ineffective for many jobs and have in all probability been developed as pet initiatives or for actually area of interest instances.
You could possibly select your first language based mostly on recognition. The Stack Overflow 2024 survey has nice info on this. The most well-liked languages are JavaScript, Python, SQL, and Java.
Nevertheless, the best way I like to recommend you select your first language must 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 Techniques — C or C++
- Knowledge science/machine studying / AI — Python and SQL
As I needed to work within the AI/ML house, I targeted my vitality primarily on Python and a few on SQL. It was in all probability a 90% / 10% cut up as SQL is smaller and simpler to be taught.
To at the present time, I nonetheless solely know Python and SQL to a “skilled” customary, however that’s effective, 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 realizing two to a big depth. After all, it could differ by sector, however the principle level nonetheless stands.
So, choose a area you need to enter and select probably the most in-demand and related language in that area.
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 right way to write capabilities till you do it your self, you received’t know the right 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, be taught the naked minimal and instantly begin experimenting; I promise it is going to at the least 2x your studying curve.
You in all probability have heard this recommendation so much, however in actuality it’s that straightforward.
I all the time say that the majority issues in life are easy however exhausting to do, particularly in programming.
Keep away from traits
Once I say keep away from traits, I don’t imply to not give attention to areas which are doing nicely or in demand available in the market.
What I’m saying is that whenever you choose a sure language or specialism, keep it up.
Programming languages all share related ideas and patterns, so whenever you be taught one, you not directly enhance your skill to choose up one other later.
However you continue to ought to give attention to one language for at the least just a few 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, similar to blockchain, Web3, AI, the checklist goes on.
As a substitute, give attention to the basics:
- Knowledge sorts
- Design patterns
- Object-oriented programming
- Knowledge buildings and algorithms
- Downside-solving expertise
These subjects transcend particular person programming languages and are a lot better to grasp than the most recent Javascript framework!
It’s a lot better to have a powerful understanding of 1 space than attempt to be taught every thing. Not solely is that this extra manageable, however it’s also higher in your long-term profession.
As I stated earlier, I’ve progressed fairly nicely in my profession by solely realizing Python and SQL, as I realized the required applied sciences for the sphere and didn’t get distracted.
I can’t stress how a lot leverage you should have in your profession for those who doc your studying publicly.
Doc your studying
I don’t know why extra folks don’t do that. Sharing what I’ve realized on-line has been the largest recreation changer for my profession.
Actually committing your code on GitHub is sufficient, however I actually suggest posting on LinkedIn or X, and ideally, you need to create weblog posts that will help you cement your understanding and exhibit you data 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 spotlight effect. Wikipedia defines this as:
The highlight impact is the psychological phenomenon by which individuals are likely to imagine they’re being seen greater than they actually are.
Nobody actually cares for those who publish 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 an instantaneous danger for anybody who desires to work within the coding career.
You must embrace AI as a part of your toolkit, however that’s so far as it is going to go, and it’ll undoubtedly not exchange programmers in 5 years.
Until 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 function, which is what’s utilized in most LLMs these days.
It has been proven time and time once more that these AI fashions lack robust mathematical reasoning talents, which is likely one of the most elementary expertise to being a very good coder.
Even the so-called “software program engineer killer” Devin is not as good because the creators initially marketed it.
Most corporations are merely making an attempt to spice up their funding by hyping AI, and their outcomes are sometimes over-exaggerated with controversial benchmark testing.
Once I was constructing a web site, ChatGPT even struggled with easy HTML and CSS, which you’ll argue is its bread and butter!
General, don’t fear about AI if you wish to work as a coder; there’s a lot, a lot greater fish to fry earlier than we cross that bridge!
NeetCode has executed a terrific video explaining how present AI is incapable of changing programmers.
One other factor!
Be a part of my free publication, Dishing the Data, the place I share weekly ideas, insights, and recommendation from my expertise as a training knowledge scientist. Plus, as a subscriber, you’ll get my FREE Knowledge Science Resume Template!