Ask HN: What has been your most rewarding job or project and why?

383 points by greatatuin ↗ HN
Looking for some inspriration and ideas!

What has been your most fulfilling job/project and why?

I've been looking to make a change away from typical enterprise development (full stack web developer) as it's not just about the paycheck any more. Recent events have given me a different perspective. Perhaps looking to join a team of great people doing something worthwhile or start my own consultancy helping people solve problems in a sector I can feel good about. Just not sure what that service looks like yet.

The best bit about being a developer I've found is when working directly with the customer who is in some distress and the look on their face when you solve the problem and make their life easier, even if it was easy to solve. I'd love to find something where every day was like that!

264 comments

[ 4.3 ms ] story [ 294 ms ] thread
Not quite startup or hobby project material, but some of the most gratifying work is making non-critical, easy to implement changes in your business's workflow!

Sometimes users will have minor (or major) issues with the way a tool works - database takes 30 seconds to retrieve a certain type of information, there's no clear path from point A to point B in a frequently used business tool, certain jobs take 2x as long as they should, etc.

These issues don't have much of an impact on management or the bottom line, so they won't be assigned to anyone to fix. But if you spend two hours speeding up that tool or streamlining a frequently used process, the 'work done' to 'that look on their face when you make their life easier' ratio is incredible.

This is definitely not an answer.
(comment deleted)
I'm trying to read your comment charitably[1], since it's "obviously" wrong (as wrong as if you said, "hard to put this advice into practice since most professional programmers have never worked in a company that has any business processes or tools, and it's not really possible to start working in one that does have one")

I say this because your parent post is "obviously" a great response that directly answers the question.

So, if I want to read your comment charitably: a lot of technical people are poorly in touch with their feelings. Maybe you are right about Liquix, and they poorly report their most rewarding experience.

At a guess what would you say is likely more gratifying (the meaning of rewarding) for Liquix? What would a better answer to the question be?

I really have trouble guessing why you would write this, unless you thought rewarding meant "highest-paid" (not the usual sense of the word.)

[1] https://en.wikipedia.org/wiki/Principle_of_charity

I tend to agree -- I am sure people are hoping for an answer about joining a mission-driven small company and changing the world. But Enterprise IT in a large company gives you that daily hit of small successes, helping one or two people to have a better day and improved tools.

It comes with downsides, too, which I'm sure this community can rant about ad nauseum. But truly, if your primary goal above all other things is to have the experience of making someone's day better as an every day occurrence, one should be doing application support in large corp.

I can second this. I think it is an answer, to counter the other commenter. There are businesses that are built on the idea of coming in and streamlining processes and inefficiencies. This could fall into that category.
I spend a lot of time developing internal tools to make my company's operations team's life easier, and I agree it feels good! It's nice that people appreciate it as well. Not every coding task is rewarded with praise, so it's nice when they are!
Exactly!

I would argue though that such improvements do not have an impact on the bottom line. Sure, any one of them may improve the efficiency of one or a few employees by say 3%. However, many such small improvements have massive compound effects.

I would contend those fixes -do- add to the bottom line.

Making a user's job take less time frees them to do other things. Those other things may have value; that value is only captured because of the time saved due to your effort.

Even if that time becomes effectively 'free' time for the user, that increase in happiness and morale makes them more likely to be more productive in other areas, less likely to leave the company (however small an effect), etc.

Don't dismiss something that makes someone's life easier as having no monetary value just because you can't easily quantify it.

(comment deleted)
Sounds theoretical. Salary is fixed and if there’s a supply of alternative workers and resource scarcity mentality then allowing employees free time makes them more valuable to and easier to engage by competitors. Qualatative arguments go out the window when the shoe strings tighten in my experience.

My ideals agree and I’ve banged my head trying to maintain boundaries with my managers, now 5 jobs in. Experience is with VC in Bay Area... work life in Minneapolis was pretty chill tho, 2 longer jobs there with good people.

