In a week and a half I will be the newest Senior Developer at a local manufacturing company. In a career path where most developers are seeking software development companies, it's probably not surprising that I'm one of the ones going the other direction.
My career has been focused on development, but not necessarily on writing code.
I've had opportunities ranging from leading infrastructure projects to re-learning Unix on the fly during an on-site systems integration, building out virtual environments, performing systems architecture analysis, and generally any of a dozen different, tangential IT functions. I've had a tendency to take ownership or lead roles, requiring project management skills, requirements gathering and analysis, and communications skills. Of the over 70 projects on my project log, 50 were projects that I had a lead role in or was individually responsible for.
It's probably more accurate to say I have made a career out of improving processes and providing business solutions.
The Last Move
I like to think I am above average as a developer, but I had been working as a generalist for so long that I felt I needed to sharpen my technical development skills and seek new opportunities to expand architecture and toolset experience. Taking a role as a pure developer in a software development company seemed to be the right move to achieve that goal.
Over the past year and a half I have rarely been responsible for more than a task at a time, working to the design (or lack of design) of others. Along the way I had to recalibrate myself to accept a different level of quality than is expected in real-time environments like manufacturing and change my mindset into more of an operational one rather than tactical or strategic. There were a few new tools, such as Entity Framework, and tools I was able to build more experience with, like unit testing, but for the most part I found I was simply using skills I already had and, in some cases, ignoring skills that were of less use as a team member than they had been as an architect, analyst or team lead.
Not to say the experience was bad, it was just different. That difference provided contrast that helped me better evaluate my past experience and roles against my own internal requirements. Eventually I realized I missed the opportunities that accompany roles with more responsibility.
Though I can't speak directly to the type of work I'll be doing yet, I can already tell there will be a whole new set of opportunities and skills to learn. The company has high standards for quality and usability, a business model that encourages development of individuals and processes, and once again I'll have opportunities to help build and improve a company's core processes.
And no, I haven't decided whether I'll be standing or sitting at my new desk.