To become a Software Engineer you will have to go into a journey of learning and practicing. So first things first, let’s make sure this is what you want. If all of the following premises apply to you then you are in the right place:
- I want to learn about Computer Science.
- I want to understand Programming Languages
- I want to be able to design and code complex systems
- I want to do more than creating a website
- I understand it will take more time.
Does this mean I won´t learn how to make a website? Will I have to study a lot of Math & Physics? Do I have to learn to write in binary code hello world? No, No and No, but here is hello world in binary just in case you are curious -> 01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111 01110010 01101100 01100100
So, If you were going to a college for a CS Degree then yes, you would have to endure the Math and Physics classes and get through a lot of stuff that (in most cases) are not essential to our working field. Instead, here we will focus only on the pragmatic stuff. The knowledge we need to get in order to understand: logic, programming, designing, and all the fields that we love as Software Engineers.
More than 50% of what you learn in CS Degrees is not directly related to your working field. That does not mean it is not useful, just not essential for our goal.
OK, now you should feel motivated and hungry for the next steps, right? We are not going to dabble around science topics, we are going to focus on useful knowledge and get some solid foundations for our career. So, where do we start? Of course, we start with Logic. Algorithms to be more precise.
The first and most important step, in my opinion, to see whether you like programming and engineering is to learn and write some algorithms. And don´t be discouraged I´m not talking about difficult algorithms and weird searches that no one ever codes by hand anymore. I´m talking about basic logical flow and instructions that the computer can understand no matter the language we end up implementing them on.
If you liked what you read so far and really want to dive right into learning, follow to the next post where we start talking about Algorithms, Variables, and Logical Flow.