It has nearly been a full year since I've last written, and a lot of things have changed. I'm still at ClassPass, and I now hold the title of Director of Engineering. Wow! Huge difference from a year ago. How'd I get here?
I put myself out of my comfort zone
I've learned a myriad of skills that I normally wouldn't have bothered to touch, from picking up Python to wrangling Ruby, to scaling PHP through the muck of 5.2 to 5.6, to seriously considering Node.JS as a production stack and not a toy.
I've applied myself to improving
Prior to ClassPass, I've always had a loose understanding of the "full stack", and understood how pieces moved together, but always trusted somebody else to rig the entire kit together. Moving to a startup, there is no "somebody else" to put the stack together, and I had to buckle down and apply myself to figure out how its done, and more importantly, do it correctly.
I've reached out to mentors and community
I wouldn't be this far in my career if it weren't for the guidance of @snipeyhead and @uberbrady, amongst many other friends. Although neither one of them work with me (anymore!) nor do they sit next to me slapping my wrist, their encouragement, advisement, and caution instilled me with a fantastic baseline to really start and own my own career path. I can never thank them enough.
I've also been making more active strides to go out to more community events such as Queens.JS to get to know professionals near me, to get more involved, and someday, hopefully, to speak at. Though the thought still terrifies me... see point #1.
Open source is a two way street
I've benefited from the work of so many open source projects, 2014 was the year that I began to contribute back as much and as often as possible, from documentation edits to standards linting, to at times full fledged feature patches. The open source community has been very kind to me, returning the favor not only exposed me to alternative viewpoints not in my office, but tilted the software karma scale a little bit more in my favor. I hope.
Trust can be gained from failure, too
Failure is an intrensic part of software development. One of my favorite descriptions of my career is simply that "It doesn't work, until it does; hope that you understand why." Things break all the time! Patches can sometimes break other work, or regressions can fix old bugs inexplicably. The important part is embracing these truths, and having a plan for when things fail. Earlier in my career, I'd be afraid to take risks for fear of breaking core business. With a proper risk matrix, and a firm understanding of my role in ensuring quality, risks become quantifiable and actionable. It no longer becomes scary because you have a plan, mitigation, rollback, and criteria for success. And if you don't succeed, your execution of recovering from failure and your ability to express what happened and why helps generate trust, too.
The past year has been full of learnings and massive advancements. I'm looking forward to a new year, a new me, old friends and new alike, and what the future in tech, in my career, in life, may hold.
A special shoutout to @miketalonnyc, for without him calling me Grover, well, I just don't know where I'd be.