roles
Becoming a product engineer
Looking for a job I spend more time wondering what to call myself than talking about what I know how to do.
One of the things I think I should be talking about is people.
In 2003 I moved to Barcelona. I had just set up a company and our main client (our only client at the time) was based in Italy - San Marino to be precise.
This was before remote working existed. While I waited for my Internet to be installed I set up in a local Internet cafe - in exchange for a desk and the use of a monitor (and a connection), I helped sort out their network.
I inherited the first iteration of the content management part of our software. It had been built by an Italian engineer. The database schema he designed was beautiful. His data input screens were also beautiful but utterly useless. It took about a minute to make one data entry.
I improved on his designs and was pleased with myself until I made my first site visit.
I was embarrassed and horrified by what I discovered. Three people spent eight hours a day entering data and it was painful to watch.
I stayed for a few weeks, working in the same room, listening to them, testing out ideas. I rebuilt the CMS (I 'migrated' from ASP pages to ASP.NET). The new site cut data entry time by fifty percent and didn't give people RSI.
It was a salutary and wonderful experience analogous to the bleak weather and warm hospitality of the Eastern Italian riviera in winter.
In a recent position I talked to no one who used the software I was working on in over a year (aside from a couple of client advisors who jumped on occasionally to correct customer mistakes).
Although I created accounts it was only to test specific functions. I never experienced the site as a user. I had no feel for the site, and had no opinion on whether it was good or not (I had opinions but they were based on hunches). The closest I got to seeing how people used the site was sitting in on customer UX sessions and watching recorded user sessions.
My role also meant I had no input into developing new products other than reviewing late stage figma designs. In other words, I was employed to implement a brief much in the way I had working at a design agency.
I had never been so removed from the end product of my work or the people who used it. I didn't enjoy that. I also think it was detrimental to my work.
Everything looked the same to me. I had no idea what was important. Everything was broken down into the smallest possible steps with no view of how it all fitted together. Should I be concerned that the UI I was working on didn't make sense; was it used by hundreds of people every day or by one or two people twice a year?
It's fine to build tested components and unify design but tools and processes and tiny pieces of functioning code are not web development. If they are, AI will do it better and soon.
Code isn't agnostic. And it's not important if it's built in React or Vue, its purpose is to enable the creation of a web site or app that people enjoy using.
I'm nearing the end of my development life. I'm going to update my CV one last time. For want of a better term, I'm going to call myself a product engineer. It's the best available title that captures (see below) my ability to make correct judgments about how to build software for the web.