DEV Community

Cover image for What are the basic courses/topics a software developer should learn to start their career?
charliedeveloper
charliedeveloper

Posted on

What are the basic courses/topics a software developer should learn to start their career?

Note for devs already in the industry: hopefully this article will be helpful to you when you are inevitably asked how to get into programming as a link you can send to the interested person

So when starting to train, it is important to be using the correct resources. Luckily in the software development industry there are loads!

Assuming you want to be a full stack developer (know a bit of everything) the best place to start is Codecademy’s free HTML, CSS and Javascript courses. They are completed online and serve as a great starting point to some of the basics.

From here try and pick up a backend language, I would recommend PHP as that is what I did, but take a look at job postings in your area and see what technologies that they are looking for. This guys PHP video series is great. I totally understand that PHP won’t be for everyone but one of the benefits is that it sits nicely in between loosely typed languages such as Javascript and strictly typed languages such as C. This means it strict enough to enforce some good coding habits but loose enough to be beginner friendly. Also if you are learning on a mac PHP plays very nicely with the UNIX environment (will take a little arm wrestling to get it going on Windows although it’s getting better). Youtube videos, books and blogs are the best free places to learn this, coding bootcamps are the best if you can afford it and have the time to dedicate to it (however be very picky about which one you go to as they are not all the same).

Make sure you understand object oriented programming (OOP).

Get your head into databases by learning SQL - SQLZOO is a great resource I found useful when learning. Sequel Pro is my favourite GUI to visualise the databases you are working with and will make your life easier. If you do learn PHP use PDO to link it to your database.

Also try and learn a version control system such as Git (this video course is a good starting point), get comfortable using the command line and try and do some research on an agile working methodology such as Scrum (potential employer will be impressed).

Go to meetup and find tech meetups to do with coding in your area - this is a good way to find a mentor. Maintain an active Github (For storing/sharing your code), Stack Overflow (for requesting/giving help) and codepen (like a doodle pad but for code) accounts.

Finally research “software developer technical interviews” and have a go at some free online aptitude tests so that you are not surprised by the interview process (it’s not like other industries).

After all that you should be well placed to have a crack at getting your first gig.

Good luck! Remember to enjoy yourself while your learning otherwise you might find yourself giving up, It’s not going to be easy but it’s an awesome job if you can get it.

A note about procrastination:

Start right now! There is no time like the present. As someone who has experienced learning to code from scratch I became very aware of the negative impact of procrastination. I used to look at forums for hours, posting questions about what to do and how to do it. The truth is that time could have been spent learning. It’s the difference between loving software development or loving the idea of being a software developer - you must make a choice about which one you want to be and get cracking!

...That being said, if you are going to procrastinate then you should do it right. Here is my current favourite place to procrastinate on the internet

Top comments (9)

Collapse
 
setagana profile image
setagana

As someone who's recently made a total career switch into the field - I don't think that more dynamic languages like PHP are necessarily more user friendly than more strongly typed languages. In fact, I find the compiler to be a great source of feedback when I'm trying something weird. So I'd definitely put C# (with ASP.NET Core for web development) on the list of candidates for a first back-end language.

Collapse
 
charliedevelops profile image
charliedeveloper

Thanks for the comment! I would agree that like everything learning to code isn't a one size fits all kinda thing and each person has a preference, particularly when relating to feedback about the code being written. As someone who started with PHP but feeling myself more naturally drawn to Javascript recently I really appreciate the foundation in programming it has given me, but totally get that its not the only language that can provide it.

Collapse
 
gtuzon profile image
gtuzon

Wow! That hit me rock-solid! I appreciate the note about procrastination. I have been that "loving the idea of doing software dev" for a while now because I knew I couldnt just dive into learning different subjects and have a nice learning path. These kinds of articles, though, really help a lot to transition people from loving the idea of being a software developer into being actually one!

Collapse
 
charliedevelops profile image
charliedeveloper

its great to hear that this article might be able to help, best of luck - stick at it and remember to help people starting out when you make it as a developer! :)

Collapse
 
gtuzon profile image
gtuzon

Ohh how I wish my current work industry have this kind of really good and supportive community! I will def look back at this one day and give back to fellow aspiring devs along the way! Have a great day :)

Thread Thread
 
charliedevelops profile image
charliedeveloper

hi! Just wanted to check back and see how things are going for you since it's been a few years since you expressed interest in being a dev. How did the learning journey pan out for you?

No worries if it didn't go to plan - please don't feel obliged to respond if you don't want to, i'm just interested to see if you are a dev now!

Collapse
 
christirichards profile image
Christi Richards

Laracasts, while Laravel focused, has an amazing Object Oriented Bootcamp along with a great library of beginner to advanced PHP tutorials. It’s not free, but it has definitely been worth the lifetime membership that gets offered every once in a while.

Great article! Hope to see other developers add to it.

Collapse
 
charliedevelops profile image
charliedeveloper

Thanks Christi, great suggestion - Jeffrey Way does a brilliant job with Laracasts and definitely worth a look if considering paid for resources. We had a laracasts subscription at work a few years ago and its great for following along with.

Collapse
 
charliedevelops profile image
charliedeveloper

Thanks for the response, automata theory sounds intense but intriguing! short of just googling it - would you recommend any free online resources that would serve as good starting points to find out a little more about it?