I wrote back in July about my programming career, how it had changed, and also both what programmer I see myself as now, and what I want to become in the future. It's a reasonably long post (~1000 words), but the tldr is essentially, I joined as an iOS developer, but after some internal changes, I'm now primarily writing server applications in Java, but at the same time, other projects that are quite random, e.g. JavaScript scripts for NetSuite, Python scripts for data operations, etc.
The conclusion of that post was:
I’m starting to think that I’m just a “programmer”. No fancy specifications (or limitations), just someone that writes code in order to get things done.
And I think that's still true. But it's been in the back of my head ever since, and I'm certainly a bit more sure about the type of programmer that I want to me.
Back last year, there were some redundancies at work, primarily because they wanted to shrink the local teams responsibilities into more local projects (our headquarters is now in China). I, obviously still work there, but I did think about leaving at that moment. The problem was, I wasn't sure that if I did take redundancy, what job I would look for next. I hadn't worked in iOS for a while, and I'd only just recently started writing Java full-time. I was in a weird situation.
But after just over a year in the new role (I now both work on Java applications, third-party integrations, and also as a software architect for our Enterprise APIs), I'm enjoying it a lot more than I thought I would. And I think it's primarily down to the range of work that I get to do.
Recently, we were having an issue with an integration that we have built for a third-party system, which would communicate with one of our own REST APIs. It was a pretty hard situation to debug, because the third-party is pretty closed, and only certain customers were having these issues. But thanks to this new flexibility in my role, and probably that I'm one of the most experienced in the team, I was allowed to try to investigate/fix the problem in my own way.
My solution was to create my own tool that could help us investigate the connection to our APIs. We couldn't just use something like Postman because this API has a few non-standard authentication measures that made that impossible. But because I have experience in web development, I put together a web page, with some client-side JavaScript that could mimic as close as possible the situation that was having issues.
I'm not going to say that this little tool suddenly fixed all of our problems and I'm such a great programmer. But it made me appreciate this new role more, and made me think "hang on, I'm now the type of programmer that makes tools for myself". That felt pretty good to be honest.
I still don't know what the official title is, but I'm now more sure than ever that I don't really want to go back to iOS/mobile development full-time. I'm finding it much more enjoyable writing both server-side code, and also the various scripts, tools, and new challenges that have seemed to come with the territory.