Hacker News new | comments | ask | show | jobs | submit login
Ask HN: What has been your most rewarding job or project and why?
383 points by greatatuin 9 months ago | hide | past | web | favorite | 244 comments
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!




I've been working for almost 4 years on the on-board flight software for the European Space Agency's Mars Rover to look for signs of water and life on Mars: "ExoMars". It is due to be launched in 2020.

Due to the embedded real-time, mission-critical aspect of the software, the strictness of the process and focus on documentation can be frustrating. The space industry typically doesn't keep pace with new technologies, so we're often stuck using "tried and tested" tools that can feel antiquated. I sometimes feel jealous of developers at agile startups keeping pace with the most new technologies and frameworks that are desirable.

But the knowledge that I will have a significant amount of code that will (hopefully) run on another planet in the search for extraterrestrial life - something I can consider one of the most important thing our species should be doing - is extremely rewarding and motivating.


> I sometimes feel jealous of developers at agile startups keeping pace with the most new technologies and frameworks are desirable.

Funny how the grass is always greener... Many times I feel like the grumpy ol' man, shaking my fist at the young'uns for not recalling the lessons of yesteryear when jumping on the latest tech band wagon.

There's definitely balance to be had, calibrated accordingly with your appetite for risk, but in my experience the "boring" tech almost always wins the cost/benefit equation. Too many times have I seen new developments fall into the "instant legacy" category simply because the tech they use isn't yet well known and explored (to them, or at all.)


That is so deeply awesome. Can you tell us a bit more detail about the systems and how they work? C? Assembly?


We have a little bit of assembly for processor-specific startup housekeeping, but that's mostly reused with small modifications for different boards. The rest of the code base is entirely C, managing functions such as ground communications, mobility (locomotion, navigation and control), thermal management, power management, fault detection and recovery, payload (e.g. science instrument) management and mission planning.

We need 100% branch code coverage at unit test level, and have function validation tests written in Java that validate the software against the requirements, running on simulated hardware. Similar tests are run against simulators with progressively more hardware-in-the-loop for more confidence.


See that sounds shitty to you man but I just had an issue where I couldn't upgrade to Webpack 4 because some critical modules were out of date, but I have to upgrade to webpack 4 because other modules are claiming they'll be dependent on it soon (or I need to use deprecated modules).

When stuff like this happens I'm like... why did I choose web dev...


For reference, I used to be in web/mobile dev before working with OP. You can always transfer over, as to be honest a lot of the skills are transferable.

That said, space code has its own versions of webpack dependency hell...


Are there any helpful frameworks or tools for unit testing firmware projects written in C?

I'd really love to know what you guys are doing!


I'd also love to hear what tools the ESA is using for unit testing, test coverage, etc. in C. But for small C projects at least, I've found the CuTest framework to work well:

http://cutest.sourceforge.net/


I am also interested in what ESA is using... I have used VectorCAST to generate MC/DC coverage reports for C programs. The interface is a pain to deal with and it crashed regularly, but it did the job.


Hate to disappoint you, but we also use VectorCAST for unit test code coverage.


Curious why you are not using Ada?


We use ada for older projects, I think the move to C was precipitated by the fact that it's hard to hire for ADA and there is not that much external support.

C + MISRA + extensive testing plugs the gaps.


Two years ago I moved from the Finance Industry to Life sciences, the burden of documentation and regulation is something to consider if you want to move into any regulated industry if you are used to agile. Up until now I never thought a bank could move an order of magnitude faster than anyone.


I wonder what your functional tests are like? Do you do dry runs of the robot on mars like surface?


Yes, to test mobility (locomotion and navigation) we have a prototype model that we operate in an environment as close to the Mars surface as possible (representative sand, slopes and rocks etc.)


Most software projects functional tests are sequentially executed and don't have intricate failure driven scenarios(not to the extent of a robot on mars). I mean the robot is prone to unpredictable damage on an uneven surface. There is also the issue of signal loss + delay in transmission.

If you are writing code for the transmission engine module for example, would you write test cases for all connected subsystems that might fail? If so, I imagine the dependency between systems probably gets really complicated and almost impossible to remember. So how do you ensure all systems respond and behave correctly in all possible known and unknown failure scenarios.

Edit: I just realized this is no different than writing code for cars. I guess there are protocols in place and as long as your parts conform to the standards, the complexity is reduced.


The yard in the middle of the Atlas Building on the Harwell Campus?

We've been adapting some of the work that the RAL Space team did on the ExoMars Rover for use in farming. We're in London (based in Makerversity atm) if you fancy a chat :)


I'm aware of that project. I'd love to have a chat about it. I had no idea there was anything based in London for that. Shoot me an email, it's in my profile.


Similar - the facility in Stevenage; there's a sand dune in a warehouse next to the station on the left hand side (when travelling towards cambridge).


Try my back-yard: the sprinklers broke and we procrastinated fixing them.


I would trade every line of JSX I've ever even looked at to work on something like that.


A colleague of mine is working on ESA mars projects as well, a mars propellant drone and a mars suite. To my surprise, they are using golang.


May I ask where you are based?


Just outside of London.


Will your location be impacted by brexit?


I don't think UK membership in ESA may be impacted with brexit. Norway and Switzerland are members of ESA but not EU.


This is right. As long as the UK continues to contribute to ESA funds, we should get commensurate work in return ("geo-return").

However, our involvement in projects coming from the European Commission (EC), which is EU-related, such as the Copernicus programme ("Sentinel" satellites) could be negatively impacted.


I will reconsider the UK as a place to live and work if / when it goes through as I have both British and European nationality.

I believe that it is already having a negative impact on the industry as there has been a definite slow down in projects going to UK industry after the vote.


That's a shame.

I live in the Netherlands and sometimes check the careers at Noordwijk. It would be quite a nasty commute for me too.

Do you know if the ESA uses many independent contractors?


I’m based in the U.K. and curious about what company that does what you do. Am I allowed to ask what the company you work for is?


Earth.


For now :)


This sounds like my dream job.


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.


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.


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.


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.


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.


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.


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.


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.


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 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 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.


[flagged]


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


Two years ago I joined the USDS and started working with the VA. One of my projects was to help fix the system Veterans use to schedule online appointments. The problems were many and ranged from poor technical solutions up to senior managers not wanting to green light a small release without a few months of meetings. Over two months of some of the most intense work I have ever done ( most of it non technical ) we released seven times and drove traffic on the system from 100 interactions a month to 15,000 a month. The system is still pretty bad, but people can use it, which means Veterans can schedule a mental health appointment on their phone. That may have just been the thing to save their life.

Now every time I am having a hard day I pull up the Google Analytics of that system and look how many people have scheduled an appointment today. I might not have fixed everything, but just knowing we made something better has been the most rewarding thing I have ever done


> which means Veterans can schedule a mental health appointment on their phone.

It all comes down to this. Well done. It's so easy to get stuck in the weeds and forget the real goal.


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.


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!


I live in New York running my own wholesale business that doesnt consume a lot of time, makes decent money and has very little headache but I can say the most mentally (and financially) rewarding part was driving through places like western washington state, oregon, alabama and southern georgia to visit local shopping malls to see if any of the store owners would like to start purchasing from me. Just buying a ticket, reserving a rental car, mapping out a route on google maps and just driving from one mall to another along sometimes empty country roads and checking into a motel in the middle of nowhere just to get enough rest and wake up in the morning, grab coffee (big win if they have dunkin donuts or starbucks in town) and start driving towards my next target. Nothing special about it but easily best thing I did during my 4-5 years of running the business.


I've had to do something similar for an eCommerce business (my wife runs an online toystore). 100% agree having a reason to go to places you would otherwise never go to is amazing. The random connections/experiences has changed me into a better person and are incredibly rewarding.

Having written this I think the take away is you don't necessarily need a reason to go places- just go!


This is a weird answer. But it was probably the project that almost ruined my career.

I once started a project to add in A/B testing to a legacy platform that really wasn’t supportive of any such changes. The project was a technical success but a political disaster. The aftermath made it very clear that my manager was hoping I would fail so that he would have an excuse to manage me out. When it didn’t fail he became a lot more obvious in his attempts to get rid of me. I also suspect that some of the issues that happened during the project were setups, but I can’t prove it.

Why am I proud of that clusterfuck? Because it proves that I can still succeed even when powerful people dont want me too. The problems I had at that job were political and not due to a lack of ability on my part. I’m not saying that I am without fault in allowing my relationship with my manager to degrade to tgat point. But I gained a lot of confidence from delivering a working product despite adversity. That confidence led me to a much better job.


Hard question to answer since I've enjoyed all my jobs... at some point anyway :-)

I spent 15+ years in the Medical Device industry and that's probably been the most fulfilling job.

Why?

Medical Device software is extremely process-heavy, progress is slow and methodical and it can be absolutely soul-crushing if you look at it the wrong way. But:

Sometimes you hear from an ex-patient how you saved her life.

Sometimes you get to fix a problem that affected your own child.

Sometimes you take pride during a doctor visit in knowing your blood is going to be analyzed on a machine you designed and coded for.

Sometimes you simply enjoy the fact that you're putting out a very well-engineered and solid product.

