How to Become a Software Engineer!

Curious software engineer
Search for a command to run...

Curious software engineer
Learn how to use the internet
Totally agree with that! Google is a tool just like any other tools you already use, yet many of us fail to see it that way. Of course one should never copy and paste stuff from internet without understanding it. As long as you know how to Google to get information/solutions, and understand the rationale behind it before using you should be fine.
I agree to this statment. There presented so many things on this planet which can yield out better results by a correct use of them ⭐
In this series, I will treat subjects related to software development, software engineering, and related career.
Perseverance is a necessity. If you don't have any perseverance, you will never get value from anything. To me, the key to success is the team. There is a saying that says: If you want to go fast - go alone! But if you want to go far - go together....
It’s the summer holidays, after all. So I wanted to spent some time with my 7 years old daughter to teach her programming. ⌨️ I spent some time before discussing with her some of the basics concept verbally: the different parts of a computer, and bas...

This article is a follow up on my previous one introducing the concept of SE Spectrum: https://sonny.alvesdi.as/a-better-way-to-discuss Existing solutions For long, the easiest way to run a spectrum was to use visual drawing or diagram tools like ...

Introduction to SE Spectrum

One of the greatest tool available on GitHub is Dependabot. For those not familiar with it, in short it's a bot reviewing your list of dependencies and proposing PRs to update them. https://docs.github.com/en/code-security/getting-started/dependabot-...

Photo by Harli Marten on Unsplash As long as I remember I have always been interested by skepticism. And I think one element that really resonated with me has been that conference talk by Phil Plait: https://www.youtube.com/watch?v=FrFRbGjUtJk 15 ...

I wanted to share my point of view on the question based on my personal experience. But better be clear straight away, it will take time!
Prerequisites:
A computer
Perseverance
A lot of time
Here are the steps I went through and that you should also:
Learn how to use a computer. It may sound easy or obvious to everybody nowadays. Yet, I still encounter people sometimes asking me advice on how to learn to program and they don't even know how to make a screenshot. Here is a list of what are the essential things you need to be able to do with your computer:
Copy/Paste Obviously
Make screenshots and optionally make video screen captures
Use the webcam and the microphone Essential for communicating with others
Create an empty text file to take notes for example
Make space on your hard disk by cleaning junk files or others or backing up files on other storage space
Install and uninstall an application you need tools to code
Organize your Documents folder
Use an Office-like suite Excel and Word at least are a must
Print and scan
Learn how to use the internet. You absolutely need to know how to find information on the network. The internet is built by computer scientists. And they are everywhere discussing, sharing, and helping other computer scientists. So you must know how to take profits from that.
Use Google
Use ChatGPT and other LLMs
Send emails and filter spam
Register to a service
Connect to Wi-Fi network
Learn Markdown, HTML, CSS
Think of something you would like to do
Really think about it twice
Start to research. Collect resources on how to realize this idea and how others implemented similar ideas. For me, it was a dynamic website. I was part of online communities and wanted to contribute. I made research and at the time, the stack WAMP was pretty popular to build websites. Almost every website was running with PHP. So I found this website with a lot of tutorials and documentation on PHP. I basically printed all the pages and started reading line by line the code in the examples. I remember it was difficult. I often couldn't understand. But with perseverance and forcing me into actually achieving something, at some point... I started to feel more familiar and confident. Also, leave the most difficult concepts aside, start small. In my case, I remember deciding to leave PHP4 and OOP aside to focus on using PHP3 which was still popular, easier to use, and procedural only.
Do it. Based on your research and collection of resources, do it. Do that thing you wanted to do. For me, as I mentioned it was a PHP website.
Release it. I made a lot of websites, instead of doing my homework TBH haha. I learned two things from that. First, releasing early or at least getting feedback early is important. I abandoned several projects after spending a lot of time on them trying to make them perfect. Because after showing them I was not getting any traction or excitement from the client or users. Second, getting adoption and seeing users actually using your product is just amazing! On top of that, you will start to get recognition.
While(true) repeat(); If you passed step 5 you know what I mean. you understand that now it's a matter of repeating the process. Learn, gather resources, experiment, develop, release, etc.
(Optional) Go to University or Training class. As someone who has a Master of Computer Sciences, I can tell you that this is really optional. You can be a software engineer without going to universities, as long as you are disciplined enough and practicing a lot. Practicing, not just making tutorials! Don't fall into the Tutorial Trap. What universities could bring you though is a network (people you may work with/for), the discipline you may lack, a greater general culture, and improvement of your soft skills.
If you are a software engineer, share your path in the comments! Your one piece of advice! If you are willing to be to become a software engineer, you know how now. Don't hesitate to share your work and difficulties in the comments below or the community in general!
Photo by Serge Kutuzov on Unsplash