Look into CS50 by Harvard. Free and will teach you all the fundamentals that's needed to start your career in software development.Hi Everyone in looking at getting into development , what would be the best way to go about this , TIA
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.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:
- 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.
- PHP - This is still one of the most widely used backend languages and hard to master.
- 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.
- 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.
- C++ - Go to language for game development.
100% this.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.
This is also good info I would listen tooGoing 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 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.
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.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.
Started 3 weeks ago and already has strong opinions on software development; you already have the mindset of a basic developerAccounting for inflation you probably earn the same as your insurance job
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
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".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
Fair argument, but I would extend the analogy.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.
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.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
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 pointIt'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.
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.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.
OP hasn't been online since creating the post, so we're all just talking to ourselvesOP 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?