A little over one year ago, I accepted an offer to start my career as a software engineer.
Since then, I’ve continued my growth as a member of an infrastructure team responsible for an analytics pipeline for online advertising. The daily experience of working alongside mentors and teammates has been invaluable to my continuing development. With their patience, support, and feedback, I’ve been able to achieve much more in the last year than I could have in relative isolation. Software is about people, and I’ve been fortunate to learn from some of the best.
Technically, my work has led me to immerse myself in analytics SQL, Amazon Redshift, and Java. Over the past year, I’ve grown from zero experience into a position of production responsibility. I was honored to learn from good teachers of analytics SQL, who also gave me the opportunity to share part of my experience on the team’s blog (see: “Writing Analytics SQL with Common Table Expressions”). I’ve particularly enjoyed working towards practical mastery of a distributed database with Redshift, and, after starting my programming journey in Ruby, I’ve appreciated the contrast of working in Java’s type system. Although I’ve learned a great deal so far, I intend to push myself far further in 2015.
The most challenging and beneficial lessons, however, haven’t had anything specifically to do with computers. In fact, the biggest challenge so far has been becoming a better communicator for humans. In my new environment, I found that the style that I cultivated as an academic will rarely profit an engineer and a businessperson. I needed to learn to adapt myself to the needs of a wider range of audiences and personalities. For me, the greatest adaptation has been a focus on concision in speaking and writing. Nuance, subtlety, and context are valued in business as well as academia, but there are fundamentally different constraints and expectations for their expression in these two settings. While I suspect that learning to better modulate my thoughts to the needs of others will be a lifelong process, I can also recognize that I’m making progress.
In 2015, I am continuing my journey to become a great software engineer. I hope to share more from that journey through this blog.