And it's fun: most of my software career has been controlling things that move. When I hit Start on the debugger and several dozen motors spring to life at once, clicking and whirring in their orchestrated sets of motions, it's an amazing feeling.


Im a new grad with a couple years of experience via internships/co-op jobs. If i was interested in applying to programming jobs in the medical device industry where would i start looking?


I'd get a list of device companies nearby or where ever you wanted to live and start doing some research into what applications their products are for. If you apply to a company making, e.g., dialysis machines, then having even a basic knowledge of what a kidney does and how it fails will immediately set you apart from most of the applicants.

Look at their websites and see what types of positions are available and what type of work seems interesting.

You could also call recruiters working in that area and see what open positions they know of. Aerotek is in that field and I always liked working with them.


Also curious about this


I've spent the last four years helping produce a IMAX/Giant Screen film featuring 7.5 million images from Cassini, Hubble, and SDSS with no CGI/VFX.

http://insaturnsrings.com/

I spent most of that time writing the software that downloaded images from the Sloan Digital Sky Survey, located the galaxies in them, cut them out, and placed them with the correct location & scale in the animation software. The best part for me has been getting to work on a project I really believed in, even though I had absolutely no experience with films or astronomical imaging. I just jumped into the deep end and had to learn as I went.

Writing code that puts things on a 6 story tall movie screen is such a different experience than pushing code to an app server to serve up banking apps. Hopefully the work I did here will go on to inspire someone else to have the same love for space that I do.


https://www.insaturnsrings.com/trailer

Wow. Just Wow.

I have already emailed the link pleading for a London release.


I've found working on http://editfight.com to be extremely enjoyable. It's an online collaborative pixel art app with a fixed size grid. I made it for fun, and a few really talented pixel artists came and have made some awesome things. But the best part is that they have constantly given me feedback on what would improve their experience, and I've been able to add the features they're asking for within the hour, and it's been a really enjoyable cycle of that for probably 2-3 weeks now. It's so incredibly gratifying to see them appreciating and finding useful all the new features I keep adding for them. It's kind of addicting to keep improving the site for them and watching them use the improvements to make more and more amazing things. One of the biggest examples of this has been the "create a gif from the time-lapse of everyone drawing" feature which someone else suggested, and surprisingly only took about an hour to implement. It's pretty niche, but the few people who find the site and like it, they come back to it like every day and keep making incredible artwork in it.


It's been painfully obvious to me through various recent health scares that my (only) lasting legacy will be my children. I hope to spend enough time with them on this crazy floating rock to enable them to have the emotional security and vision to help make the world a better place after I'm gone --two things I feel like I could've benefited from much earlier in life.

Career-wise, I've stressed myself out way too much over small wins, but there are two projects that I was happy to have the fortune to be involved with.

1. I relocated my family across they country for a year to work at an Obama White House Champion of Change startup. I helped create an app that is used by thousands of students and public transit users to have a safe, cheap, eco-friendly ride home through Microtransit. The safe ride capability has been used by enough university students by now that I hope it has kept drunk drivers off the street and possibly saved someone's life.

https://transloc.com/microtransit-ondemand-software/

2. About 5 years ago, I worked on the consumer facing apps for a competitor to Nest, called Sensi. The thermostat was recently ranked to have the highest customer satisfaction in its class by J.D. Power and Associates. Last I heard it was in over 100,000 homes, and has kept a lot of coal from being burned by power plants in America.

http://sensicomfort.com

If I were to do it all over again, I would've been way less concerned about money, and probably entered a field other than software development. I'm thinking of getting LEED certified and going into green building design and/or solar installations in my second career.


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.


Like many many others, I imagine, my main motivation for getting into CS was game development. Now I'm near the end of the degree and I realized I haven't programmed any games, so I challenged myself to recreate Guitar Hero in C++ using OpenGL and small, open-source libraries for audio, MIDI and .obj loading etc: https://github.com/FelipeCortez/grybo

It's not playable yet but it's been very rewarding so far getting the visuals in sync with the music, learning how the GPU can draw things fast, writing basic shaders, finding out how the computer plays sound and being able to manipulate buffers on a sample level etc


Two projects come to mind. Both were reporting tools. They helped companies improve the efficiency of a process 100x - 1000x. This resulted in the process being run more often and delivered multitudes more value in the form of better communication and knowledge transfer. They were fun to build and delivered tremendous value.

The first was at a fastener wholesaler. There was a sales report that would be built once a month by a sales person. It pulled data from a backend ERP system, combined it with some other data sources, and generated some trend graphs and summaries. The whole process took about five days of manual labor. It used to be done once a month, by a sales person. I've built a set of tools to do this which would take an operator about 10 minutes to run. It ended up being run daily, weekly, and quarterly. Everyone was aligned and on the same page!

The second was at a financial firm back office. One of the side responsibilities was generating reports for clients. These contained mundane things like trades summaries of various kinds. They were delivered in CSV or plain text format via FTP or email. It used to take a couple hours of work to build a new one, and output options were limited. I've built a reporting framework that added a bunch of output options, including beautifully formatted Excel files, and cut the config time down to about 10 minutes. By the time I left, we had over a thousand such reports being run daily.

Both projects opened up my eyes to how much value good software can bring to an organization, and how much impact a single developer can have.

I recently decided to package up some of that experience into a package and offer it for sale. I run https://goodgrids.com, which allows companies to automatically convert CSV files to nicely formatted Excel files. This project is fairly new, but it is very personally rewarding.


The formula for me seems to be: high impact combined with how ingenious I personally judge the project that be. I guess I want to be a wizard, casting benevolent spells for a grateful public.

I’ve been lucky enough to have been paid to write open source code on multiple occasions. That’s a great shortcut to having a big impact on the world. The best stuff I ever did was something other engineers told me was impossible - but I did it and it was good enough that other people went and built businesses around it. Or, in one case, a project that my manager told me I was doing too much for became the foundation for an entire community’s work.

However, probably the best for me was an algorithmic art project in the early days of social media. I was in between jobs and when I had the idea, I barely slept for a week. The code was terrible although the idea was interesting. Once the work was released, it was a modest sensation, and people were talking about it around the globe. One commenter even said it made her cry. I am still enough of an engineer that I had this “NAILED IT” moment. I remember looking at clubgoers on a Friday night, people I’d normally have felt irritated with/envious of, and thinking they had no idea how to really have fun.

Lately though, I’ve found a slightly different source of satisfaction. In my last job, I started to manage some people and found it extremely satisfying to help people with their careers, particularly young engineers. I also led projects to reduce hiring bias.

(You might notice that few of these high satisfaction projects had to do with how much money I was paid or whether it was something my manager wanted me to do. Still looking to square that circle.)


Curious, can you share a link to the OS project and the algorithmic art project?


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 :/


Security auditor in 2009/2010. In that job I was traveling the countryside of Afghanistan and visited the major US Army bases to provide information security assessments and write reports. I got to see some of the exotic landscape and talk to many different interesting people. I also got to go on flying adventures that aren't allowed by passenger carriers in the US. This was incredibly rewarding for the reasons not related to the technical qualities of the job.

At the end of my tour I read the ISC2 course book for the CISSP and passed the test on the first attempt. So now I just tell people to read the book and take the test from a management perspective and people look at me like I am crazy, because the test is so hard.

My most rewarding job for purely the software angle was being the A/B test engineer at Travelocity from 2010 to 2012. I learned to master walking the DOM. Some of our tests were extremely ambitious to the point of wildly defacing large areas of complex pages on the site. Your code had to be defect free and execute before the regular areas of the page displayed to the user. Some of our experiments comprised multiple various pages and required altering the browser history and moving people around the site in non-standard ways.

I learned to master my JavaScript browser interaction skills doing this job. You could not wait for framework or library code like jQuery, because it loaded too slowly and would bias the experiment. You simply had to learn to do the job against the actual web technologies. You also had to learn to execute quickly, because there were always more experiments demanding attention than we could ever get to which means potential lost revenue. It was always challenging and always rewarding. This job is what elevated me to a senior developer.


"So now I just tell people to read the book and take the test from a management perspective and people look at me like I am crazy, because the test is so hard."

Can you elaborate more on that? I'm interested.


The CISSP exam is a bit easier now that there are only 8 domains of knowledge and those domains are a bit more focused. When I took the test there were 10 domains of knowledge tested.

In short the CISSP is the most respected certification for information security management even though the ISC2 organization offers more advanced certifications above the CISSP. I believe the SANS certifications are more respected technician certifications now, but they cost something like $4000 and you have to travel to their location to certify (or so the rumors claim).

The CISSP exam is vendor agnostic. You have to apply and be approved to take the exam and it costs just shy of $700. Even with that price tag it only has about a 60% pass rate.

When I took the test back in 2010 it was 250 questions and you had up to 6 hours to take it. Many of the questions had more than one correct answer so you had to read it carefully to pick the most correct answer. Many of the people who failed it, those that I knew, failed it for tactical reasons. It is a senior management test so I always tell people to remember on each and every question managers document and then they delegate. They don't do the real work, so if you answer any question with putting fingers on a keyboard you are likely wrong.

The test wore me out as I took 5.5 out of the 6 available hours. Some of the questions were rather long like a page out of a textbook.


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.