Alternatively, the time saved allows them to move onto other tasks and accomplish more in a day. Saving 30 seconds on a database query can add up to years of time in a large company. It's not that uncommon for hardware engineers to be issued a company credit card, simply for the time saved vs bugging a manager for a purchase order for a $5.00 digikey order.
So much this, if an engineer is paid $50 a hour and it takes 30 seconds to load a prompt. Loading the promt just cost the company 40 cents. If they have to run that promt 3 times a day then it's $500 a year that can be saved by just optimization.
It doesn't work that way though. The company didn't spend an extra $500 that year because an engineer spent 90 seconds each day opening a few prompts. They paid that engineer the same salary as the other case. Maybe the engineer just spent 90 seconds less each day on their phone, or stayed until 5:01:30 that day instead. Or took a shorter lunch. Or only had 6-7 hours of work each day anyway so it didn't make a difference.
I once wrote a packaging script that saved 2 man weeks of recurring work. Not the swankiest or the most challenging job I did, but it was immensely gratifying, since this time was directly billed to customers. So yes, fixing small non-critical issues can be very rewarding.
I too love fixing things where I can see the person's reaction. It is so satisfying. We are so often removed from the user and don't get that joy. I think as a dev it's a good exercise too, to stay grounded and avoid feature creep or working on things that don't matter too much. I always to try -think- about how my user will be reacting, but that's different than actually -seeing- it.

I think it's part of why I like UX(though I do full stack), at the end of the day I like solving problems for people and making software that's pleasant to use. I've seen so many people struggle with an unnecessarily complex interface and it hurts my soul. The relief on people's faces when they can fix their issue quickly is so satisfying.

I'm currently a solo UX at a start up, and I have dabbled with FE dev for past few years.

I am a bit frustrated with how the FE operates with this company, they don't seem to care about ensuring good UX, I'm not even involved in their sprint cycle, they just build things AND THEN ask me to fix the UX if someone points out how terrible the products are. (And obviously with TONS of restrictions saying the codebase/architecture wouldn't allow it - smh)

I understand I'm still new to the company(4months), but this has been by far the worst design-FE collaboration I've ever experienced. I tried to schedule a meeting to address these issues in a professional manner, but they canceled it and said it's not important for the company now.

I really take joy in solving problems for people with good UX but now I just come in to work to design CEO pitch decks in PPT and get paychecks... the pay is alright but it is really not rewarding at all professionally. Should I jump this ship? Do you guys have any advice for me?

I do think in some ways, because UX is constantly being pushed back even though it shouldn't be...you do kinda have to learn to work with what you've got. Programming is like that too. There's weird restrictions from legal, stupid restrictions from the platform, some off the wall glitch that you have to work around, etc. Sometimes small UX changes are hard to implement in code and it ends up not being worth doing.

I haven't worked in a startup before. But it's strange to me that a start up would have someone on hand who's work is "not important for the company right now." Aren't startups supposed to run lean? If they won't even -talk- to you about it I feel like your options are limited. If you could actually discuss it, then yeah, maybe you could figure out how to move forward. But 4 months is a long time to not be contributing at all. Though I know that security and UX both suffer from being pushed to the side in favor of new shiny features.

I would:

A.) Have not a full blown meeting, but a 2 minute conversation. Figure out a short example of how not planning UX ahead of time has failed and is hurting the business currently. Then explain "We could prevent this by..." Present problem and your solution.

B.) Use this time to study. This would help with the startup(once they get themselves together) and also your career. Maybe you need more FE dev skills to figure out how to fit the UX in with what they are doing.

C.) Yeah, start putting feelers out. I personally would hate to sit there not contributing. Don't just quit(I assume you need to eat), but there's no harm in just talking to people and seeing what's out there if you really can't make it work at the startup.

(comment deleted)
Similarly, I find making life easier for regular workers quite satisfying. When they say, "Oh, this gizmo or change makes my job/task sooo much easier and reliable than the last process. Thank You!", I gleam for months. It's better than a raise to me. One accounting clerk was so happy she baked my favorite cookies for me.

Too many focus on kissing up to the big-wigs, which works to get them more money and status, but I feel I make a real impact by helping the rank and file.

Very much so this. There was a strong request for a better solution for the company's database system and I finagled some off-the-shelf solutions but I knew it wasn't great and there was a lot of clunkiness. The users figured this was as good as it gets just had to deal. I wanted to change that.

