# Six stages of a good software engineer Page: https://stenobird.com/podcast/the-backend-engineering-show-with-hussein-nasser-847440/six-stages-of-a-good-software-engineer Text version: https://stenobird.com/podcast/the-backend-engineering-show-with-hussein-nasser-847440/six-stages-of-a-good-software-engineer.md Podcast: [The Backend Engineering Show with Hussein Nasser](https://stenobird.com/podcast/the-backend-engineering-show-with-hussein-nasser-847440) Published: 2024-11-01T09:27:00+00:00 Episode link: https://podcasters.spotify.com/pod/show/hnasr/episodes/Six-stages-of-a-good-software-engineer-e2q5j2l Audio file: https://anchor.fm/s/1eb6d14/podcast/play/93555221/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2024-9-26%2F47f50694-a7ac-cda4-66f6-6163f77ab727.m4a Processing state: not_requested JSON: https://stenobird.com/v1/public/podcasts/the-backend-engineering-show-with-hussein-nasser-847440/episodes/six-stages-of-a-good-software-engineer Duration seconds: 2367 ## Resource 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 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? 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. 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. Try to build something better This one is optional… ## Actions - request_transcript: `POST https://stenobird.com/v1/public/podcasts/the-backend-engineering-show-with-hussein-nasser-847440/episodes/six-stages-of-a-good-software-engineer/transcription-requests` — Idempotently request low-priority transcript generation for this episode. - read_markdown: `GET https://stenobird.com/podcast/the-backend-engineering-show-with-hussein-nasser-847440/six-stages-of-a-good-software-engineer.md` — Read the agent-friendly Markdown representation of this episode resource. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.