Freelance
Before my first job on a software team, I did freelance frontend work alongside an experienced software engineer who was already delivering software for international clients. He took in the client work and delegated the simpler frontend tasks to me, keeping the more complex engineering for himself. My job was to implement those features correctly against an existing codebase and to his standards, learning from his review and feedback.
This chapter is not about technical complexity. I did not own products, architecture, or technical decisions. Its importance is that it was where I stopped studying programming and started doing professional software: my first exposure to how real projects are built, reviewed, and delivered. That foundation is what let me contribute quickly once I joined AQTech.
Varied client work. Because the projects came through another engineer and rotated by client, there was no single industry domain, and the domain isn't the point of this chapter. What mattered was the practice of building software professionally, not the sector it served.
- —Implementing frontend features against an existing codebase.
- —Fixing UI issues.
- —Following an existing architecture and its conventions rather than defining my own.
- —Collaborating with a more experienced developer and incorporating his review.
- —Learning Git and professional development workflows.
- —Understanding delivery cycles, and that software is built, reviewed, and shipped, not just written.
- +Learned Git, branching and professional delivery workflow from zero.
- +Internalized code review as a learning tool, a principle I still hold.
- +Shipped production features within weeks of starting, working inside an existing codebase to another engineer's standards. That foundation is what made my ramp-up at AQTech fast.