Most everyone now knows that I resigned my Design Engineer position at ADTRAN to accept the Senior Software Engineer position at the shiny new start-up Omicron Research. It was a tough decision to leave a steady job that kept me dutifully employed for seven and a half years. There are a lot of folks I will miss, but I think it’s time I moved on.
Currently my career goal is to be a software architect (my resume claims I’m an architect because in many respects, that’s the role I function in at ADTRAN) particularly in web-based technologies. After getting turned down twice for architect roles here in town, I decided that maybe it’s just not yet my time. I would have stayed at ADTRAN until the opportunity manifested, but I felt that I wasn’t growing enough to be ready when that time came. Hence, I have eschewed telecom and the JVM for this start-up where I will work on department of defense projects in C#/.NET. Much thanks to company president, Greg, for convincing me to take this next step in my career. The change in domain and technology will prevent me from being pigeonholed and give me a better shot at getting an architect position. I will also be familiar with other stacks so no one will think I’m a JVM-only guy.
So an architect, huh? Well, let me make it clear how I plan to satisfy such an ambiguously-defined role. In my mind, a project’s architect is the best developer on the team. He can see the big picture to make the architectural decisions, but also know how to get in the trenches to make stuff work. For starters, I love writing code and I don’t plan on finding some role where I stop doing that. Secondly, I believe it’s vital for an architect to fully understand development in that architecture so he knows how to best serve the rest of the developers on the team. Developing an awesome, scalable architecture that isn’t conducive to developer productivity ain’t no good. Perhaps I just want to be Lead Developer. Whatever… I’m not here to quibble over titles.
In that case, why don’t I just stay where I’m at? Well first, I really believe in these 10 steps on becoming the developer everyone wants. Tip number 3 is to not stay at a job for 10 years. I’m getting in that general vicinity with my seven and a half year tenure. Secondly, ADTRAN is a hardware company, and they’re very good at what they do. However, I want to join an organization that shares my passion for producing high-quality cost-effective software. While software now plays a vitally important role in ADTRAN’s future viability in telecom, it’s still a second-class citizen in the culture at ADTRAN.
I’m very excited about this new chapter of my development career. While I will be eventually learning C#/.NET, I’ll start off working on a Java project they inherited since I’m going to be their best Java guy right off the bat. I can’t wait to show Greg how quickly I can produce value; hopefully his head will spin. I don’t know how much I can talk about what we will be working on, but I can say that people could die if my software isn’t right. Not that I want to play God, but I like the thought that my stuff has to be good. I want to work on something that is important. Just to give a hint about the culture I’m expecting to enter, Greg once gave a talk on Haskell at HuntFunc. I love the thought that the president of my organization is as interested in code as I am. Greg also shows genuine interest in my career, so I trust that he will give me opportunities to grow into the role I am pressing towards. Oh, and yes, we are hiring.
This should help folks understand why I’m leaving. It’s not meant to be negative towards ADTRAN at all. I hope that folks who will be missing me can share my excitement for this new opportunity I have been blessed with.