DiscoverThe Backend Engineering Show with Hussein NasserSix stages of a good software engineer
Six stages of a good software engineer

Six stages of a good software engineer

Update: 2024-11-01
Share

Description



You get better as a software engineer when you go through these stages.




0:00 Intro 


1:15 Understand a technology


7:07 Articulate how it works


15:30 Understand its’ limitations


19:48 Try to build something better


27:45 Realize what you built also has limitations


32:48 Appreciate the original tech as is









  1. Understand a technology 


 We use technologies all the time without knowing how it works. And it is ok not knowing how things work if interests isn’t there. But when there is interest to understand how something works, pursue it. It feels good when you understand how something works because you work better with it, you swim with the tide instead of against it. 




When I learned how TCP/IP work..  you would appreciate every connection request, how you read requests. You will ask questions,




 what is my code doing here? 


When exactly I’m creating connections?


When am I reading from the connection? 


Is it safe to share connections?







  1. Articulate how it works


This one is not easy, you might think you understand something until you try to explain how it works. If you find yourself using jargon you probably don’t understand and you just try to impress others. Have you seen people who want to talk about something to show they understand it? It’s the opposite. Try to truly articlate how it works, you will really understand it , back to 1.




I thought I understand how backend reads requests until I tried to speak to it. 





  1. Understand the technology limitations




Once 1,2 are done you will truly understand the tech, now you are confidant, you are excited about the tech and you will truly see when you can use the tech to its full potential and also know the weak points of the tech where it breaks, this happens a lot with TCP/IP. We know tcps limitations. 





  1. Try to build something better


This one is optional and can be skipped, but attempting to design or building something better then the tech because you know the limitations will truly reveal how you became better. But the challenge here is the ego, you might understand the limitations but you problem is thinking that what you will build is flawless. This step must be proceed with caution. 





  1. Realize what you build also has limitation


Dust settles.. this step hurts, and you may take a while to realize it, but whatever you build will have flaws… and when you realize this it is when you get better as an engineer. 





  1. Appreciate the tech as is


This is when you are back full circle you are back to the first stage, look at the technology and understand it but don’t judge it.. just know the limitations and its strength and flow with it. Stop fighting and instead build around a tech, does that mean you shouldn’t build anything new, of course not. Go build, but don’t stress around making something better to defeat existing tech. But actually build it for building it.



Comments 
loading
00:00
00:00
1.0x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Six stages of a good software engineer

Six stages of a good software engineer

Hussein Nasser