The making of a software engineer (My personal take 16 years into it)
No one is born a software engineer; that title still needs to be fully understood, yet software engineering is still being defined, and we are still trying out methods that may be called engineering one day. Nevertheless, this post is for those who want to become Software Engineers.
People are not born with a tendency to become software engineers. We are trained to become one; more important than training, we build our way into the field.
Since my 3rd year in this field, I have been training new engineers and helping them get into coding for a living. The number one factor of success in breaking into tech is not loving computers, being intelligent, or even being young. The number one factor of success is how much practice they put into learning how to code and how much they continuously push their current knowledge to the next level.
I was known to be a hard-to-deal-with teacher, and for long years, our field became “Easy to enter” and got me thinking I should stop pushing my “students” too hard. Now, the time for quickly getting a job after a 6-month boot camp with React and Node.js is ending, and my advice is making more sense again.
Here is one of the most important among them: if you do not have a coding job yet, code for at least 4 hours daily in your spare time.
Code a tutorial in one day, the next day, and change it to something more than the initial proposal.
The next day, code the automation tests for it.
And the following code is the CI automation for it. Finally, Code the deploy script. Deploy to a cheap hosting and show your friends.
When you are able to build basic systems, like logins, CRUDs, and Lists, start making more complex systems, like a Calendar component, Charts, and drawing canvas.
Have you got used to that? Start building more backend systems, like processing data in a batch, using queues to manage demand, and using caches to make the processing faster.
Try something more complicated: Create a simple desktop Text Editor or a mobile app to transfer data via Bluetooth.
Find/create excuses to code every day, and go creating new, more challenging things every week/month; soon, you will be among the top players in this field. Don’t stop when you get your first job; keep coding aside from work to try new things and code something in a different language or platform.
If you already have a job as a training, take at least 1 hour a day to study something for your job DURING THE JOB, when you are training, or junior, expectations are low, use that in your favor and learn something every day, apply it to your day to day as a developer.
Software engineers are made, which means you have to make yourself an engineer; that is no one’s responsibility; you suffer the process and enjoy the results a few years later.
- What Makes a Great Software Engineering Team?
- Lessons for Software Developers from Ramon Dino's Result and the Arnold Ohio 2024 Event
- Consulting to Fix AI-Created Software May Be Our Next Big Opportunity
- The making of a software engineer (My personal take 16 years into it)
- Secrets for becoming a better developer in 2024
- Nun-db Chaos Testing with Docker and Toxiproxy
- My Thoughts about On-Call Compensation and Scheduling for Small Engineering Teams and Companies
- Turning Failures into Success: How Overcoming Challenges Fuels Software Engineer Growth
- Secrets for becoming a better developer in 2022
- Argo workflow as performance test tool
- How not to burnout when working on hard problems as a developer
- Are you working remotely? You should be ready to hit the road at any time in 2022
- Secrets to becoming a better remote developer 2021 edition
- Secrets I use to becoming a better remote developer
- Are you working remotely? You should be ready to hit the road at any time
- Productivity Trackers I use (as a developer working remote)