My worthwhile project was when I really stepped outside of my comfort zone to lead a complete redesign / overhaul of a datacenter over the course of 9 months.

I had the knowledge, and the desire, but probably lacked confidence in my ability to be the lead design engineer for such a large project. I had always worked in a NOC/operations role where I excelled at any task that was put in front of me, but I had a lot of questions, always.

Fast forward a few years - I took a leap and went for it. I got hired on for a 9 month contract to replace racks and racks of networking equipment, an entire replacement of everything layer3 and layer2 in this datacenter, complete with remote monitoring/management facilities.

I went full bore - I didn't sleep much. I ran the systems I was working on at home in my lab, virtually, and basically taught myself Juniper and Arista from the ground up - having only worked on Cisco devices previously.

Long story short, the conversion was finished ahead of schedule...but the contract had me there for a while longer, so I got tasked with a bunch of crazy 'stuff' - things that I've never touched. Load balancers, traffic shapers, linux servers (that actually did 'stuff') - just a ton of stuff to learn, understand, plan, and implement. Around this time is when I also got my introduction to the Python language (but that's more of a way to make things simpler to me, rather than what actually pays the bills).

It was through those 9 months, that I became so confident in myself and my abilities. I no longer doubted myself. I no longer thought that my questions were stupid. Because of that, I flourished. I've been in a senior network engineering role ever since...and finally feel like myself. It's great. Literally changed my outlook on life.


Although it has been a source of occasional stress, my science-and-history site DamnInteresting.com (2005-) is the project that has brought me the most personal satisfaction. It scratches many of my creative itches, from writing to coding to design and beyond. And we have had the very good fortune of cultivating an intelligent, engaged readership (and listenership since we launched our podcast).

Sadly, if I tried to launch the site today I don't think it would succeed. It's too hard for a stand-alone site to get attention nowadays, especially with the domination of Facebook and Twitter. Perhaps one day the quirky organic web will return, but I am skeptical.


A nice thought somebody brought up the other day:

Try to go some meetups not developer related and hear the people’s problems at hand.

Then you can chime in with your developer perspective, which other people do not have.

And from this, both sides can mutually share their experiences and benefit from each other. And maybe this is where your future might be.


I work in a small webdev shop, mostly maintaining existing projects, and work can be quite "menial" (as far as front-end can be) sometimes.

What I do find incredibly rewarding is game development. I participate in game jams [1][2] - and the sheer enthusiasm of players with regards to your game is worth every hour of a stressful crunching weekend.

I also maintain a restoration project for a deceased game [3][4], and while the community is small, sometimes we get new people who stumble upon their erstwhile favorite, and there are similar reactions.

So yeah, I think game development can be quite rewarding when you are in touch with your community.

[1]: https://whalesandgames.itch.io/wizsnooks

[2]: https://ldjam.com/users/kroltan/games

[3]: http://atmosphir.com/

[4]: https://github.com/Troposphir/troposphir


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.


A coworker and I took 2 weeks to write an Excel add-in that communicated to an AS/400 backend, many years ago.

I was the one to train our first customer (CFO at a carpet manufacturer), who after being shown that they could get fresh data in their spreadsheet each month by copy/pasting a column and updating the period value, physically pushed me away from the keyboard and just went to town. Turns out he was spending 2-3 days each quarter copying data over manually for his reports to the board. The ability to use Excel's charting features meant he could now get it all done in an afternoon.

That little app has now become the focus of the entire business, with versions for Lawson, Oracle Financials, and various other ERP, etc. packages, providing employment for almost 100 people.

I wish I'd negotiated a percentage. ;)


My current job is incredibly fulfilling on many levels, because I make a direct and positive impact on individuals on a daily basis, meet lots of interesting people from all over the world, and get to do it all from home. I have two daughters with autism and having freedom to pitch in at home during the day has been great as they grow up.

I'm a former tech recruiter and now I'm a resume writer and career consultant, and I've written for many here on HN as well as clients all over the world. Most of my work over the years has been with tech professionals, but right now my clients include a mobile developer in Australia, an engineer in Japan, an entertainment professional in LA, a product manager in SF, a nurse in Seattle, and about a dozen software engineers. I've written in the past few months for award-winning human rights advocates, film directors, journalists, doctors, and countless other professions.

I make a good living and at least a few times a week I get a note from a past client saying they got an interview at their dream company or just landed a job they really wanted. Getting paid to help people and make a measurable impact on their lives is a big difference from how I felt about recruiting, as there is no conflicting alignment of incentives as a writer. The opportunity to meet people around the world and learn about different jobs is a bonus.


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


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.


