How to become a software developer (Seriously)
Tags: webdev, tutorial
Published: 2023-02-01 11:05:00

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](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/](https://learn.mongodb.com/)
[Learn SQL](https://www.freecodecamp.org/news/learn-sql-free-relational-database-courses-for-beginners/)

**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](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
[typescriptlang](https://www.typescriptlang.org/ 
https://angular.io/)

_You’re welcome!_

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

[ngrx](https://ngrx.io/)
[rxjs](https://rxjs.dev/)

If you are still alive after learning these things here is your dessert [graphql](https://graphql.org/) 

**Style your app**

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

[CSS](https://developer.mozilla.org/en-US/docs/Learn/CSS)
[SASS](https://sass-lang.com/guide )

**Design patterns**

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

[design-patterns](https://refactoring.guru/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/](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/csharp)
[https://dotnet.microsoft.com/en-us/learn/aspnet](https://dotnet.microsoft.com/en-us/learn/aspnet)

**Microservices**

[https://dotnet.microsoft.com/en-us/learn/microservices](https://dotnet.microsoft.com/en-us/learn/microservices)
[https://docs.docker.com/get-started/](https://docs.docker.com/get-started/)
[https://kubernetes.io/docs/tutorials/kubernetes-basics/](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](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/](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](https://github.com/HeyBaldur) maybe there will something you find interesting! 

Thanks for reading and happy coding!