Namek Dev
a developer's log
NamekDev

I became a specialist, in a way

March 19, 2025

I never wanted to be a specialist as a programmer. I always strived for the “generalist programmer” title. Know it all and do it alone. No human dependencies. All questions answered internally. The all-seeing eye in the world of tech. And guess what, I think I didn’t fail too much on it. But hear me out.

How I discovered myself who I already was

Life proposed me a perverse idea that I didn’t know it’s coming. I have specialized in UI development and engineering. Yes, user interfaces is what I did the most throughout my entire career. In fact, I was always peculiarly concerned about how UI should be done. I stopped being able to even count how many UI frameworks/libraries I have seen or tried, or delved enough into to build my own versions.

(BTW If you’re looking for the right answer to the how, I don’t have it. However the immediate-mode vs retained-mode UI is the topic you might want to look up.)

I have worked on various applications and games, of different kinds, with several technologies, on multiple layers (like backend, frontend, engines/libraries/frameworks, reverse engineering, etc.) But I also had this one more interest I actually have never defined in myself until recently: the product design. I want user interfaces to be easy to use, fast and intuitive. (And look at least OK.)

The “intuitive” is a little bit too broad of a concept word. However, it usually means that you know what to do with an object at first sight. You have no questions, you are not lost, never feel slowed down, and you are well informed about what’s possible and what to do next.

The dark side of design

I have found yet another feature of mine: “I knew it better”. On this one I have worked for years and continue to do so. I want others to know better. I am merely an inspiration, or a filter even. In fact, I am an engineer so:

  1. I need to understand what people want to see in the end, so I can implement it
  2. I can offer cheaper/easier/faster alternatives by knowing how it all works
  3. I may help throwing out the ideas that are “not worth it”

Thus, the specification has to be there, right? It never is. UI has always so many details, that it is impossible to think of until you try implementing them. Reality is, you have to be ready to not know everything before starting.

Turns out, I am a designer too. I can propose solutions for actual business problems because of deep technological understanding. However, tech alone is not enough. I need to feel the idea, what we actually need, and how to get there. Actually, I can feel the shoes of a user. I don’t need a special title for it. I can see what’s fun and painful to use. If I don’t understand it, then how on earth a non-engineer user would get it?

Design touches everybody in the team.

The discussions

Whenever I get a design to implement that I have too many “no"s about, I start a discussion. First with myself, then with others. Rubber-ducking is important. Goal-oriented, not problem-oriented (typical for engineers). I type a lot more than anybody can see. I do it to specify what ends need to meet.

Before I post a message to others I make sure I have came up with proposals or I specify that I have a dilemma what to do, and why. Shooting a question with no analysis is just taking a problem off your shoulders, and usually won’t satisfy in the end.

Now, the group has discussed. Where do we land? With more ideas, less ideas, and better ideas. Communication is gold. As is UI. Because user interface speaks to youser. Talk to UI, talk to design, as you talk to people. It helps.

The moral

Years passing, I continued to do what I like which is solving problems (not troubles!). Turned out, it was never only about tech problems. I always preferred to work on something that I feel is useful or fun. Why? So it would matter. Because I care to spend my time on improving the world by making people feel better in it.

And that’s how through the fun -> product thinking -> UI -> I became a bit of a designer as well. A software engineer making lots of UIs. Generalist programmer became almost a business man, oh wow.

self-development, philosophy
comments powered by Disqus