Hacker News new | ask | show | jobs
by dnh44 1807 days ago
One of the first bits of paid work I did was for a printing company that made business cards among lots of other things. They would manually create a CorelDraw document with a page full of cards for each employee, taking the contact information from an excel spreadsheet. The data entry for making cards for 100 people would take several days.

I was able to automate this for them with a pretty simple VB.net script. Several days of boring mind-numbing work per month were reduced to a couple button clicks and a few seconds of CPU time. It also eliminated all typographical errors on the part of the printing company.

I never touched vb.net again after that. I had no interest in the technology at all and there was nothing particularly interesting about the work itself. However saving people from having to do a bunch of boring work is extremely satisfying. And it saved the owner money which feels great too.

I find that being empathic towards my users not only makes the work more fulfilling but it also allows me to design better products. As a human with human interests you should at least give it a try.

4 comments

I like the contrast of your reply to the original post because it really highlights the two general types of developers - product focused developers who use technology as a tool to focus on the customer and technology focused developers who treat programming as an art ahead of focusing on customers.

I would say it can be tempting if you fall into one of the two broad buckets to think the other side is doing something wrong and that there is a tendency to want to compel them to “see the light” so to speak but in my experience those efforts tend to go to waste (if not appearing outright condescending).

Ultimately people have different interests and priorities both in life and their careers and people derive fulfillment from different sources. There are no right answers here.

You need both kinds for a good product. Both of these types add something the other is not interested in adding. The most value I ever added was joining a company filled with type X (purposefully avoiding which one) as a type Y and going on a binge of doing incredibly valuable work that had been left as "low hanging fruit" because nobody thought it interesting and/or important enough to give it a good look.
I don't see why you cannot be both.

How is it hard to have empathy and interest in solving problems and yet still a deep love and interest in the underlying tech you use?

I feel I am in this category. I would venture to guess that a broad array of useful developers do as well.

Siloing people like this creates an artificial construct wherein people feel they need to fit.

For what it's worth, I would definitely not hire the OP after his speech about being more interested in using a new tech to solve my problems than solving my problems.

They rarely overlap. If you’re trying to solve arbitrary problems efficiently whatever tools you know are unlikely to be the best fit. But that doesn’t mean you’re going to be more productive learning something new.
This reminds me of the product-infrastructure spectrum of dev specialization. [1]

[1] https://www.michellelim.org/writing/stop-using-frontend-back...

It's an amazing feeling when you read someone's written words about something you've been thinking of yourself.
customer-focus has the nice property of limiting my perfectionism to the threshold of meeting their need.

My technology-focus projects are unlimited and therefore never satisfied.

Thank you, this is a nice counter to the usual nihilistic stuff you find on HN. I find that just doing something useful is fulfilling for me, especially if it makes peoples' lives easier, no matter how little I care about or understand the actual product itself.
I appreciate this perspective quite a lot.

I think that for me, being a good engineer is first and foremost about solving problems for people, and if I lose sight of that simple goal, I lose a lot of my energy for my work.

Exactly, and the harder the problem, the greater the reward when it's finally solved.

The problem solving process never ceases to amaze me, how a problem can go unsolved for months on end, and then suddenly all the dots can be connected and the solution appears.

Starting out with the notion that "It must be possible to solve this", is always the first step i find.

I have had these types of "boring but fulfilling projects" as well. I have also been on the other side where I cannot feel any pride in what I am building and the only solice is at least I got to learn something new.

I think what makes the difference is the proximity to the user. In your printing company you got to know the process then build a solution that directly helped your co-worker and boss. Even if it only helps in a small way that feels very satisfying. Where I get frustrated is and lose all that empathy is when the company keeps multiple layers of indirection between the devs and the users (customer report -> Customer Service -> Product Management -> devs).

Another frustrating point for me is when the decision makers / stakeholders and the users don't overlap.