A colleague from my last job found me on LinkedIn the other day. It was good to hear from him as he moved to Texas and I would never have found him (lost his contact info.) He told me that he was getting tired of writing software.
Let me give you a little background. We worked together at Lockheed in Owego, NY. Owego’s kind of in the middle of the nowhere called the Southern Tier of New York, close to the PA border. Most people call it Upstate New York, which is the 99% of the entire state that’s not New York City or Long Island. The work at Lockheed was embedded software – writing flight display code for the VH71 Presidential Helicopter. It sounds pretty cool and some of it was fun, but writing this kind of software is different from other work I’ve done. There was a very rigid process called DO178B, which is for flight quality, defense contractor oriented embedded software. There are processes that cover the preparation for writing code, writing code, testing it, fixing it, logging that you wrote it, tested it, and fixed it, etc. The type of code you can write was also different. Straight C, no C++, no dynamic memory allocation (only pre-allocated memory). The environment was working in a building where even the access to the parking lot was by keycard. You had to log your work hours – not eating your lunch while working at your desk wasn’t a work hour – and had to work 40 hours a week, no more, no less, unless approved for overtime.
In my career, I’ve worked for 5 different companies. The first four were all very different in personality and environment, but shared the same kind of applications and work – writing object-oriented code for computer aided design software. T-shirts, jeans, and shorts were the dress code. Nobody looked at your hours of work. Lots of teamwork. When I finally decided that I wanted to try something different, I went down to Lockheed. Man, was that a different experience for me. The thing is, it was good for me. I saw different kinds of work being done in a different environment for different customers for a different application domain. For a while, when there was plenty of work to be done, it was fun, too. It was something different to learn and wrap my brain around. I had grown tired of writing the same software for 19 years, so I needed a change of venue.
Eventually, you may get to the same point in your career, sooner or later than I did. Consider a change. Here are some ideas:
- Pick a different application domain. E.g. been writing financial software? Try engineering software.
- Try a different sized company. Tired of the the big corporated nonsense? Try a small startup for it’s own brand of nonsense.
- Tired of wrestling with C++? Learn Java, C#, or Python and get a different job using that technology.
- Tired of writing software at all? How about a move to pre-sales support, management, marketing, application engineering, training, documentation (technical writing)?
The thing is that there are many jobs associated with software that don’t just involve writing software. What you’ve learned about the business as a whole in your job in software is transferable to other aspects of the business. Before you give up on software entirely, see if there’s a way to freshen up your career with a change in venue.