The workflow was pretty unique and there wasn't much out there that could tackle it in the right manner with price constraints in mind. I set off to rebuild something from the ground-up but tailored exactly to what the users wanted (I kept track of all the complaints of previous solutions). Because this is specific to the company, I was able to make many of the routine tasks automated and reduce time users needed to spend with the tools. Now they actually enjoy when they do! There is no gimmicky extra stuff, it's just software that solves their day-to-day problems. The application I built is super boring, nothing groundbreaking or inventive, but it works.

Seeing it run smoothly in production and having people enjoy the UI/get to spend more time on other things has been quite gratifying.

Early 20s figuring out career options here. I’m curious, what is your job role?
You have my sincere thanks for prioritizing workflow improvement. In healthcare IT, so many decisions are made without stakeholder input, leading to truly bizarre interfaces and less time I get to spend with each patient. There are some exceptions, and there are limitations (meeting HI-TECH requirements, etc), but workflow generally seems an afterthought (well, 1 of 3 places I was at had things right-- probably tellingly, system was designed by MD programmers). I remember running into a UX-programmer in a hospital elevator excitedly asking my thoughts about the recent "upgrade" to the computer system. Basically IT made aesthetic changes (larger, fancier buttons) with 1-5 second animations (including delays) each time you pressed them. I suspect they didn't test the software on the VMware machines we used, which had crippled specs. You can imagine my feedback-- (20 patients * 40 button presses per patient * 5 seconds per button press = 1 hour wasted each working day waiting on that obnoxious UI. That translates to 1 hour of lost sleep per night.
KidBright USA at https://kidbrightusa.org. There's a significant hunger problem in America's public schools. KidBright USA seeks to end hunger in the classroom so all children can learn and succeed. We launched a healthy snack program back in August and are currently serving snacks to 22 classrooms and 450 children. We're gearing up to expand further in the fall.
My most rewarding project was as a consultant for a big client that trusted my team completely. It really came down to just that, combined with my team consisting of really, really good people. So we could make any tech choice, work with any equipment and work from remote whenever we wanted. We delivered really good work, but whenever we did miss a deadline the client still believed in us. It was a very inspiring environment.
Contributing to big open source projects like the Linux kernel since one learns a ton of new things from the code every day and it's run everywhere in the world, which is a nice reward that ones contributions can make an impact.
(comment deleted)
Nonprofits are relatively underserved by tech workers. I've tried to get many of my friends to join me but the allure of bigco paychecks is simply too much. This is a pretty general answer but so's your question :)

I think if you pick a nonprofit with a mission that you feel passionate enough about to really give it your all then there's a good chance for you to quickly become a double-digit percentage of global technical productivity in a particular charitable domain.

For me it's been developing tools (mobile app and website) to help people with substance abuse issues communicate with their loved ones, themselves, and medical professionals.

I'm very interested in pursuing a path like that, but I have two reservations about it:

1. Colleagues. The fact that non-profits are underserved by tech works, also means that you're less likely to have talented colleagues to learn from. 2. When they're not tech organisations. There might be a lack of understanding of both the opportunities and challenges for tech in their specific area, and I'm not sure I'd have some influence in helping with that. I really don't want to be the person who maintains a Wordpress site for a non-profit, and don't think I'd actually be that effective in contributing to their mission that way either.

What are your reflections on that?

Working with nonprofits can be very rewarding. I do ~15 hrs/week volunteer nonprofit data analysis and dev work. However, working with nonprofits can also be extraordinarily frustrating, so make sure you have the tolerance and communication skills required to work with people who do not necessarily have a lot of technical knowledge or skills before committing. This is a generalization, of course, but it's worth keeping in mind. Sometimes it is like trying to provide over-the-phone technical support to 50 clones of my parents at the same time.
For me, the satisfaction from a project is approximately 50% process, 25% recognition and 25% cool factor.

Cool factor is just working on cutting edge stuff or with some tech I'm super excited about.

Recognition comes from the community your are doing the project for (team, manager, etc.) recognizing its importance. This typically only happens if you pick projects which solve a business need and communicate that. Preferably lead to higher revenue.

Process is the end to end process of systematic identification of the problem via concrete quantitative metrics, formulating a solution using a scientific process, building the system following sound design principles, etc. It's kind of difficult to concretely define. What it is not is putting out fire after fire everyday.

