Sunday, November 24, 2024

Once a Hopper...?

It's been over a month already, so it's time for an update. Time for some more in-depth views at my financial state. But first something pretty interesting: As I mentioned in my previous update my job-hunting phase kind of stalled when I just decided to "stick with where I am since my pay-grade is going up anyway" and instead try and find meaning in life outside of work, but I have a confession to make here.

My work still feels a bit daunting slash boring. I'm currently working as a low-code engineer (sure, laugh at me you "real dev's" out there). At first I was skeptical, because, low code. After working on some applications I actually found it reasonably doable. But it's also a bit... boring. Sure, I can still mess thins up (quite easily, to be honest) and it's very much like high-level languages, as in, you still need to implement everything logically, things are just way-more visualized for you and compiler errors are... well, non-existent. There also are some downsides to be fair:

  • Since everything is visible somewhere, you need to look at differend fields/tabs/places on the screen continuously. I find that more complex than just staring at code and moving through different classes.
  • I miss the flexibility of regular code. You need to think of certain ways to fix your problems, but doing crazy stuff like design patterns, creating inheritable/composition like code is simply no option. 
  • Adding tests is, well... let's just say it seems possible by adding your application to a test framework and doing lots of work so I haven't done so
  • I'm in no way a UI/UX/FrontEnd guru, but on that side things are... well... standardized. Everything is more or less a (form of a) dashboard of a detail screen. Maybe it feels a bit like Angular, but then a lot worse. Customization is possible, but that means a lot of css and JS work. Or you build just a backend application and add a custom frontend. But since it's corporate world and we only build internal apps, nobody cares (so why should I, lol).
Then, there's another two big things that I'm having a troubled mind on. One being I really like to help my colleagues and try to find solutions to problems they run in to and I really like to discuss about the way applications should work but once it comes down to implementing these things I simply block. Not in a "I don't know what to do", more in a "I really really really really reaaaaally don't feel like doing anything". I just hate it and get frustrated if things don't work first time right.
This, though, is something I think is very much related to how I work. I'm much more a generalist. I do like to dive deep and to understand what's going on and to be able to figure things out, but actually doing/implementing them, definitely once it starts to become slightly repetitive, makes me loose focus instantly. I'm quite lost there. Sometimes I think "just stfu and just start working on those things and fix it" but I simply know that every next thing is more or less the same (being, find out the how which I like and then simply 'do the thing' which I strongly dislike).

The second thing that's a tiny bit related to this is the fact that my colleague's who will start there well-earned retirement in two years, are expected to be replaced by me (who they see as a senior), my current junior colleague (who is willing to learn buy I also see him struggle a lot but alas, that was me five years ago I guess) and perhaps a new hire somewhere between now and two years. The major problem I foresee is this: There are so, so, so many complex systems intertwined and there are so many legacy processes running "somewhere" and the domain is so darned complex that I don't feel comfortable stepping in those shoes at all. There have been some issues already that my soon-to-be retiree's coincidentally still remembered or had some kind of idea of that's documented no-where and is way out of the "I happily build low-code" scope that it's mind-blowing. They've collected in-company experience of over 40 years each. Sure. Some systems will be replaced somewhere, but still those migrations are heavily reliant on knowledge that's in their heads and you either coincidentally run into something, or you're screwed.

I'm already seeing this with my other senior colleague who's been here for over fifteen years already, he more or less took over (some) of the work of the other colleague who retired last year and he's also running into hell sometimes (for insiders, migrating an old Oracle server where there have not been any updates in over ten years where there are thousands of lines in stored procedures handling fairly complex business logic that shouldn't have been there at all in the first place. And that was just one colleague's work and he had over a year to learn from the retiree...

Of course I'm kind of trying to justify something for myself here so here is my great confession... Last week, I got a call from the maintenance engineering team-lead (who rejected me earlier on) if we could have a chat. Of course, a chat won't hurt. As it turns out, the reason for the rejection was that the job he saw was quite heavy (being, setting up and implementing an asset management tool for a certain division, combined with being the maintenance engineer for that same field). Turns out he was quite right; they hired a part-time consultant for the implementation and another part-time one for the day-to-day job and it was too much of a workload to be handled in those hours, even though the hire has a way better resume than me for the job. So, his words more or less literally, were: "I'm happy I didn't hire you since I noticed this as a heavy job, and I was right because it couldn't be done and you would have drowned, which would be a shame. In hindsight, now that I've been around here longer, I want to split up the job into the implementation part (to be done by the consultant) and an ongoing maintenance engineering job which I want to talk about with you, also because the current asset manager repeatedly mentioned your name with me".

So. I kind of suspected it would be about this because I saw the job opening showing up again, but it still kind of surprised me a bit. Anyway, the story seems plausible (but I also know it's quite hard to find someone for the job) and thus now I'm more or less back where I was at the beginning of this year: I've got an opportunity lying in front of me, again.

So my main question is: What am I hoping to find in IT (Moneys, obviously, challenges, maybe, frustration, for sure) and what am I hoping to find in Maintenance Engineering (Money, obviously, challenges, for sure, frustration, probably on the inter-personal field and possibly having to be in the office more).

I'm not really sure how I feel about this, yet. I'll go and have a chat with a few possible-future colleagues about how it's going in the Asset Management department. I also want to get a bit of a grasp of the internal politics and my role. I don't want to be squeezed in between our internal project organization, maintenance department and asset manager. Maybe I'm totally misunderstanding the position here, but it might be that's exactly the case and then I think I'll pass. I mainly thought this was an invetigating/advisory role which I do like and I see some chances there in developing myself on a personal level (i.e. become better at working with people and standing my ground, even though the latter is a bit underdeveloped within me, least to say). Can be challenging, could also be digging my own hole there.

Money-wise, as said, there is no difference between my current role and the possible future role. It's more about: do I want to learn how to deal with internal frustration of being a dev or external frustration of dealing with people :-)

I need some time to reconsider. Again...





No comments:

Post a Comment