๐ง๐๐ผ ๐๐ฎ๐ฐ๐ธ๐ฒ๐ป๐ฑ ๐๐ฒ๐๐๐ผ๐ป๐ ๐๐ฟ๐ผ๐บ ๐ ๐ ๐๐ก๐ ๐๐ป๐๐ฒ๐ฟ๐ป๐๐ต๐ถ๐ฝ
I spent months at HNG writing backend code. I broke things and fixed them. Two tasks taught me the most. One was solo. One was with a team.
I built a backend for a product called Insighta. The backend served two clients:
- A command line tool (CLI).
- A web portal.
Browsers use cookies. Terminals do not. The problem was not the API. It was the security model. Both clients needed to trust it.
I used GitHub OAuth and PKCE. The CLI starts a local web server on your machine. This server is the redirect target for GitHub. The CLI then exchanges a code for a token. Tokens go to a credentials file. File permissions stop other users from reading them.
This task taught me to read specs. I stopped copying patterns. I built a flow based on the rules.
I worked on a project called SEIL. My task was session management and account lockout.
Individual endpoints worked. The full flow failed. I found gaps in the team code:
- Registration wrote Redis sessions.
- Login did not write sessions.
- This caused 401 errors during logout.
- The refresh endpoint missed cookies.
I fixed these gaps. I added cookie parsing. I made token issuance always write to Redis.
I read teammate code first. I walked the full user path before writing a single line.
Team bugs live in the gaps. Assumptions disagree. Everyone is right. The product is still broken. Strict discipline kept the codebase sane.
These two tasks taught one lesson. Do not trust things working together only because they work apart. Walk the whole path yourself. This instinct is my best lesson from HNG.
Source: https://dev.to/ibraheembello/two-backend-tasks-from-my-hng-internship-that-stuck-with-me-ibe