One of the best parts about working for the small manufacturer was that the breadth of projects was astonishing. This gave me experience working with all manner of technology, both legacy and cutting edge.
I had been under the impression that the truly cool stuff would take place exclusively at the larger companies. After all, they not only had the resources to make stuff happen but also the surface area of problems and the need to require innovative and interesting solutions. I believed that I’d be working to push data around here and there, maybe display stuff in Excel once in a while.
I wasn’t entirely wrong. There is something that has held true at every level of my career, in every position, and that is that data is going to be generated and it has to go somewhere. Businesses live and die on their data and data management, and I suppose that makes sense. It just used to look like big filing cabinets and rolodexes and the like. Now it looks like people like me, muttering under their breath at the computer.
I did not anticipate that there would be calls to do some truly interesting things like hooking into industrial equipment to do real-time monitoring or writing my own small language to solve a specific problem. On the opposite end of the spectrum were the more mundane business requirements that were way higher up the abstraction chain like building a customer relations management suite of tools and figuring out interesting ways to integrate all of the data that we had on hand to display super useful stuff.
By the time I left that job, I had experience troubleshooting parallel processing issues, working with TCP communication (sometimes on outdated protocols with scant online documentation), serial port communications, normalizing databases, writing front ends, constructing useful APIs, and so on.
These are things that I really haven’t seen since moving on and, at times, I really miss the variety. The scope of the problems that I solve has narrowed considerably because quite a bit of what takes place in larger companies seems to be moving ever larger parcels of data through various applications.
There is also significantly less freedom to select my own tooling and approach. At that job, nobody really knew for sure what it was I was doing because they were a Microsoft shop from the VB6 era. The only direction that I had from my boss with regard to greenfield projects was to make sure it was well-documented enough that nobody would have trouble maintaining it in the future. This meant that I had free reign to spin up my own projects with whatever I pleased. If it was workable, it would find its way to a production application as long as I minded my Ps and Qs about making sure it was supportable long-term.
Looking back on it now, this is a glowing review of working for a smaller company as an in-house developer. I certainly enjoy my new position but there is no way it will ever be able to offer the breadth of experience that this first position did.