What's new
Carbonite

South Africa's Top Online Tech Classifieds!
Register a free account today to become a member! (No Under 18's)
Home of C.U.D.

Advice on learning to code , what languages to start with and best way to go about it

broseph1

Member
Rating - 100%
3   0   0
Joined
Aug 21, 2017
Messages
35
Reaction score
12
Points
1,585
Hi Everyone in looking at getting into development , what would be the best way to go about this , TIA
 
I would say before delving into any languages first try and get a good understanding of the fundamental concepts of programming, and thinking like a programmer. Algorithms etc. etc.

Some good recourses:

Udemy
FreeCodecamp

Some good languages:

Python
Java
SQL
 
I tried to do some courses through udemy but I didn't have a goal as it was just a hobbie and it kind of fizzled out.

I found Bitburner on steam, a free Java based programming game that will start you small and work you up to something. The goals help keep you motivated.

Another game is Screeps on steam which follows a similar pattern to Bitburner but is more like a strategy game, I never got into it but it looks quite fun.

The idea of programming has always been a hobbie idea of mine, but I can see how not doing it everyday will make it difficult to progress.
 
My advice, don't do it. This line of work will end up draining the life and soul from you.

Software development in the long run is not good for your mental health. It's a job that requires consistent focus, all day and every day. There are very few and I mean very few positions where this won't be a high-pressure environment where it's just go go go all day.

If you take that into consideration and still want to get into development, don't go into the website route as it's worthless. Best languages to learn for software development is as following:

  1. JavaScript - This is still used in conjunction with any other backend language almost everywhere. It's crucial to know JavaScript and understand it very well.
  2. PHP - This is still one of the most widely used backend languages and hard to master.
  3. C# - Overall has a higher earnings potential at senior level than PHP. Harder language to learn as opposed to PHP and harder to master too.
  4. Python - It may be old as shit, but it's not going anywhere. A hard language to grasp at first and perhaps one of the hardest to master, but your go-to language for AI.
  5. C++ - Go to language for game development.
 
Last edited:
Age old question. Pick a language that sticks out to you and learn it. In the beginning it doesn't really matter which language you are learning, just that you are learning the fundamental concepts and get a feel for programming.
Then, think of small problems or programs and start building them. I started with ID Number validation, basic snake games, small android apps with a couple of text boxes and buttons, windows forms apps, really stupid stuff, but back then it was fun and I learned a lot.
 
My advice, don't do it. This line of work will end up draining the life and soul from you.

Software development in the long run is not good for your mental health. It's a job that requires consistent focus, all day and every day. There are very few and I mean very few positions where this won't be a high-pressure environment where it's just go go go all day.

If you take that into consideration and still want to get into development, don't go into the website route as it's worthless. Best languages to learn for software development is as following:

  1. JavaScript - This is still used in conjunction with any other backend language almost everywhere. It's crucial to know JavaScript and understand it very well.
  2. PHP - This is still one of the most widely used backend languages and hard to master.
  3. C# - Overall has a higher earnings potential at senior level than PHP. Harder language to learn as opposed to PHP and harder to master too.
  4. Python - It may be old as shit, but it's not going anywhere. A hard language to grasp at first and perhaps one of the hardest to master, but your go-to language for AI.
  5. C++ - Go to language for game development.
I get this. I really do enjoy my work, but sometimes I wish I had a job that was a bit more physical and not so constantly mentally draining.
 
Software development in the long run is not good for your mental health. It's a job that requires consistent focus, all day and every day. There are very few and I mean very few positions where this won't be a high-pressure environment where it's just go go go all day.
100% this.

Software dev is one of those jobs where its great, but you dont want to do it forever. Have to eventually become a team lead or something else higher up the food chain because it will kill you before your time. Mentally and physically.

Love my job, love the company I work for, but not doing this forever.
 
I agree with the above mention of CS50 Harvard course. It covers a lot in C and learns you the fundamentals really well. Also free and can later upgrade it to the paid certification. It covers a lot of languages and is the best start you can get from a very reputable University. For reference I did it and the follow up for AI, and it really increased my job offers.
 
Going to chime in my 2c here.

Development is tough. It's a stressful job in many industries.

You can make good money, but that's really up to you. I know developers with 10 years experience earning 40k a month and developers with 5 years experience (albeit with degrees) earning 80k a month. You have to fight to get the money you deserve, and as mentioned above, considering the amount of focus and stress you will incur, you need the money.


It's stressful but it's rewarding too. Most companies will treat you well, give you some good perks, work from home, flexi time etc. But there are companies that will exploit you, and it really falls on you to set the boundaries for that.

Like mentioned, learn the basics first, the CS50 course is a good start, also check out Syllabus | COS 126 Fall'22
(I think this is one of the courses we followed at Uni)

And freecodecamp is pretty good too.

As for languages, honestly choose one of the following and you'll be sorted:

C#, Python, Java, JavaScript

Personally I work with C# and Python 95% of my time as a backend dev and I'm sure if I lost my job today I'd get a new one by the end of the week...

Last thing, truly understand what you're learning. There's many concepts you need to wrap your head around, and just reading theory doesn't help, you need to implement it to understand it fully. And just code a lot, find problems to solve and solve them using algorithms. Be consistent, don't give up and code every day!
 
I would say have an idea first, for an app, website, software etc. Plan it out as far as you can without any programming knowledge including what you want it to look like and what you want it to do.

From there you can find the programming languages and software that you will need to achieve what you are trying to make.

If you just wanna be able to say you have learned a programming language:
 
Not sure why so many people saying this job is bad for your mental health, maybe you just don't like it? Software development has always been my passion and its an amazing field, with amazing pay, hours, benefits and everything else. Just find what you enjoy doing, website development, game development, app development, and specialize in that and enjoy it. Someone said web development is bad, they are special in the brain I think. It's literally one of the more paid fields, and it's enjoyable. Just find what you like and do it.

Personally I do: React, C#, SQL, Python, Java, Angular.

Fun stack and gets you a job in 99% of places
 
Going to chime in my 2c here.

Development is tough. It's a stressful job in many industries.

You can make good money, but that's really up to you. I know developers with 10 years experience earning 40k a month and developers with 5 years experience (albeit with degrees) earning 80k a month. You have to fight to get the money you deserve, and as mentioned above, considering the amount of focus and stress you will incur, you need the money.


It's stressful but it's rewarding too. Most companies will treat you well, give you some good perks, work from home, flexi time etc. But there are companies that will exploit you, and it really falls on you to set the boundaries for that.

Like mentioned, learn the basics first, the CS50 course is a good start, also check out Syllabus | COS 126 Fall'22
(I think this is one of the courses we followed at Uni)

And freecodecamp is pretty good too.

As for languages, honestly choose one of the following and you'll be sorted:

C#, Python, Java, JavaScript

Personally I work with C# and Python 95% of my time as a backend dev and I'm sure if I lost my job today I'd get a new one by the end of the week...

Last thing, truly understand what you're learning. There's many concepts you need to wrap your head around, and just reading theory doesn't help, you need to implement it to understand it fully. And just code a lot, find problems to solve and solve them using algorithms. Be consistent, don't give up and code every day!
This is also good info I would listen too
 
I made the move from Finance (Insurance) to Development about 4 years ago and I don't regret it for a second.

My personal journey:

Late 2017 - Realised that something had to change, Insurance just wasn't for me and I had 0 job satisfaction. At this stage I wasn't sure what I wanted to do but knew that I wanted to do something IT related. Did a course in business analysis but soon realised that getting a job without a degree in IT and without any experience wasn't going to be easy. I then figured why not give development a go.
2018 - YouTube to get an idea what development is all about.
2018 - Udemy: Web development course (This is where I fell in love with coding).
Jan 2018 - Started with an Informatics degree through Unisa.
Late 2018 - Mid 2019 HyperionDev: Did their full stack web development course while doing the degree and working full time (would not recommend).
Oct 2019 - Got my first programming job and took about a 50% pay cut.
Sept 2021 - Got my current job with a big jump in salary.
Nov 2022 - Completed my degree

After some increases I now earn more than double compared to what I did in insurance, sure I took a big salary cut for about 2 years but it all worked out in the end. Wasn't easy but I would not change anything.
 
Last edited:
I made the move from Finance (Insurance) to Development about 4 years ago and I don't regret it for a second.

My personal journey:

Late 2017 - Realised that something had to change, Insurance just wasn't for me and I had 0 job satisfaction. At this stage I wasn't sure what I wanted to do but knew that I wanted to do something IT related. Did a course in business analysis but soon realised that getting a job without a degree in IT and without any experience wasn't going to be easy. I then figured why not give development a go.
2018 - YouTube to get an idea what development is all about.
2018 - Udemy: Web development course (This is where I fell in love with coding).
Jan 2018 - Started with an Informatics degree through Unisa.
Late 2018 - Mid 2019 HyperionDev: Did their full stack web development course while doing the degree and working full time (would not recommend).
Oct 2019 - Got my first programming job and took about a 50% pay cut.
Sept 2021 - Got my current job with a big jump in salary.
Nov 2022 - Completed my degree

After some increases I now earn more than double compared to what I did in insurance, sure I took a big salary cut for about 2 years but it all worked out in the end. Wasn't easy but I would not change anything.

Accounting for inflation you probably earn the same as your insurance job :ROFLMAO:

I myself started about 3 weeks ago doing Javascript, CSS and HTML as it's the most used coding languages in the world. After I get a job and get the hang of coding, I'll pivot into AI/Machine Learning via Python(TBD). I do think A.I will eventually render HTML and CSS obsolete, and coding A.I will be the last job to be rendered obsolete by A.I

In terms of learning, I'm currently doing the Odin Project, not sure yet what I'll do after that, probably freecodecamp
 
I'll pivot into AI/Machine Learning via Python(TBD). I do think A.I will eventually render HTML and CSS obsolete, and coding A.I will be the last job to be rendered obsolete by A.I
So I am a developer, working with AI/LLM's in Python. The models currently available are great, but we are still a good few years off having it entirely replace certain developers in my opinion.

Once you start using things like offline models, and anything other than ChatGPT itself (Look at OpenAI API), you will see how far we still have to go.
 
So I am a developer, working with AI/LLM's in Python. The models currently available are great, but we are still a good few years off having it entirely replace certain developers in my opinion.

Once you start using things like offline models, and anything other than ChatGPT itself (Look at OpenAI API), you will see how far we still have to go.

100%, but I have at least 30 years ahead of me before I can retire. I do think in that time, A.I will render quite a few jobs as obsolete, so I'll rather pivot into A.I, than try my luck and specialize in other fields, and as my luck has been so far, that's not a good gamble to take.
 
Accounting for inflation you probably earn the same as your insurance job :ROFLMAO:

I myself started about 3 weeks ago doing Javascript, CSS and HTML as it's the most used coding languages in the world. After I get a job and get the hang of coding, I'll pivot into AI/Machine Learning via Python(TBD). I do think A.I will eventually render HTML and CSS obsolete, and coding A.I will be the last job to be rendered obsolete by A.I

In terms of learning, I'm currently doing the Odin Project, not sure yet what I'll do after that, probably freecodecamp
Started 3 weeks ago and already has strong opinions on software development; you already have the mindset of a basic developer :ROFLMAO:
/s

To anyone else starting (as OP hasn't been online since asking this question), at this point you might not know where exactly you want to work in terms of language and type of work, so I would also recommend starting with something like CS50 as you will learn fundamentals, which would allow you to easier pivot to whatever you want to do, if you ever get tired of web development, or data analysis, or whatever.
If you can problem solve, the language is just a very temporary obstacle.
 
After reading through everyone's stuff, it is probably safe to assume anyone that wants to go into Software Development, go do CS50 first. Do the free version though.
 
DId my MCPD back in the day 2009-2011

Been doing 99% just MS SQL can basicily do anything that is required ssis ssas ssrs powerbi warehousing tsql all the things it pays really well but only advice i can give is first job grab it work for experiance second job move for better salary i have a strong believe you dont stick to the same place longer than 3 years except if they learn new skills ,your cv will get you an interview your experiance will get you the job.

The most annoying test i have ever had to do was with my current company its a bank where i had to write code with a pen 12 blank pages full.
If you cannot problem solve do not become a developer and stress levels late night deployments war room's its not an easy job it will fuck you up mentally at some point working from home full time is amazing as well but your working hour lines start to vanish you will end up putting in alot more hours working from home.

So again DO NOT BECOME A DEVELOPER IF YOU THINK ITS AN EASY LIFE JUST BECAUSE YOU SEE THE SALARY THAT IS OFFERED.

The mental health aspect that people are referring to has nothing to do with if you like it or not or its your passion ,its when you get hit with an unexcepted change something out of your control or developement that was missed that needs to be ready for go live in 3 days but its about 2 weeks work and you need to get it sorted.That is the real world

@thePridge think you would agree on this as well
 
Last edited:
I would say before delving into any languages first try and get a good understanding of the fundamental concepts of programming, and thinking like a programmer. Algorithms etc. etc.

Some good recourses:

Udemy
FreeCodecamp

Some good languages:

Python
Java
SQL
Not be contrarian but I would recommend the opposite approach. Don't try to learn bottom-up, rather learn top-down, by building things, breaking things, and fixing things. The most important factor in learning is relevance, so the problem has to be tangible like the thing you want to build and not some abstract thing such as "algorithms" or "data structures".

To use an analogy, if you want to learn to ride a bicycle, would you rather start by learning the theory of the wheel or just getting on the damn thing and start peddling? Studying theory is often a means to avoid the pain of failing, and failing means learning.

The whole bottom-up learning paradigm has been ingrained into us by the education system that left alot of us in school thinking "why do I need to know this?".

You can also watch cs50 on youtube in your spare time, but don't make theory your primary form of learning.

Btw, I know your comment was in good faith, so I'm just offering an alternative approach to learning programming and in things in general.
 
Not be contrarian but I would recommend the opposite approach. Don't try to learn bottom-up, rather learn top-down, by building things, breaking things, and fixing things. The most important factor in learning is relevance, so the problem has to be tangible like the thing you want to build and not some abstract thing such as "algorithms" or "data structures".

To use an analogy, if you want to learn to ride a bicycle, would you rather start by learning the theory of the wheel or just getting on the damn thing and start peddling? Studying theory is often a means to avoid the pain of failing, and failing means learning.

The whole bottom-up learning paradigm has been ingrained into us by the education system that left alot of us in school thinking "why do I need to know this?".

You can also watch cs50 on youtube in your spare time, but don't make theory your primary form of learning.

Btw, I know your comment was in good faith, so I'm just offering an alternative approach to learning programming and in things in general.
Fair argument, but I would extend the analogy.

I would say that if you want to learn to ride a motorbike, you are going to want to learn some fundamentals of it before you just jump on. Sure there's a chance you could get it right first time, but who is going to trust you with their bike?

If all you want to do is basic web development then sure, jump on the bicycle. If you want to do software development, maybe learn some fundamentals.
 
Not sure why so many people saying this job is bad for your mental health, maybe you just don't like it? Software development has always been my passion and its an amazing field, with amazing pay, hours, benefits and everything else. Just find what you enjoy doing, website development, game development, app development, and specialize in that and enjoy it. Someone said web development is bad, they are special in the brain I think. It's literally one of the more paid fields, and it's enjoyable. Just find what you like and do it.

Personally I do: React, C#, SQL, Python, Java, Angular.

Fun stack and gets you a job in 99% of places
It's because a lot of companies exploit people (esp junior devs) by not respecting their off-time/workhours, paying a lowball salary, giving no benefits, and poor project management resulting in crunchtime and overtime. The stress from home bleeds over into your work. Someone else mentioned something like only staying at your first company for three years max then hopping. I concur.
 
It's because a lot of companies exploit people (esp junior devs) by not respecting their off-time/workhours, paying a lowball salary, giving no benefits, and poor project management resulting in crunchtime and overtime. The stress from home bleeds over into your work. Someone else mentioned something like only staying at your first company for three years max then hopping. I concur.
Understandable, but then it is also on you to leave your toxic work environment and move elsewhere, there are lots of positions. But yeah sadly some people don't have the ability to just hop jobs or rely on it, so I see your point
 
Fair argument, but I would extend the analogy.

I would say that if you want to learn to ride a motorbike, you are going to want to learn some fundamentals of it before you just jump on. Sure there's a chance you could get it right first time, but who is going to trust you with their bike?

If all you want to do is basic web development then sure, jump on the bicycle. If you want to do software development, maybe learn some fundamentals.
Also true. I guess I was just trying to make a point, but in reality it will/should be a combination of theory and practice. I'm also biased since I've already learned some fundamentals before.
 
OP perhaps you can explain a bit more about what you want to learn and why? Do you have specific things you want to build or problems you want to solve, or do you just want to make dough?
 
OP perhaps you can explain a bit more about what you want to learn and why? Do you have specific things you want to build or problems you want to solve, or do you just want to make dough?
OP hasn't been online since creating the post, so we're all just talking to ourselves
 

Users who are viewing this thread

Latest posts

Back
Top Bottom