Working on the BBC micro:bit project - first in Arm and then in the Micro:bit Educational Foundation! (http://microbit.org/). The combination of nice hard technical problems, a really collaborative group of companies, universities and communities delivering it together, and the look of joy on kids faces when they first make something of their own with the micro:bit.

I think making sure that the broadest/most diverse range of people have the digital skills they're going to need to create the best future for us all is really essential, too, and micro:bit is really starting to contribute to that.

Additionally, since we launched the foundation, being able to focus on the needs of our audience and building a sustainable organisation rather than something that looks glitzy and investible (we're a UK-based not-for-profit) also contributes a huge amount to the sense of fulfilment.

(We're going to be hiring a number of people over the next few months, so if you like the sound of that - https://micro-bit-educational-foundation.workable.com/ )


Honestly, I tend to be pretty satisfied by just about any job where I'm trusted to do what needs to be done.

The work where I've been frustrated has tended to be in places where there are hard responsibility walls between what needs to be fixed and who's allowed to fix it - which is an especially big deal if you've been a student of project management for about 14 years but your "role" is a developer.


I started teaching myself programming when I was a systems admin. I worked at a "Just in Time" part sequencing company that sequenced and delivered parts to the Jeep plant. Our contract with Jeep stipulated that we would be charged $10,000 per minute if we were responsible for shutting down the line. We had a custom application that printed labels from Zebra printers (about 50 of them) that were then scanned by handheld scanners and told the warehouse workers which part to pick next.

The dependencies for this was our phone lines, which were used to receive the "broadcast" from Jeep, our corporate WAN/LAN, a local Oracle database and a few other local servers. Our custom application had various processes built-in for emergency situations like losing connectivity, the database failing etc... Over the years, we had a few outages where the database was corrupted or our phone lines were down and it was a mess but we survived.

I wanted to learn programming and decided to write a Perl script that we could use to print labels and manually sequence parts with nothing but the "broadcast" file from Jeep. No WAN, LAN, phone lines, database or custom application required. Basically replacing a multi-million dollar system with a Perl script in case of a catastrophic failure that would likely never occur. This was not in my job description and definitely wasn't supported by corporate.

So, one day while we were in the middle of a problem with the database, unbeknownst to us, the local utility company was doing some work outside of our offices and severed our data lines with a backhoe. No WAN. No LAN because all traffic was routed through remote corporate servers. No "broadcast" from Jeep. And the Oracle database was still down.

We ran production for 17 hours using the first program I ever wrote, a floppy disk hand-delivered from Jeep containing the broadcast data, a Dell laptop and a single Zebra printer. This theoretically saved my company $10.2 million.


Not sure it will help with your decision, but mine has been a website for my mom to sell her handcraft goods.

It is a simple, ugly (I'm not a good designer) website that showcase her products (dolls, purses, patchwork, etc), so she can show people.

She is 70+ years old and getting a lot of joy of her handcrafting, this helped her hobby even more important for her and added a lot to her general well-being.


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.


There’s a bike valet service at a hospital in Portland. About 300 people use it every day to get to work. I made the web app and a few other tools using Google Apps Scripts that make it easy for the valet attendants and customers to check their bikes in and out, send automated emails and text messages.

It’s fun to have made something that so many people actually use and that I hope makes the world a little bit better. Plus I’m a completely self-taught programmer (my day job is content strategy) and it was rewarding to work on a bigger project than the little scripts/games/etc. I usually make for myself.


Google Apps Script is great for tools like this: I have used some at work for a while to manage gig listings for a musician... just the tiny bit of automation happening at midnight let's them add shows via a Google form and forget all about them, knowing that geocoding, and removing of old shows, and other funny business, will all happen without them needing to maintain it. BUT if they ever do need to modify a show, they are dealing with a google sheet, which they understand.


Yep that’s pretty much exactly why they wanted it built around a spreadsheet. Before they had an app somebody built and never maintained. It was buggy and the data was more or less inaccessible.

Now with the spreadsheet they not only have access to the data when/if they want it, it’s also super easy to roll back if something goes haywire.


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).


I would have to say the time my contracting company got a gig to take over a t1 datacenter after a debacle and make it t2. Working on big, infrastructure level routers and switches, learning all the meeting-room-politics side of such a project, and learning the other intracacies of a datacenter that I "controlled" was extremely satisfying professionally and personally. On both the network engineer side and on the sysadmin side it felt the most raw and pure, close to the internet if that makes any sense.

Finally, I have to say some of the most rewarding personal experience has been working for extremely smart people. While working at a genetics lab I had the opportunity to learn from a pioneer in the sequencing field who got fed up with academia and was going capitalist. While working at an electrical motor company I got the oportunity to learn from one of the best devs I've ever known, a scala dude, and to learn from the what seemed to be the heir to the throne of the business and an extremely accomplished electrical engineer and scientist. I've also learned from and worked with some of the best warriors and leaders on the planet during my time in the Marine Corps.

I consider myself lucky.

A long time ago as a child I decided I knew not everyone was perfect, but you could learn to pickup a persons good habits and try to ignore their bad habits. Learning from the wisdom of other people is the most rewarding thing I can think of!


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.


I live in Iceland. It's a small country, only about 350.000 people live there. Close to 250.000 are eligible to vote. The most satisfying software project I did was a Voter Assistance Application that got used by around 70k users before the 2013 parliamentary elections.

I am currently working on a program that predicts Alzheimer's progression from the data of a standard EEG. I am quite sure that it will change the lives of many people. I still think wistfully about 2013 thou......


Last year I lead a project called Paratransit Pal to enter AT&T's Civic Coding Challenge in Atlanta ... the project was all about improving accessibility and clarity of information about trips for users with cognitive disabilities. But it was still basically a hackathon project, which doesn't help many people unless we actually roll out a full production version. (We're working on that!). The twist is that we won the competition, and the whole team had agreed in advance to donate any winnings. So our prototype app for people with developmental disabilities generated $34,000 in donations to organizations in our area who DIRECTLY HELP those people (and another $6,000 towards programming tuition in Mexico, where one of our team members was from).

We have written this up here: https://medium.com/paratransit-pal/paratransit-pal-won-40-00...

Right now we are trying to find our niche and cater specifically to those who are left out of UI solutions that target the general user. But even if, like most projects, this does end up fizzling out, it has already done some good and not just been a dead end.

>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!

AGREED!


I made a port of Dungeon Crawl: Stone Soup to Android on a whim, mostly because I just wanted to play it on my phone.

I didn't really know how to do it at first, but I'd seen similar games had been ported to Android (Nethack, Angband) so I figured it was theoretically possible.

There was a lot of trial and error, and I learned a lot about the NDK in the process. Lots of interesting technical challenges. I remember the first time I successfully ran the binary - I'd replaced all the output calls with just logging calls to check that the compiled binary was running properly, so I could see the logs spelling out the title screen of the game. It was a real "It's alive!!" moment.

There were lots of other challenges involved in getting the display up and running efficiently, but once I had a decent application running I felt so accomplished. I felt like I could make just about anything, solve any problem, with software.

The app has about 6000 active users at the moment, and has been downloaded over 100 000 times. It's all open-source, of course. I update it every now and then to keep it up to date with the releases. I get the odd email thanking me for the port, requesting features, or even offering me money to thank me. I've accepted a couple of PRs as well.

It's not hugely popular and it's just a little game, but it's a little reminder of what I can accomplish if I put my mind to it.

https://github.com/michaelbarlow7/dungeon-crawl-android


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.


One of the most rewarding things i've done recently is transfer my knowledge about devops obtained while at a mid sized company (~600ppl) and setting up the entire ci & cd pipeline for a small startup ( <10 ppl).

Also, to my observation what has a huge impact on my statisfaction, is seeing what you made in the wild or just a recognition from colleagues/clients by saying "thank you for the good work".


Sadly just my blog at https://blog.claisne.io. It's not much but seeing users visiting on google analytics is quite rewarding !


Wow I like your blog! The landing page is really nice. I did, though, get very distracted by the text-shadow on the headings and links. It makes me feel like I have something on my glasses or something. Everything else looks beautiful to me and the projects look awesome.


Thanks for the kind words. Makes me want to write another entry. I'm sorry for the text-shadow, I tend to overuse them! The code is available here https://github.com/claisne/claisne.io if any of you is interested.


Xmysql: One command to generate REST APIs for any MySql database.

https://github.com/o1lab/xmysql

This has been a fun project that I worked on last year. I started to learn backend but felt the process of creating rest apis can be improved. And I started to work on Xmysql. It is written in nodejs.


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 joined the USDS 2 years ago and the first team I joined was at the Department of Veterans Affairs and we worked on digitizing the 1010EZ form. This form is how veterans apply for health care benefits and we were able to successfully launch this form and use this project as an example. We continue to work on how veterans interacted with the VA digitally. Since it was launched there have been over 340,000+ submissions this is the most rewarding thing I have worked on in my career. President Obama talked about this project to the Disabled Veterans of America in 2016 https://youtu.be/vAmRl0Pzrkg?t=38m43s and that was super humbling. Think about joining us! https://www.usds.gov/join


Writing and implementing software that helps save lives (including hands-on training / usage).

Simple upgrades / techniques can really improve crisis response, mission comms, common operating picture, and real-time situational awareness for decisionmaking.

Helping larger organizations that perform these actions work in faster ways can also be painful as hell, but the end result is definitely rewarding.

You could do this for a non-profit to help with rescue efforts. However, Department of Defense activities and other first responder-type organizations are especially rewarding if you're closer to the mission end of things and you can see clear results. Defense Digital Service is doing some of this work I believe.

Outside of that, working in/with government to build software that help citizens and improves governance is a really excellent way to spend one's time and is quite rewarding.


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!)


Started an open source project Miranda IM. Even though I didn't work on it long, it's cool to see the project is still active 18 years later. I continued to use it for a long time, but I no longer use any instant messaging which is kind of sad in itself.


It was a superb piece of software back when I used it. Huge kudos!


thank you for Miranda


For me longevity is the key. When I see systems that still do their thing after a long time. I had a backend EPOS system that ran for 11 years, a pensions system that is still being built upon 17 years on (though that could have an element of a Ship of Theseus[1] about it) and genealogical search system that is running still after 13 years at a library.

The last one I didn't even know about except someone mentioned to me they'd gone to the library and done a search and so I had a sneaky visit myself and saw it was the same old dog of a local network PHP website...

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


Personal tutoring.

- [X] Away from typical enterprise development

- [X] Doing something worthwhile

- [X] Helping people solve problems

- [X] Their face when they solve their own problems

- [X] Make their life easier

Personal tutoring is hands-down the most rewarding job I have had. The job is free coffee, chatting with cool people about physics/maths/computing science and generally just having a good time. And they are seriously frickin' grateful for it, because for some weird reason their performance starts magically going through the roof.

The only major drawback is that at least where I know, there are no programs offering personal tutoring to the less fortunate, so you end up in a bunch of fancy families with pretty houses. Maybe not the people who need tutoring the most.


Building an 8 billion+ dollar revenue website in the early nineties. It was the wild west, and we invented our own sort of FastCGI equivalent using NSAPI to serve millions of users on just 4 modest Solaris/Sparc boxes.

Mostly everyone else was doing old school CGI, one process per request, with the obvious cost and performance issues. Corba based, and antiquted looking now, but it was impressive back then.

We had our warts, but the revenue/cost ratio was crazy. It was nice to be a hero for a couple of years.

I've been lucky a few times over since then to be on interesting projects, but that was the last time I felt like I was on a world-leading team.

Big thanks to Netscape for NSAPI. Very prescient.


First job. Writing 6502 assembler for a GTE integrated voice/data PBX system. We cross compiled on some IBM mainframe across the country, burned the ROMs by hand, debugged with in-circuit emulators and a forgotten real-time backtrace device from, I think, Tektronics.

The lessons learned still apply today - machine level thinking, memory management, writing efficient code, etc. And it was the only time I actually had a mentor - actually, a bunch of them. Oh, and the best manager I've ever had. Smart people that were willing to give of their time. They understood that if you were going to build a product, you also have to build the people.


Definitely my current endeavor, bastions [0]. It's the first side project that I've taken this far and I can't wait to see where I can take it from here. In a sentence, bastions allows website owners to easily and automatically test their website. Think testing out contact forms, sales forms, SSL certificates, functionality, etc, in just a few minutes time. It's been rewarding because I've done it all myself and have learned a lot along the way.

I say go for it when it comes to starting your own thing. It's hard, but it's rewarding.

[0] https://bastions.co


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.


Once, I did a small change on a security software, including a new feature, then I went to update servers in loco, on our clients office.

I went there, and the people of security (my users), once they discovered why I was there, they got very very happy, their eyes were brightening, and started to make calls to their colleagues to tell the great news.

The feature I included on that version was very easy, did not took more than 2 hours to me to develop, but for them, it had a great value.

That day was the first time I remember that I was doing a meaningful work, literally my software was improving people lives.


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.


I didn't really start to feel a sense of job satisfaction or team spirit until I began working in the healthcare, biosciences, and educational sectors. Sure, I'm just the IT guy. I'm not actually arms-deep in some kid's guts, trying to save their life, but the work I do acts as a catalyst, a force multiplier for the doctors and nurses and scientists and technicians who do directly care for people. I personally find great meaning in being part of their work.


I recently adopted a codebase that (of course) was a mess... I can confidently make that statement as the end users were extremely frustrated with the lack of usability. The front end was just as bad as the back end.

So, I spent 2 months repairing features, rebuilding a few, refactoring quite a bit and on launch day of my updates I received an email from an end user that said:

"You are the best and this is the smoothest it's ever been"

I printed that email and hung it above my whiteboard. Felt AWESOME.


Stack window manager (https://losttech.software/stack.html) - which I launched on HN about a year ago.

I've always wanted to have a customizable tiling window manager for Windows, but the ones I found were outdated and did not cover all needs. I used to install GridMove the first thing on any new Windows installation, until it started failing me due to lack of HiDPI support.

I had some experience with WPF and XAML, which is a .NET's layout language. It is very flexible. Grids, lists, stacks, expandable containers, input driven animations, two-way data bindings - you name it. Also, many Windows-based desktop developers are already familiar with XAML. So it became the natural choice for my window manager's layout definition language. I just added grouping windows into tabs, and autostacking to the latest version.

The reason I mention it here is that I receive a lot of very positive feedback about it from various people. I've got some really inspiring mail (totally unexpected). One person even excused himself for not speaking my native language - so he could have expressed his happiness about the new superpower to tidy his desktop better.


This is a bit trivial compared to others, but it was building a simple compiler for my friends who were working on a video game. They'd written up the scenes in great detail in a structured format, and I built the compiler to turn those scenes into code. It was super fun because I was working with people I knew, on a project with very little pressure, learning something I'd never worked with before (my background is in Data Science.)


Finally pulling the trigger and starting my own business (https://weardulo.com).

We launched 6 months ago after 1 year in product development and I've been enjoying every bit of it. All the disciplince and sacrifices that it takes, gives me the feeling that finally my ambitions are being mapped by my actions of actually doing and building.

Every small success and every obstacle is welcomed and maximised.


For me, it was working on a solo project for a large charity in the UK. They were releasing a service in 18 months time that hooked up to a bespoke API, and I was very keen to ensure that we built something robust and simple.

It was a lot of hard work, and throughout the project I had felt that things weren't going to go well. The deadline for certain bits was pushed back, and I overheard some moans from one of the junior devs about how things were set up, but we persevered. After spending time with the client, I had the feeling that they had severely underestimated the amount of load they'd receive, so much of the architecture was built around clever caching, and reducing load on the API. I also wanted to keep things really basic, so that anyone could take over the project and build on top of it.

We made the final (hard) deadline, and the site went live. We went to London to meet the client on go-live day, and we sat there watching the usage stats, and initially thought that there was a mistake when we saw 5000 concurrent users on the site over lunch. They were getting millions of users a day, and IIRC the site was paid for after two weeks. There were some issues, and we got a bit scared when they said they had to set up a brand-new call centre to deal with website issues, but at that scale we discovered that this call centre was dealing with less than 0.1% of users, so everyone deemed the project a success.

It was a fairly typical project, but it was great to be able to lead a project from start to finish, and to have everyone happy. Most importantly, it was the first time I actually felt proud of my dev abilities. I could finally claim to have built something that loads of people use and rely on.


In my experience, consulting work of about ~ 1 year duration has been the most fulfilling project I have ever worked. It's not that I did not enjoy doing my own startup, but you have to give too much of your personal time and energy.

I had the opportunity to work with one of the government agencies, where I joined as a Lead Consultant and had to curve out the architecture, technology stacks, write boilerplate codes as platform, hired 2 Developers, work with the client to develop mockup, convert business into technical requirements, do hands-on development, make presentation to the clients for each iteration, rollout product, give training to end users and finally give credit to the team to have accomplished all these.

So, essentially it's like building a product but you will be doing all these while someone is paying you and without having to go through the financial stress. I have found this to be a great advantage over the startup.

I often envy the life of high end consulting hands-on architect who go to conferences for training, speaking, write Proof of Concept projects on new architectures/technologies, write books for various publishers and I am sure they must be earning more than any startup including equity!


When I quit a programming job in industry to work as a lab programmer at a university. Loved it so much I am now pursuing a PhD in hopes that I can always find work in research.

Reasons: - more flexible work hours than industry - more flexible work topics, basically work on what you find interesting at the moment - it's nice to be surrounded by the young and curious rather than the business-savvy/practically-minded grown-ups of the world


Raising kids.

Giving them the chance to think and develop ideas, based on my foundation is the most exciting and important thing to me. I can't wait to see what they do.


The best thing for me was starting https://pyup.io

Working with developers is such a refreshing thing to do!


Nothing like building on-board flight software but...

A small application built on headless Drupal with a React front-end that allows us to build pared down versions's of our College's websites to be used on touch screens at various events.

While not totally exciting it was my first opportunity in higher-ed to be able to lead my own project, build a React application from scratch using various tools like Webpack, Babel, PostCSS, etc.


Before I answer the question: My most fun job was when I tried starting a company. Unfortunately, the company was a disaster and I never made any money. Thus, it wasn't fullfilling.

My most fulfilling / rewarding job is my current. I'm the desktop client architect for Syncplicity. We do enterprise grade file synchronization.

In 2011, I went looking for a good alternative to Dropbox and I found the industry, as a whole, immature. I decided the only way I'd use such a product was if I worked on the product itself, this way I could personally fix the kinds of bugs that I anticipated such a product would have.

There were ups and downs, but life is never perfect. Overall, I genuinely enjoy working on the product, and the people I work with are great. I've been able to find new challenges within the role, both technical and social. Unlike when I ran a startup, I'm actually getting paid!

IMO, my advice is: find a kind of product that you want to use, but where the product space is very immature. Join a company (or start a company) where you can make a tangible impact on the product itself so that it suits your needs.


A few project comes to mind:

First in my internship in an investment company. I was working on a tool used by the traders, I had to work on the support and monitoring system, which was used by the technical support of the application. Since this system was low-priority, so I was the only one working on it while I was there. The few feature I developped, like reporting which user were connected, states of the servers and less lags in the reporting, were well-received and helped those who did the technical support.

In another company I also worked on a system to generate reports from Jira. The work I've done lowered the time necessary to generate a report (from 2h to 10 min) and added some information to the report.

Last it was for daily email notification, which were sent by hand, from an excel list, which contained dates & email adress which had to receive the mail that day. I wrote a small java program which opened the file, found the email adresses for that day, connected to the email server and sent the emails. Cut a daily task of a friend from 10 min to 30s.


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 :)


Our company wanted to defend their database. It was shipped as part of product (something like dictionary), so without further protection it was extremely easy to dump the database. I decided to encrypt the database. But obviously smart enough person could just disassemble the encryption and extract the key. So I implemented my own simple JavaScript-like programming language, built a compiler for that language which compiles it to some complicated bytecode, implemented a VM for this bytecode and implemented encryption routines using that language. Now to reverse-engineer encryption cracker must write his own disassembler and I tried hard to defend against hacker just calling the blob as a whole (though probably it was the best attack vector if you ask me). While this defense wasn't perfect, AFAIK it worked and this compiler and VM project was very interesting for me, especially because I used Scala for compiler and it turned out as a perfect language for this task.


The very first program I wrote was a game for the TI-83+ graphing calculator where the calculator picked a random number and the player had to guess the number. After each guess, the calculator would tell you if you were too high or too low.

I've never had a more enjoyable experience writing a program than that. There were no rules or good practices to follow. I didn't even know what most of the TI-BASIC commands did.

There was no version control, no documentation, no compiler, no wondering if I was using the appropriate framework, and no real goal in mind. It was, possibly, the only time I've ever played with a computer in the sense that a child plays with things.

I didn't write another program until I switched from an unrelated major to computer science during my second year of college and at first, some of that magic was still there.

It's now entirely gone. I'm not sure if I will ever enjoy programming a computer again. Luckily, I'm still young so there is time for me to do something else with my life.


In many ways I'd say it was my time as a volunteer firefighter. I spent about a decade (basically 1992-2002) volunteering with Civietown VFD and/or Supply VFD in Brunswick County, NC, and with New Hope VFD in Orange County, NC.

Over the course of that time I held every position from "probie" to acting Fire Chief, responded to hundreds (maybe thousands, not sure) of calls ranging from motor vehicle accidents, to brush fires, structure fires, medical emergencies, and WAY too many false automatic alarm activations - plus an array of miscellaneous calls. I had the opportunity to become an NC Fire & Rescue Comission certified Instructor with qualifications to teach Firefighter I & II certification classes, LP Gas Firefighting, and Incident Command. I was almost killed (or at least badly injured) on a few occasions - once when the brakes went out on an engine I was driving while responding to a call, and a couple of near misses with flashovers while doing interior attacks.

There were some crazy adventures in there, some really good days, some not so good days, but I've always loved the fire service and I don't regret any of the time I spent doing that stuff, even though there was zero financial reward for it. And more importantly, I'd like to think we were able to help some people here and there. Out there, somewhere, is a family that is living in their home today, because of the job we did.

Years later I wrote a Quora answer that become my highest upvoted answer and eventually wound up being published on Forbes.com. Anybody interested in fire fighting and fire engines might find this interesting.

https://www.forbes.com/sites/quora/2012/08/15/what-do-all-th...


I have been blessed that the last 3 projects I worked on (roughly past 3 years) were the most rewarding of my professional life.

- a simple hack to connect two Slack teams, just to learn the Slack API, turned into my first solo project to go from ideation, MVP, scaling, pricing (oh god pricing is hard), marketing etc

- helping an education activist spread her new approach to kindergarten education. Not hard technically (built a static page website, a Discourse forum, and organized a few conferences). But judging by the educators' community feedback, it's the most useful I've been in my life per unit work

- joining an early stage startup as CTO, to provide great insurance coverage to freelancers. A project that is at a trifecta of great team, business opportunity, and real social impact to help the "future of work" go in the right direction


The two instances that are equal rank of the most fulfilling work I've ever done have three key things in common - a small cross-functional team, emotional investment in the outcome, writing software that makes hardware do something interesting. The next closest instance missed that emotional investment (it was _just_ work) and even though everything else was great, it wasn't fulfilling enough.

The first was my Ph.D. writing path planning algorithms for autonomous vehicles. We drove robots autonomously across an entire farm. We ran trials combining data from ground and aerial vehicles in real-time. I flew in a helicopter telling the pilot where to go based on instructions from a GUI I wrote that was receiving data from the ground vehicle running my path planning code, sending its data back up to me via a datagram I specified and a threading and networking library I designed. It was a great team of people, and the core group of five of us is still in touch and sporadically working together a decade later.

The second was the early years of my company, Cubescape, which makes Escape Rooms that run without a human game-master. I spent my thirtieth birthday crouched in a pile of dust debugging why a DMX controlled light wasn't properly flashing out a morse-code sequence, and why one particular Raspberry Pi would reboot after our strobe light kicked in. (Nope, not current draw - turns out if you hit the right chip with the right frequency of light, the photoelectric effect can cause a voltage drop. We covered it up with duct tape...) These days I've mostly automated myself out of a job so even though it's my baby, it's still less fulfilling than those early periods.

Everything else I've ever done in (work) life has been less fulfilling than these journeys, and it's really only through a recent period of deep introspection that I've managed to connect the dots and nail down those three key requirements. I'm now looking for what might be next, and using those as a filter on the opportunities - if you think your company fits, please reach out!


I Co-created a free MOOC for teaching IoT to non-technical people¹.

It was a lot of work, specially trying to use an accessible language (our target audience was students from 10yo onwards, although most enrolled people were college students from non-STEM areas), but it absolutely paid off.

The most rewarding part was receiving the feedback from students after the course's ending. They said things like "I can't believe I'm understanding this", and "Weeks ago, I never imagined that such a thing [IoT] even existed, and now I understand how it works".

So, for me, education is one of the most rewarding experiences.

¹http://codeiot.org.br. The course is in Portuguese, but versions with Spanish and English subtitles will be available in next semester.


I recently launched Seeker (https://seeker.company). It's amazing to see people launching their own job boards and getting paid for it, I love it. Also, made it all by myself and launched it solo, it's felt great.


I'm cloning patio11's appointmentreminder.org in Austria. Doctors pay me to send SMS reminders to patients. Most rewarding was when a doctor told me that my reminders made two patients take a checkup exam in which colon cancer was found just in time for effective treatment.


How important is it that you have a fulfilling day job? I see many replies about things outside of work being fulfilling, but doesn't work give you the freedom to have the time/money to do the things that give you substance?

Asking since I find some things I work on are very unfulfilling.


That's a personal question that you'd have to answer for yourself. Work doesn't give you time but it does give you money. Money can assist in providing you opportunities to do things that give you substance but it most definitely isn't the only tool that provides that opportunity.

If you would like your work to provide fulfillment you should look for other job opportunities. No harm from that.

If it isn't necessary then find work opportunities that allow you more freedom, such as, flexible schedule or working remotely.


Makes sense - I actually do work remote right now and I think that is part of the issue for a handful of reasons.


Professionally: We designed and built a program that keeps patients with congestive heart failure out of the hospital. We had a ton of autonomy and figured out how to get old, sick people to do new things every day. Then we built an online tool for nurses to track their patients. This ended up reducing days spent in the hospital and saved a ton of lives.

I’ll never go back to a less impactful job.

Personally: Working through a brutal custody battle that lasted for years and cost as much as a college education. Never wavered from what I thought was best for my kid, never attacked the other party, and ended up with an imperfect but fair agreement. Kid is doing great.

Going through something this difficult ended up being the major inflection point of my life.


Disclaimer: CTO Sense Health here (http://sense-health.com/)

We make apps to help people with depression and have our apps actively used by a small team in the biggest mental health care company in the Netherlands.

It is one of the most fulfilling place I have worked at because I get to meet actual patients and psychologists and get to know how much impact we have on their lives.

One of our patients messaged us one day saying how they would not be alive today had they not found the therapy with our application. I cannot express the feeling this brings in the team.

We are always looking for great tech talent for remote/on-site positions too BTW (specially React and React Native)


fyi, page breaks under firefox latest (mac os x) https://imgur.com/a/hZAsalA


Thanks for the report! Having difficulty reproducing this on my machine but will be running more tests on the website to spot issues :)


One from 1997, lifted off my resume:

Developed an application assisting State Revenue Office customers to produce correct Pay-roll Annual Adjustment forms and thereby reducing the high rate of errors that SRO customers experienced in filling out these forms. I was responsible for the technical design and development of an MS-Windows (3.1x, Win95, WinNT) application with a "wizard-like" interface. The application was developed in Delphi to ensure reliability on thousands of different computers around the state and nationally. Diskettes were distributed to 16,000 SRO customers and 3,000 CPAs. The SRO received numerous letters of praise for providing a service that greatly simplified a complex process.


I built a freestanding bookcase out of scaffolding boards and scaffold tubes this week, first time doing anything with woodwork since high school and it's been immensely rewarding.

It's particularly hard to work in the real world where there is no undo button or source control. Ordering replacement parts takes a couple of days so all my screw ups have consequences beyond wasting my time.

The end result is a bit wobbly due to some design defects/inaccuracies in drilling, so now I need to figure out how to adapt it. Overall it's saved me about £500 over getting a real carpenter to build me something, and I'd say I've spent about a day on it total, so I'm probably breaking even overall.


The most fulfilling project I've worked on: SimulaVR (a 3D Linux window manager meant to eventually run on standalone VR/AR headsets).

https://github.com/SimulaVR/Simula

The development has been slow and winding, but the possibility of a successful outcome makes the work very fulfilling. In addition, the other people working on Simula are not only extremely smart, but very open-minded about all sorts of interesting technologies (functional programming, AR/VR, BCIs, etc). The project itself sits at the intersection of lots of things bleeding edge in open-source: Godot, Wayland, Haskell, etc.


After having to stay late at work to rotate our certificates after Heartbleed, I co-founded the Linux Foundation's Core Infrastructure Initiative [0] to help improve the security of OpenSSL and other open source projects. That, and conceiving and helping build the Best Practices BadgeApp [1], were immensely satisfying.

[0] https://en.wikipedia.org/wiki/Core_Infrastructure_Initiative

[1] https://bestpractices.coreinfrastructure.org/en


Working for a small but growing renewable energy company. Good atmosphere, colleagues and inpact. Not the craziest software problems to solve but interesting enough to stay motivating. Best job out of a almost 20 year career.


Teaching math to young interested people (9-14).

It was different every lesson. The content was easy so I never had any confusion about what I was actually teaching. There was a lot of freedom to teach how I wanted, so I could be creative with what I taught. Also, the hours were short so I was always fresh when teaching.

I contrast this with teaching languages. Language teaching is a hard slog. There is so much more you need to know when it comes to speaking a second language. Progress is incredibly slow compared to math, and people often move backward. Lack of progress is demotivating to students and teachers alike.


I was working on an weather app. My wife use that app personally to track her health.

The app has some fun social activity and itself is very rewarding to use. The app itself maybe simple and the social interaction and a focus community make it very fun to use.

Beside that, I was trusted by the founders and given time to do many experiment: I have implement some really cool stuff in Go/Elixir.

It also open my mind. I used to hate MongoDB but through repeatedly learning I discover MongoDB was a way different in 2011.

In the end, I think the freedom of technologies decision, trust, and see the work you do affect your close relative are very rewarding.


By far the most fulfilling work I've done is the seven games I've created for the Ludum Dare game jam. I love creating the art and music for these even if I'm not very good at it. I also love the period after the jam where you can play everyone elses games while people play and comment on your game as well.

I'd love to pursue this hobby further but usually come home from my enterprise dev job feeling exhausted. I've considered getting a job in game development but it would likely result in a serious decrease in salary as well as a significant increase in time spent at work.


Building the career fair website for my college while in school. There was a lot to be desired, but thousands of students had accounts and uploaded resumes, hundreds of companies registered and paid over $500k per year through the site for registration fees/sponsorships/etc. I was given a single physical server that was locked in a closet somewhere on campus. It was ~2001, so I had to build pretty much everything from scratch on the LAMP stack ( and keep it running ).

I have since built systems orders of magnitude more complex, but you always keep a special place in your first.


I built a coordination site for NGO/volunteer orgs in Puerto Rico who are responding Hurricane Maria. The goal was to replace paper records and tracking with something a bit more modern. The project was fun, had a direct impact on the ground and really helped me develop some new skill sets. Plus it ended up getting me a promotion in the end which doesn't hurt...

Besides that when I can write an R or Python script that automates a process for someone the look on their face is always amazing. What can take them half a day can then be accomplished in a minute or two...


Every day I wake up and talk to engineers who are having trouble getting noticed either because they have untraditional backgrounds (non-STEM degree) or because they just don't understand how to market themselves or network.

The conversations are amazing, sometimes sad, but very motivating because it reinforces how broken hiring is and how much good could be done by helping engineers to better connect to one another.

Finding this mission was important for me because I had worked on purpose-driven teams in the past and I knew that's what made me happy. Best of luck finding yours!


Small web game: increstellar.com - tge game is okish, the technical aspect probably on the side of bery naive, but I finished it and player interacted actively, which was incredibly novel experience to me. Ideas I tought were fun were shot down, while the community provided an endless stream of possibilities to improve areas that I never have considered.

For the simple incremental structure it has I got quite the engagement, with a thousand of players and an average session of 20minutes it was far beyond my expectations.

I also got back a ton of knowledge on the topic, which is nice.


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.


Organising a two-week student event, over New Year's, for about a thousand students.

Got about two hours of sleep per night (admittedly caused in part by my refusal to skip the parties). Had to carry heavy equipment during the day, then suddenly write a major speech to defuse an ugly situation.

Complete mental and physical exhaustion. Great team. When we meet now, it feels like a Veteran's reunion. Everyone on that team has been looking for something comparable in their day jobs since.


For me it would be a small tool I made called easy Gmail scheduler (https://github.com/RayBB/easy-gmail-scheduler). In retrospect it wasn't that complicated but it was my first fully completed project. When others started making pull requests I knew that I had made something that was actually useful to people and that was exciting for me!


I really enjoyed organising non-profit bike expeditions (Berlin to Copenhagen and Copenhagen to Oslo) to help people take the first step out of their comfort zone. Planning to do more of this.

IT-wise, I stopped contract work and built TravelMap. It's not going to save the world but I find it really fulfilling. https://travelmap.net/blog/travelmap-story


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.


I've been working for about a year and a half on https://edabit.com which started as a side project for me to learn React. Not only did I end up learning a bunch of new frameworks / libraries, but seeing the application help thousands of people learn a programming language has been the most rewarding experience of all.


Definitely would be automating monthly reports at our company. Prior to building the system, it would take a week or two to collate all the data for our 200+ clients.

The system integrated with all our third-party analytics platforms that could handle all of our reports with a client of a button. Went from 1-2 weeks to 1-2 seconds.

Now we keep adding more and more integrations, and even our competitors want to use it.


A complex question with many layers. I'm very satisfied of a lot of small steps that does not mean a dime for other people, or each time I can find an unorthodox solution for a small problem. Digging holes and putting things on them is very rewarding :-).

But the feeling of having modestly helped to save a few lifes, would score very high in the list. It plays in a different league.


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.


A jutalom nem lehet csupán az anyagiakra vonatkozó elismerés. Jutalom a fejlődés, tapasztalat és a kompetenciák kiterjesztése. Ezek szerint minden munka jutalom. Természetesen vannak emlékezetesebbek is, amelyek már-már az ember részévé válnak. Utóbbiak közé tartozik a kezdetben FMK néven induló projekt is, melyben együtt örülünk és sírunk, ugye David? ;-)


Was working for un, eu, many "big" national companies. Most rewarding? Just finished touch ordering food display (kind like mcDonalds) for a friend. Node, html, works on win and linux. Had many obstacles on the way, solved all for free. Sure I earned a beer. Priceless. There's no money to be paid if you like what you're working on. :-)


I have been working for a non-profit in the health sector for 12 years now and only occasionally do gigs in enterprisey environments for serious money.

For me, going to bed each night, knowing lifes have been saved, has been enough reward. That and the fact that my work is 100% remote - I am writing this with a scotch in front of me at a North African beach ;)


I worked for 2 years in a project in the 90s where we wanted to adapt the Apple Newton for a particular market. We were closely connected to the devs at Apole and it was a lot of fun to see how a technology develops and to shape something out of a wide open space. I probably learned more during that time than in my other 20 years of work.


I developed a project ( https://github.com/nraynaud/webgcode ) and got a hundred stars, and 3 or 4 contacts for some work. It’s was good to have some external validation. I always feel a bit useless in software development.


While not being a job perse, for me it is getting married, moving around Europe while having a bunch of kids around and sticking to our two person contract since 25 years.

I have done some really really cool jobs, met amazing friends, made a bundle, lost a lot but the most rewarding project is and remains the partnership with my SO.


I have started to make games. I have teached myself Unity and started making casual games. Most satisfying thing about game development is presenting something fun to people and getting positive feedbacks as return. I have learned a lot in terms of game dev, gamification, monetization, publishing during process.


There have been a few posts on this thread about not for profits. Anyone interested in not-for-profit startups should look at https://www.nominettrust.org.uk/ whose strapline is 'We transform lives with tech"


I recently realized that not only do I want to do challenging, high-impact work, I want to be thanked for it! Knowing you made a small improvement to a million people is one thing. But if someone says it was great to you in person, it's really a good feeling. Satisfaction = impact + fuzzy feelings


I am currently working on a side project that aims to provide the defunct on-line / multiplayer functionality for an old game.

The positive feedback and joy I get back from the community, is really awesome :)

Also fiddeling with unknown file Formats and stuff, reveres engineering and re implementing defunct stuff is great fun :D


How awesome is reverse engineering! I absolutely love it.


My chess training tool: https://new.amecy.com/main/checkmate There are other tools that work similarly, but I never found one that worked just the way I wanted. So I started making my own.


Educo, a charity, were struggling to setup their website in joomla for 2 months. They had a windows hosting space and were facing issues. Helped them to setup a wordpress installation and move them to a new linux hosting space. Finished the work in 4 days.


Helped an academic build out http://www.humantraffickingdata.org/ to store research data related to human trafficking, supported group of 10 RAs doing analysis.


Running a local food and cocktail promotion side gig. It's got me out of the house, meeting tons of new people, chefs, bartenders, going to events. Helping them grow their businesses and my skills in photography.


I worked summers in college as a garbage man and laborer for my town department of public works.

My current side-hustle is guiding kayak trips with local outfitters. I am looking forward to retiring into that.


I wrote a small chrome extension to reload assets as they change.

In the grand scheme of things it doesn’t have many users, but it’s always nice to hear from someone when it makes their day a bit easier.


I like helping coworkers with problems that they encounter. I point them in the right direction and give them the reasoning behind why we should go one route instead of another.


Anyone work on something strategic that not only encompasses technology but a shift in how the business operates, does business with it's customers etc


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.


Hitting the gym has been the best project I have done for the past one year.. I am now more productive and waay more confident!


Teaching, academic research and OSS.


Creating iOS games for my daughter - hugely satisfying, moderately complex and insanely fun.


For me it was teaching African refugees how to program Java Script.


This is the interview question I ask every candidate


How would you answer it?


Working for my wife in her startup.


how do you separate work from the relationship? in the startup she's the boss, in marriage you are ideally equals.


After some 'challenges' in the beginning for being together 24/7 it works really well now for some years.

I make the technical decisions, she makes the sales decicisions and we both compromise on product with her with the final decision.


Mobarokaslam@gmail.com


Raising my son.

Playing music with my friends.

Building a home and relationships with my partners.

Building my body and mind through long term studies of various branches of philosophical and intellectual inquiry.

Caring for specific peoples' specific needs.

That all might sound hippy-dippy or unrealistic, but because of the history of our economy we tend to value only monetarily compensated public labor as "work", when in fact the domestic labor that recreates ourselves across time (like building homes and raising children) is far more intimate and important to our lives.

That is just my limited experience; I'm open to being wrong about that in other people.

And that's maybe a tough set of priorities if you're working 60 hours a week (including commute and the domestic labor that goes into maintaining yourself for the sole purposes of being able to do paid labor).

So, as I recognized that, I optimized my for-pay labor (I'm a web dev) into a 30-hour-a-week salaried 100% remote deal with a person who is a fantastic sales person. The work is fun and interesting, but more importantly it can be "just about the paycheck" because the meaningful work in my life gets enough time and attention for me to feel good about that work and see the results.

I dunno if that would work for other people, but it's been working well for me.


I very much agree. I ditto your sentiments.

I've had a few people ask me lately why I've spent so much time long-term (an hour or two a day, for at least 2 years) studying philosophy. It's very difficult to convey the feeling you get when really approaching philiosophical thought in the way Descartes challenged via apple baskets:

> “Suppose [a person] had a basket full of apples and, being worried that some of the apples were rotten, wanted to take out the rotten ones to prevent the rot spreading. How would he proceed? Would he not begin by tipping the whole lot out of the basket? And would not the next step be to cast his eye over each apple in turn, and pick up and put back in the basket only those he saw to be sound, leaving the others? In just the same way, those who have never philosophized correctly have various opinions in their minds which they have begun to store up since childhood, and which they therefore have reason to believe may in many cases be false. They then attempt to separate the false beliefs from the others, so as to prevent their contaminating the rest and making the whole lot uncertain. Now the best way they can accomplish this is to reject all their beliefs together in one go, as if they were all uncertain and false. They can then go over each belief in turn and re-adopt only those which they recognize to be true and indubitable.” --René Descartes, Meditations on First Philosophy


Any suggestions for someone who has never taken/read philosophy but would like to dip their toe into it?


I'd suggest the Philosophize This podcast.


Definitely second this. It's a great toe dip podcast that does a good overview. You can then dive deeper in areas of interest.


If you want a more gentle introduction, I recommend (in no particular order):

  1.  This website:  https://www.philosophybasics.com/

  2.  The "Philosophize This" podcast (start at the beginning)

  3.  The "Philosophers in 90 minutes" series (I recommend going in chronological order since most philosophers build on the work of previous philosophers)

  4.  "The Philosophy Book: Big Ideas Simply Explained": https://smile.amazon.com/gp/product/0756668611/
For a very thorough and newcomer friendly introduction:

  1.  The HoPWaG (History of Philosophy Without any Gaps) podcast:  https://historyofphilosophy.net/
When you're ready for more deep dive, or if you like to start out sprinting:

  1.  Introduction to Greek Philosophy (yes it's an "intro" course but it's amazing and pretty deep.  Highly recommended even if you are mostly interested in modern philosophy): 
 https://www.thegreatcourses.com/courses/introduction-to-greek-philosophy.html

  2.  The Modern Intellectual Tradition - Descartes to Derrida:  https://www.thegreatcourses.com/courses/modern-intellectual-tradition-from-descartes-to-derrida.html

  3.  The Modern Political Tradition - Hobbes to Habermas:  https://www.thegreatcourses.com/courses/the-modern-political-tradition-hobbes-to-habermas.html

  4.  A History of Western Philosophy by Bertrand Russell:  https://smile.amazon.com/History-Western-Philosophy-Bertrand-Russell/dp/0671201581

  5.  European Thought & Culture in the {19,20}th Century:  https://www.thegreatcourses.com/courses/european-thought-and-culture-in-the-19th-century.html  and  https://www.thegreatcourses.com/courses/european-thought-and-culture-in-the-20th-century.html

  6.  Great Minds of the Western Intellectual Tradition (honestly not my favorite, but it covers a lot of ground):  https://www.thegreatcourses.com/courses/great-minds-of-the-western-intellectual-tradition-3rd-edition.html

  7.  Original Sources!  Especially:

    A.  John Locke's Second Treatise of Government

    B.  Descartes First Meditation (this will blow your mind)

    C.  Immanuel Kant's Critique of Pure Reason

    D.  Kant's Metaphysics of Morals

    E.  If you are into politics and/or economics (if you really try to understand these books, you may come away having no idea what your political leanings are): 

      1.  Karl Marx - Communist Manifesto, and Das Kapital

      2.  Ludwig von Mises - Socialism, and Human Action

      3.  Hayek - Road to Serfdom
Those are some of my favorites. There is a giant queue I have left to read, and I've also left off some good ones.

There are quite a few additional books and Great Courses that I can also recommend if you're interested.

NOTE: Don't pay full price for a Great Courses course. They go on sale a couple times a year, so just keep an eye on them until they are 70-90% off. Also if you buy through their website they are DRM free.


>> There is a giant queue I have left to read, and I've also left off some good ones

Would love to know more about these.


My for-pay labor is not as optimized as yours but I treat my job like that as well. I don't need to find meaning or personal value (great if I can) in my job. I get that from my friends and family and the experiences I have with those people outside of work.


In my opinion, it is quite depressing to not chase meaning and personal value in something that takes 1/3 of my living time.


That's a byproduct of modern society. I find it depressing that society, since the late 18th century [1], thinks we need to work that long.

Nonetheless, your statement is a valid one. Personally, I do my best to reduce that 1/3. Finding work that allows flexible schedules or work remotely but all that job needs to do is provide me money, which in turn gives me more freedom.

That's not to say that I don't find satisfaction in my work, it's just ancillary, and so far, not a requirement.

[1] https://www.huffingtonpost.com/leonhard-widrich/the-origin-o...


I am similar. But I actually derive a lot of satisfaction from the saas project i created and work on because of the things that the money will help me do.

I do enjoy providing a product that helps make users lives and businesses simpler. But everytime a new customer signs up, I chalk that up as more time for my family, more money for travel with them, more money for a retirement income, more money for our dream home. It's exciting!


Haha, okay I will bite. What's the name of your SaaS project?


It's niche and wouldn't be useful to any readers here.


Any tips on finding a <40hr/week salaried job in the U.S.? I am remote-first too. And like you, I like to make music outside of work, and it's difficult to do so with long hours. (EDIT: finding -- or carving out, or negotiating, etc)

I've found it difficult to even broach the subject of work-life balance or expected hours. The norm (50+ hours a week) is so unhealthy, and I hate that it's taboo to even discuss it. I'd gladly discuss lower expected hours and lower base pay.


Thats a great answer but decidedly off topic. He asked a very specific question and you gave a completely different answer. HN, this shouldn't be voted up here. Our biases are showing by doing so.


It's ok if it's interesting.

Edit: I took a closer look and see the point now. It gives a more generic answer to a specific question. Such comments tend to be how discussions get less interesting, more because of the upvotes they attract than because the comment itself is bad.

https://news.ycombinator.com/newsguidelines.html


I've set up a very similar situation for myself. Part time work with near full time pay/benefits, remote when necessary. It took some effort to get the employers I wanted to work for to agree to it since it wasn't company policy.


How is any of this relevant to the question?


I'm with you. The context was explicit and obviously intended to be work-oriented. Obviously friends and family should rate higher than work. But this detracts from the intended discussion.

My most rewarding professional experience have come from 1) working with a respectful and high-standards team 2) solving a real world problem that is either new or inadequately address by current solutions 3) where I have a really clear idea of the value I add and see how I contribute.


I agree with you about the context.

I don't agree that many people draw the same obvious conclusion that family and friends rate higher that paid work-- note that in your response you explicitly draw a distinction between them that isn't necessary.

So while I understand you have an implicit bias towards saying that domestic labor isn't work, and while I understand that this bias permeates not only the question but our culture at large, I disagree that this bias is necessary.

And I feel like challenging that implicit bias is a worthwhile use of my time, so thank you for allowing me to make this specific and tiny project a little more explicit in my own mind.


So while I understand you have an implicit bias towards saying that domestic labor isn't work, and while I understand that this bias permeates not only the question but our culture at large, I disagree that this bias is necessary.

Yeah, no. I think we do all sorts of things and they are all "real work". But it falls into different areas. This particular area was about professional projects & jobs. In case this is an English language thing, it is common vernacular to call one's paid employment "work" without making a value judgement on other activities.

I think domestic work is extremely important and real work (and frankly, resent the heck out of your implication otherwise). You didn't mention self-improvement and education or charity, either, but I wouldn't be rude enough to imply you don't value those by not including them.


What you are saying makes sense to me. Within the context of the question, the expected answer is looking for some kind of feasible money-making project.

I know that we have a lot of biases about what constitutes work; the point here is to challenge that bias. That feels like a legitimate project to me, so I try to do it when I can.

I found this via HN the other day and it feels relavent to your response:

https://jdebp.eu/FGA/put-down-the-chocolate-covered-banana.h...


I am with you.

Comments like this indicate nothing but a demonstration of the ad hockery defense of familialism, which is increasingly becoming common here in HN for some reason.


I've noticed the same trend. As someone who never wants a family it's extremely tiring that the family-first norm is pushed so hard here. It's the last place I would expect it so I'm really curious why that is.


Well, I certainly didn't mean to imply that I am advocating that everyone should put their "family-first" any more than I am advocating everyone start playing music with my buddies or studying philosophy.

To answer your question, if you're looking for a cool business so you can do what you want that is great and if you're looking for "meaning" that might be something else. There is no way that I would presume to tell anyone else what they should find meaning in. If a family is not what you find meaningful, then you're a person and that's your entirely legit decision.

So:

A) the question is what projects I personally find most rewarding (not what projects I think other people would find rewarding),

B) the echo chamber response is resoundingly "my tech side project that I make little money on" (good for those folks, I sincerely am sure they love their families too, even if they feel like it's better to serve them through employment... heck, playing music with my buddies is very similar),

C) the OP's favorite part of being a developer is "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!" and I don't feel like something along the lines of "perhaps directly caring for the humans around you" is a crazy, out of context, hippy dippy answer.

I hope that doesn't sound like either a "defense of familism" or wear you out... it's just my own lived experience and I am sharing it because it's been helpful to me. I don't expect you to agree.


Are you not really aware of how you have convinced yourself into appraising the act of staying on topic as "echo chamber response," and then proceeded to rebel against that perception by pushing a motive. Not to mention the parade of frenzied up-voters with the selfsame motive - which is what, ironically, should have evoked that image of an echo chamber response.


Because the question is loosely defined. This was his valid interpretation of the question.


> 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

No, it was not if you read even first three sentences past the title. The sentiment is nice but it has nothing to do with the question.


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 am a bit concerned that this post is run by a russian/chinese agency that wants to capture project confessions. This would be an ideal intelligence gathering post. Maybe I should tone down on the paranoia ?


Also tone down your TV


probably




Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: