I saw a tweet and had a brief reply that I wanted to spend some time expanding on here.
Working with young people
Mentoring, advocating, answering forum questions, helping your cousin, helping your friend’s child get through with their homework two days before it’s due, I’ve been able to do versions of all of those things. At the time, when the request for help comes in, you can often easily say, “I’m too busy doing real stuff”. But the pay off? It hits in unexpectedly poignant ways. I’ve seen that genuine smile of satisfaction from getting code to work for the first time enough times that it’s carved a pattern out in my mind. It’s called the Stay Fresh Pattern. In exchange for shining a light for new entrants to the field, it feels like it keeps things fresh in my own mind. Not just about my understanding about the technology, but about the way our knowledge of tech can make the world a better place.
Doing new things
Tech professionals who seek out new challenges regularly are more likely to avoid complacency and the feeling of being stuck in a routine. I wouldn’t say I regularly sought out new challenges. Oftentimes, they found me. Might be an article about some new platform, or an invitation to participate in a hackathon, or a new idea to deliver an existing solution. In this regard, perspective matters. Working in tech for any extended period you start to see the cycles. When technologies that were roundly accused of being old and outmoded get a new life and become the new next best thing.
Avoiding becoming jaded from those things really means being able to look at even the tech you’ve worked with for a number of years with new sight. That generally means doing things that feel uncomfortable - where you’re not quite sure if you’ll be successful. I have done this by trying (and failing sometimes) to mix domains, to take something I saw in Python and work it in to a .Net project. To attempt to use patterns I’ve seen in AWS on Azure, or vice versa.
Having a career with regular growth
I think leading Teleios Code Jam with my colleagues had meaningful impact on me and where I would find myself even today. It wasn’t my primary focus by any stretch of the imagination, but it had an outsized impact.
It caused me to learn leadership, management, and advocacy. We needed to crisscross the country to get schools and students involved. It made my work have a point of resonance outside of the office and sometimes, it was even fun.
Beyond that, my team and company were dedicated to exploration and excellence. We were actively learning how to write software better by being tested in production. And while we refined our expertise we learnt about new platforms. I didn’t care for certification exams, but working at a company that obtained Microsoft Gold Partner designations several times, meant doing a few certs every few years. It wasn’t a bad trade. It also meant ready access to newer aspects of the Microsoft and Azure stacks.
Finally, I taught. Mobile Engineering, Internet Technologies, Cloud and Distributed Systems. All with the goal of actually learning myself more deeply about the spaces.
Career growth for me required deliberate engagement with the technology, opportunity and community around me.
Understanding how your work contributes to the bottom line
This one is both simple and not so simple. It’s about understanding the connection between your work and the economic value that work produces. A while ago, I had shared some ideas on this concept of “coding for free”. Not every line of code written can have a dollar-value attached to it. But once you’re involved in coding or development as part of your work, you should deliberately understand how it adds value, and then how you can play a role in increasing that value.
One time, I built a management app for a server system my team was working on. It featured 3 forms, opened by three custom buttons. A red button to stop the server, a green button to start the server and … you guessed it, a yellow button to configure the server.
I was extremely proud. Like, it was the best thing. I brought the traffic light aesthetic to a application server. Thankfully, before I released it to the internal team who needed to actually use the app, my colleague pulled me aside and pointed out why, just why it was a pretty bad idea. His intervention saved me. To me, over the years, I’ve had great ideas that turned out to be lame and ideas I thought was lame that my team helped me convert into amazing solutions. Team for me has been a myelin sheath around my impulses. Team kept me healthy, balanced and enabled me to keep moving forward. Those are some of the attributes I think should drive what you look for in a team as you build a career in software development.
I was happy to ponder on what helped me build over the years and look forward to other stories about building a sustainable career in technology and beyond.