This is the recipe of successful project I enjoy nowadays.

The recipe changes from person to person and time to time. The way to figure out your recipe is to introspect. Cut out the noise of FOMO, hyped tech, etc.

A good article I have read recently about deciding what you want is https://waitbutwhy.com/2018/04/picking-career.html. This will explain how to introspect in great detail.

I have to say, my current (and first, fwiw) job is quite rewarding. I work for a company that does telemetrics and analytics in a sector of the automotive industry. We're pretty small, and we do a lot, but it means I never get bored.

I started as an iOS dev 7 years ago, and on the job I've gotten back-end Java experience, learned everything I know about SQL, and gotten my hands dirty in firmware development, and learned a ton about EE in general. We design all our hardware in house, and between the 3D printers we use for building cases and housings, and my boss being an EE, we've done the cycle of:

Customer idea -> Prototype Board -> Firmware Development -> Customer Testing in the field

in under 3 weeks. It obviously comes with the occasional stress, but honestly when the alternative in my area is writing Insurance or Healthcare software, I'll take this any day. We're a mature company that has startup tendencies and a startup size. I'm not afraid to make mistakes, I'm not afraid to suggest new idea/technologies, and we're constantly evolving. We rarely say no (within reason), and we'll always give an idea a shot.

Maybe you need to find situation like mine? I know others exist, just dig into a niche, especially ones that are in an industry where others aren't using technology to the fullest potential.

Getting people a product they love is a great feeling — my current gig is super interesting because customers love our product, and it’s also one of the easiest products for everyone around me (my friends and family) to understand and experience: fresh, healthy food, convenience without compromise! It also has a broad appeal — everyone on earth will at least try it.
BA/Project Manager to a startup in the EDU market. I had the chance to work in a very heterogeneous team composed of psychologists, lawyers and software engineers.

The set of products were quite visionary and "ahead of their time". I came to see equivalent products years later when I moved to a global company, so that gave me a special feeling that, back then, I was working on something really futuristic, and that is in some way rewarding.

I worked from home, and it was just when my first kid was borne. Work-life balance was great, and I have no doubt it helped me stay motivated and productive.

Teaching, academic research and OSS.
So far mine has been to bootstrap my own company. It has been my goal for a while now and I tried different projects while doing freelancing work on the side. The project that finally stuck is a digital signage service (https://info-beamer.com) now. For a long time I didn't even know I was doing digital signage: I just wrote the software to show info on a projector for a local hacker conference since I didn't find anything that satisfied my requirements.

Later I ported it to the Raspberry Pi and added a price tag. Surprisingly people started purchasing the software and I slowly build a complete hosted service around it. Today it's a real company and profitable. Why is it rewarding: It's fully boot-strapped and as such there there's no need to rush new feature in the hope of finding a working business model eventually. Instead I can focus on quality and that alone is fun already. The other aspect is that it requires a vast range of different technologies properly working together: From the custom built Linux distribution for the Pi, the visual software that controls the output (written in C/Lua) up to the Website/Service/Cloud stuff. And of course building custom solutions based on the platform together with customers and see those running in production. I'll never get bored as a result and always learn something new.

Wow, info-beamer looks amazing, congratulations+thanks!
A few things.

Open-source projects like Hylang and Arch Linux that super satisfying when you contribute parts like code, packages or projects that supplements the ecosystem.

Working as a volunteer on one of the largest dataparties called The Gathering. Helping to create a creative environment for participants of all ages in the form of mentors that help you learn new skills in programming, digital paining and music. Lectures with interesting speakers, and workshops that gives you hands-on experience on a broad array of topics with experienced people.

This also turned into helping create events for IT students in Bergen where you can socialize with other students across colleges and program.

It's just great honestly. And i really love doing this kind of work.

I made a frontend for nntp. Even if usenet is long dead.

I was following a group (it.comp.console) at the time using thunderbird but I didn't like google groups so I wrote my own nntp web frontent to follow the group on my smartphone. I contacted some usenet server admins and asked them if I could peer with them (one here on hn), so I set up an nntp server (inn2) and wrote a node/express/js app to read and post to the group.

I make zero money from it, but people liked it and started using it, and now i have about 100 users on the website. I made it mainly for myself as a hobby, but I like that some people like what I made.

https://fcku.it/comp.misc

I'm a master's degree graduate and working for around 3-4 years in different positions, mostly consulting, engineering and some devops (so very mixed). Actually there wasn't one project which was really inspirational (but I hope at least that is due to the lack of experience and only working for a few years)

Nevertheless the most inspiring project was a private project which I did with a friend some years ago. We thought about an Android App where people could post incidents (like terror attacks, fights or whatever) on an app and all the people around get a push notification as well as could see on a heatmap which areas have a high density of crimes. This was at a time where the "refugee crisis" started and there was a public attention in terms of terror attacks etc.

If you are interested, you can look at it here: * https://www.riskahead.net/ or directly on the google app store: * https://play.google.com/store/apps/details?id=org.deke.risk....

The project was not succesful but I learned A LOT. It was my first android app so I did not only learn to build an App from scratch on Android but also * Setting and maintaining a web-server with own hosted e-mail server * Implementing a rest-api with PHP and SLIM-framework * Running Apache and a MySQL-Server * Hosting and creating a web-site with WordPress, doing some SEO * Little bit or marketing (while not very succesful) * tons of more lessons learned

I finsihed my work, went home and started programming. Had a high workloard for around half a year but it was very inspirational and I learned a lot. Probably because I normally focus on a specific topic @work but for this project I had to do everything on my own (in terms of technical development and maintainance).

Would definetely do it again. But no good idea so far :-)

