DEV Community

Cover image for How to become a software developer (Seriously)
HeyBaldur
HeyBaldur

Posted on

How to become a software developer (Seriously)

Let us define what the heck is a software developer today. In this post I will walkthrough you about what a developer (let’s omit the word ’software’) is and how to determine if you are one of them and potentially how to become.

I want to let you know firstly that becoming in such thing is not easy at all, specially right now, it will take time… A LOT! Maybe you are student at college, university, taking courses, well, that’s fantastic! But let me tell you something, NOBODY cares about your diplomas, at end, you will need to show your skills in a technical interview, no matter what.

Now! After this big uppercut punch, let’s go to what is important.
You will have to enjoy learning, this is the rule number one. Why? Well, that’s because technology doesn’t have breaks, have you ever seen those memes about iPhone 1, 5, 20, 85 and so on… well, same happens with technologies, today you know something, one way to do it and tomorrow is totally different, this is usually called ’versioning’.

Once said, you will have no problems at all, but here is a bunch of things that you must know religiously.
Source control.

Please, don’t expect that interviewers are going to ask you this, they will assume you already know it. Must developers, teams and projects use git or TFS. Preferably git. Investigate, learn it. This is important. Here is a good resource to learn

https://www.atlassian.com/git

Databases.

Most developers must know at least one database, SQL, MySQL, Mongo… in my case I love SQL and Mongo, both are fine, however this is quite important because is where all your information will be saved.

If you are learning SQL, good! Find some technical interview questions and try to understand why they are asking such questions. This is not just SELECT (ALL) FROM, blah blah blah, no learn serious things, do follow tutorial that say ‘How to create a SIMPLE table’ better find a tutorial that says ‘How to create a table and… so on’, majority of developer’s duties don’t include creating a simple table, that doesn’t exist!

OK! I don’t mean you will never create it and you never learn the basics, but once you know that basics go forwards.

https://learn.mongodb.com/
Learn SQL

Choose a programing language.

I have chosen C# and JavaScript, because I love them, both provide me the flexibility I want in different scenarios. For the back-end I work with C# and JavaScript for the front-end. I love Angular BTW.

Lean Angular or React! (I am not big fan of React)

These two are very high well demanded. For both you will need to know JavaScript, and potentially Typescript.

JavaScript
typescriptlang

You’re welcome!

Did I mention Angular? You will also need to know this two guys

ngrx
rxjs

If you are still alive after learning these things here is your dessert graphql

Style your app

This is something you can learn in way, but we cannot ignore it

CSS
SASS

Design patterns

This another crucial part of your developer path. Hey! Guess what! Universities don’t teach this! Amazing!

design-patterns

Security

I am tired to say this is important! Everything is important! Just learn things from this website https://owasp.org/www-community/attacks/xss/ we also need to fight against hackers! We make sure the software is secure.

*Let’s move to API! *

Ok ok! You can work the backend without learning other programming language, that’s up to you! But if you want to be a demanded software developer (GOOD resource). You might always choose C#, JAVA, Python or any other you feel comfortable.

https://dotnet.microsoft.com/en-us/learn/csharp
https://dotnet.microsoft.com/en-us/learn/aspnet

Microservices

https://dotnet.microsoft.com/en-us/learn/microservices
https://docs.docker.com/get-started/
https://kubernetes.io/docs/tutorials/kubernetes-basics/

SCRUM and Kanban

Learn agile methodologies!
https://www.atlassian.com/agile/tutorials/how-to-do-scrum-with-jira-software

This is something you will deal every day of your life.
And finally!

Learn technical interview questions and make practical tests also, hackerrank is good resource to have an excellent headache.
https://www.hackerrank.com/
Now, if you manage in decent percentage these things! Congrats! You are software developer! Companies will be happy to hire you! BTW there were the basics. There much more I didn’t mention in this article like Azure, AWS, Unit Test… and so many other things! But you will figure out later!

If you got to here, maybe you are wondering, why I must know all these things, well, it is because ‘we’ as developer, compete between each other, to get a project, to get a better position, to have better wage… among other reasons.

Well, I hope this article has given you a better perspective about what is a software developer! FROM my point of view and experience.

BTW check my GitHub maybe there will something you find interesting!

Thanks for reading and happy coding!

Top comments (2)

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
bcostaaa01 profile image
Bruno

Programming everyday until you actually what you’re doing LOL