I work at a university and most of the time I am either doing research or teaching, but once in a while I get a call from a medical school or hospital asking if I can volunteer programming time for a project. I wrote some very simple code about 15 years ago to generate some charts so that care teams at hospitals across the country can see how they are doing compared to teams at other centers.

The charts had a very steep slope the first time that I ran them with a large gap between the best and worst centers. The top centers keep improving every year, but there has been a huge improvement at the other end of the graph and the slope is almost a flat line at this point.

Obviously the care teams deserve 100% of the credit for the hard work to improve the medical care they are providing, but I can't help but smile every time I see one of those charts online or in a report.

It's inspiring to see how a fairly simple solution can have such an impact. That is why it's so exciting to work as a developer, but on the other hand, lack of real human interactions can also be really devastating after a while.

Anyhow, really inspiring story and great job!

Absolutely true. What it really drives home for me though is how we are not following through with the promise of the personal computer revolution and empowering everyone to be able to write code. I remember trying to raise money years ago to try and put an Apple ][ in every classroom, and for years many school students learned bit of Logo, BASIC, and even Pascal.

There was nothing complicated in what I did, but there seems to be such a backlog of worthy projects that just someone that can write some simple loops and conditional statements. There just has to be a way to empower more people to code.

Remember Hypercard? I remember Hypercard.

It was a heavily graphical development tool and runtime with a very approachable scripting language. At one point, Apple included it with new Macs. At another point, they tried to charge money for it, which I think pretty much ruined it.

Nothing I've seen since really filled the role it did. There were, of course significant limits, but it was universal (if you had a Mac at a certain point in time) and had an amazingly low barrier to entry.

Great question! I was in a rut with my old job also when I started working on JQBX (https://www.jqbx.fm). It's a platform for sharing music in real time with others via Spotify. The reason I started was that the "real time" technical challenges were new to me and fun to solve.

But more importantly as time went on I got to rediscover my love of music and start a really cool community. Most of the people I meet on there tell me they have been looking for something like this for years and that because of JQBX they've been able to reconnect with some of their past music buddies. So that's pretty rewarding.

That being said I've tried starting some other fun projects that didn't flesh out- but it's always worth the experience IMO. So if I were you I'd ask "what do I really like" and then "how can I apply my knowledge to enter that space somehow" and then start hacking away. Goodluck w/ the new projects :)

Recovering from startups, I turned towards football (soccer) analytics for something fun to do with programming/machine learning skills. I eventually got hired to spend a Summer helping out with recruitment at a football club in Europe, and the first player we signed (from a basically unknown team) became a fan favourite, and then got his first national call-up, and he went on to win a major international trophy. Can't really take credit for his achievements, but that final was the most satisfying moment of my career to date.
Who was it?

Also, where did you get the data? Was it free?

I do not know where thom got data, but I have used soccer data from Opta (optasports.com) and it was pretty amazing to use. They have made some data available at different times, and they seem very helpful to work with if you are doing research. I worked on a project with a small sample of data that caught the interest of an MLS club. They had purchased a license for a much bigger dataset from Opta, so it definitely seems like something that clubs budget for.
Yeah, MLS clubs are on average more open and clued up to this stuff than other leagues - MLS Cup winners Toronto being a great example, with an analytics department led by ex-Opta analyst Devin Pleuler.
Yeah, but don't rub it in... I'm a Montreal supporter.

Allez, allez allez, allez Montréal!

Opta are the biggest player for event data (on-the-ball actions only). Their data is eye-wateringly expensive, but eminently scrapable if you know where to look. However, they did not cover the particular hipster leagues that lay in our budget range, and other providers exist (InStat, for example).
Ebay because I ran the business by myself I have over 200 confirmed trades and 20,000 dollars recovered in 60 days I made 5000 once.
https://pythonjobs.github.io/

It was surprisingly simple to set up, cost basically nothing (github handle hosting & process, and like the concept).

Possibly helps people out :). Although it was built to fill the gap of the python.org job board that is now working, so we're not promoting it actively

I created/deployed a system to track a fleet of aircraft in real-time, that then messaged individuals when anomalous conditions (plane crash) was detected. It was inexpensive to run and reliable.

In terms of what's most gratifying though, honestly, giving workshops or volunteering in a way that empowers others. I give workshops to trans and gender diverse individuals. I've volunteered with Technovation to get young women into tech. I've done one-on-one mentorship. That's the stuff that makes me feel better and none of that is paid work.

Switching to the nonprofit sector where, surprisingly, there's a lot of interesting use of technology. Knowing that my efforts have resulted in poor kids going to school, refugees getting hot meals, and hundreds of other similar outcomes has keep me blissfully happy with my job for 11 years now (longer than I'd ever thought I'd say at one place).

If you are interested in making a similar switch, here are some resources:

* https://www.idealist.org/ * Look at career pages for any nonprofit listed here: https://www.ctosforgood.org/

(Disclaimer: I work at GlobalGiving.org, but we're not hiring. I'm just keen to get more talented people in the nonprofit sector! AMA!)

But yeah. One of the most satisfying jobs I had was one that allowed me to re-write a product suite from scratch. The old one was just... unbearable. A friend of mine and I sat down and rewrote a suite of credit union products (teller, loan, home-banking, audio-banking, etc). Took us a few months to get the first product out the door, and a couple of years to get the entire suite done.

When our customers (and prospective customers) saw the new products, they said things like, "Oh, thank God!" It was pretty rewarding, to say the least.

My most serious and rewarding job was freelancing for the New York Code + Design Academy. It's a coding school. It paid a freelance fee to me, since that is how they do projects and I really liked it. Teaching comes quite natural to me.

It did set my graduation back by a year since I was there full-time and didn't focus on my study program anymore. But now they don't operate in The Netherlands anymore, so I can go back to my studies and finish it.

When I was a new grad I was hired at a company that did QA consulting. I was put on a team with 5 other people to create a integration test framework for a insurance company, who was rolling out a brand new software stack. It's probably one of the few times in my career that I had:

A) The whole team was responsible for the project, if the framework broke we took the blame as a team rather than crapping on individuals

B) PRs got seriously reviewed, there were strict rules about what was a quality PR and our team lead ensured that they were enforced. At the start of the project I lost several days of work because my PRs weren't of sufficient quality.

C) We got a start a project with no legacy code, building everything from the ground up. We had architecture meetings, everyone's input was vetted and valued.

Since then I haven't worked on a team where I felt that things were as cohesive. People make shitty design decisions and are not receptive to criticism. Lots of rubber stamping "approve" on PRs without actually reviewing the code, or accepting PRs without unit tests. Inheriting legacy code which was written poorly, but still has to be maintained. Nothing quite has the same feeling as that first project.

On the flip side - I've been at two companies who don't use branches to develop software, and I've never been a part of a PR process unless I was doing it on my own time :/