The problem is, I have a rather low intellect. My IQ is medium/low, so I am not capable of solving complex algorithms, and my brain processing power is nowhere near some of the other guys that I work with, so I can't build truly incredible feats of engineering like 3d rendering engines or voice recognition systems.
And yet, despite my shameful lack of smarts, I feel truly satisfied by my job, because it is the right fit for my capabilities. I build and fix UI's, have a fantastic manager, am supported by a positive and helpful team which practices positive communication strategies, and regularly get rewarded with compliments for my work.
I'm not a big fish swimming in a small pond, nor am I a small fish swimming in a big one - my pond and I are in balance, and there are no sharks or parasites in it, and that keeps me happy every day.
Please God one day they will invent a therapy that will give me Einstein's IQ. Until then, this will have to do. Hope this helps.
But the biggest benefit is I get to set set the culture of the company without having to answer to anyone else. I worked for years in corporate tech companies (FAANG) and while I could create little pockets of healthy spaces, there were always people getting in the way of creating a truly psychologically safe place for people. It's a huge relief not having to worry about that anymore and instead I can fully tap into the psychology of motivation, treat people with fairness and empathy, and be transparent without getting into trouble with leadership. It's made the job more satisfying and everyone we work with gets along amazingly well while being incredibly supportive of each other.
I can enjoy even menial work if I'm surrounded by friendly people who like doing a good job.
I can loathe any work if I have to deal with unqualified, socially combative, or unnecessarily difficult coworkers.
The job also needs to be focused on delivering the product, not constantly fighting corporate dysfunction, attending meetings, and jumping through managerial hoops.
Interestingly, nobody has ever written to thank me for keeping their data secure. But I suppose security is something which is generally only noticed when it's missing.
I love programming, and I do it as a hobby, but if it didn't pay well, I wouldn't do it as a job. I would do whatever job I am capable of that pays the most.
I am just beyond lucky that programming pays well, because being poor in this world sucks.
- I get to work on a game that I enjoy playing. I've worked on some games that I didn't care for (or I was not the target audience), and it's still fun work, but when you genuinely like the game, and play it in your free time, ah! It's such a joy.
- At my current company, I'm working with some of the most skilled people I've ever met. To be surrounded by awesome people is inspiring. Just by being themselves, they push me to be a better engineer, because I want to be able to stand alongside them and call them colleagues.
- I'm paid well! I'm certainly not in the FAANG salary range, but to be honest, I'm making more than nearly everyone I know outside of work. I count myself extraordinarily lucky, my salary is certainly outside the norm for my age group.
- In terms of the work itself: I enjoy problem solving and helping people out. I get to do a little bit of both every day. Those are the day-to-day fulfillments that I really appreciate.
The worst part of the job by far is drafting and editing reports. This sometimes goes on for several days.
I like it primarily because I get all the excitement of being a nation-state level adversary / threat actor / "bad guy", with none of the legal/moral/ethical risks/harms - my work ultimately contributes towards making our products (and thus our consumers) safer from such threats.
Emergencies are rare, though I'm always on last line of support I never get paged except rare times I'm also on first line. Daytime support requests go to a person selected from a large rotation. About the only complaint is that shipping code can sometimes take a while go get through CI/CD as the test suite is large and arbitrary/intermittent failures can happen and take several tries in some cases. Meetings are either very project focused or larger informational ones can be watched async.
Work is remote, work from home, but we do have team meetings most days and often pair/screen-share working on specific problems. Sometimes we do mob-programming in larger groups. One thing that's great is that deadlines are not decided too far in advance. Only when the work is approaching completion is a date chosen to align with an external event to release major features.
Why I don't love my job:
- I'm making someone else rich
- I don't believe in 99.99% of the ideas/business out there. But I need to pay the bills
- 99.99% of the time we work on useless stuff just for the sake of "selling more". Usually this stuff is hidden behind a "think customer first" kind of slogans (e.g., the new UI for Tesla cars)
- developers around me (including myself) know little about their profession. Software engineering is all about opinions. "Good practices" are not laws/theorems, so there's always plenty of room for debate and different opinions. It's always a waste of time because at the end of the day we are building crap
- current software engineering practices are crap as well (e.g., agile manifesto, agile implementation, scrum), and the tooling is in baby steps (react, npm, python package managers, golang dependency management, etc.)
That being said, I don't dislike my job. It pays the bills, and since I care deeply enough about my career, I can fulfill my daily work duties in a couple of hours, leaving me the rest of the day to explore more insightful stuff. I love my career. Computer Science is beautiful and makes me learn more about it every day. I think that feeling will never get old, so I'm lucky.
I find almost all of my day-to-day tasks quite boring (answer sales emails, performance reviews, accounting, support, etc). But somehow, I still really love working.
I guess one of the factors is a feeling of ownership and agency. I can decide what I want to do and when. When something good happens to the company, it feels like that is also happening to me (this can also be hard sometimes when things don't go well).
Another important factor is that as "the boss", you can pick your own team. It seems like most work-frustration I hear from friends have to do with bad coworkers. I don't have bad coworkers. If I did, I could let them go, and I can try to avoid hiring those people.
And we get a lot of freedom. Neo4j does not use a schema to validate whether the data obeys a particular structure, so currently our taxonomies aren't binding, but I'm trying to figure out if I can make them binding in neo4j by stretching the plugin mechanisms a bit further than we've done so far. Not because anyone told me to, but because I think it's something we need.
It's a very relaxed atmosphere to dive deep into some very interesting topics.
Here is how it goes when you find an issue with a qualcomm chip (which is what you are using if you want to make anything fast and portable): (1) they ignore you, (2) they tell you to fuck off, (3) they ignore you some more, (4) they tell you that because your design is not a 100% copy of their reference design, they cannot support you, (5) they delay, (6) they tell you that a new chip came out and you should try that, while not specifying if anything was actually fixed.
Here is how it goes at Apple: (1) you think you might have an issue, (2) in < 30 minutes you have a meeting/slack channel with the team that designed the chip and can clarify/discuss as needed.
It is incredibly cool to know that every part of the device is made in the same company - it means that no matter what your issue is, someone will care and try to resolve it!
* I love the people -- I enjoy working with creative folks (artists, designers). As for programmers, everyone who worked in gamedev for 5+ years is batshit insane in their own way, so they're fun to be around, too.
* The project is exciting, and no one will do it if we don't. I'd absolutely LOVE to play the game we're making.
* I'm somewhat irreplaceable due to the nature of small teams working on big projects in a developing country. People with comparable experience prefer moving to Sweden or US for reasons I don't quite understand ¯\_(ツ)_/¯
* The salary is good for where I live. Nothing outrageous, but I can get a house, a car, and would still have some money to spare.
* 100% full remote
* I'm a bit overqualified. In other words, at the exchange of ~20% lower salary, I get the extra time to do things my way, or even slack off half the day if I feel like it.
There is one single reason I'm considering moving (to even less developed place), and it's that I'm concerned the complete lack of stress in my day-to-day life will turn me into a weakling, and when bad things come (and they always do), I won't be ready.
I also get to deal with the hottest platforms just enough (public cloud, on-prem K8s, etc) while getting to maintain the vast on-prem server infrastructure that is the majority of my job. I'm not a fan of Terraform, Ansible, Chef, etc (I don't hate them and I've used them extensively elsewhere) so I enjoy that I've given the autonomy to write the actual code to do what needs to be done rather than use a platform that just takes in a config file.
So simply put, my job let's me do the technical work how I want (with team collaboration of course).
But then the company grew, and I found myself relegated to some armpit of one of our backend systems, with legacy code so bad Lovecraft credited it as an inspiration. What I work on tends to be completely invisible and doesn't feel aligned with the company's successes at all. Now I find my job saddening.
I also get to act in a variety of roles, from developer to architect to reviewer/advisor to tech lead. I'm working to move away from formal leadership of people or projects (I seem to have a confounding inversely proportional relationship with Formal Responsibility: the more of it I have, the less I am able to accomplish) and this may ultimately have a negative impact on my career-total-compensation; the org has formal personnel and project management tracks but not really anything for ICs. However, it is having a very positive impact on both my productivity and my mental health. It is a relatively recent change, so we'll have to see what my raise looks like next year; maybe management will see my impact as an interconnected contributor as even greater than when I was a manager.
I am full-time remote with a pretty flexible schedule (attend all important meetings and get in my 80 hours every two weeks and it mostly doesn't matter if I'm writing code at 10AM or 10PM) and generally I get to work with whatever coding tools I prefer (need to get my Emacs-Jira integration MVP finished though, because Jira is a tremendous productivity sink for me and some of my projects use it)
There have been a couple of rough patches, note.
But it comes down: Daily, I get to use my mastery over something I enjoy doing; and “monthly” I get an impact on the world I’m proud of.
I'm a software engineer and solutions architect.
I work in R&D in the Medical Devices space.
I fully appreciate I could be making a lot more money in other domains (namely distributed systems) but for me the drive and happiness that comes with creating something that I feel _really_ matters is not easily replaceable.
I am not sticking around that long, this is my way of leaving things slightly better.
Something else that’s fun is making a tool that helps people save time during engagements.
After a while the job is repetitive though and the thrill fades away. I’m at a point where I want to try something new but not sure where to go. I don’t want to go back to doing tickets or being on call. I also like having flexible working hours.
We sometimes have interesting problems that requires us to think a lot. That’s a lot of fun.
My colleagues are funny, so we laugh a lot.
There’s a lot of red tape that sometimes drives me nuts. On the other hand it’s really satisfying to manage red tape efficiently.
This is probably an unpopular opinion but being good at office politics can be satisfying.
Oh, and being able to program at my company is a superpower. Superpowers are fun.
Red Hat gives me my assignments for the next few weeks or months, tell me what end result everyone wants to see, and sends me to go get it done. I'm 100% trusted to do the job, no micromanagement. If I need help I'm a phone call away from expert engineers in all of our products. I have a TS clearance, so I'm onsite more often than not because I'm working on disconnected networks.
While I technically have a manager, they're more like a handler or mission control. He hands me my tasks, tells me the lay of the land, and gives me access to anything I need for the job. I'm not really "managed" on a day-to-day basis. Every engagement has it's own project manager that I work with closely but even that is a peer relationship, no supervisory.
I travel constantly but love it. 200+ nights in a hotel every year for the past 5 years. My wife's job is mostly remote, so she joins me on occasion, and I can get her plane tickets with my racked up mileage points. I can "pay" for our vacations entirely with loyalty points (car, hotel, plane).
One thing I love about Red Hat is everyone pushes each other forward. Co-workers reach down and pull their colleagues up behind them. Never before have I felt such a sense that my colleagues have my back all the way. A very "we're all in this together" attitude throughout the company. Also, while you're always encouraged to move up the promotion ladder if you want, if you've found a niche that you're comfy in then that's supported to. There's no up-or-out like some organizations, and no forced ranking thank Yoba.
tl;dr Red Hat completely trusts me to do my job, and does everything it can to help me succeed. It's awesome.
On top of that the ability to look into the core business (not software) I can learn alot of things and evtl change jobs every couple of years easily. Yea I admit I don’t enjoy every Monday but hey my overall life is pretty good in combination with that job.
There are no business hours, no schedule, no one being mad if I don't answer for a few days. What I call work is 90% just working on new things I think are interesting right now for me and 10% talking to customers and fixing things.
Before that took of I earned most my money trough a small (niche) online shop. Which is more work, but still very rewarding IMO.
Edit:// Quality of work is mainly not waking up early for me and having long weekends whenever I want.
My job gives me the chance to do that - I see a problem, I work with the customer to come up with a solution, I design and develop an MVP, I teach their developers and DevOps folks and I move on to the next project.
Even though I work at a huge company, my project teams are small and focused and I get to wear a lot of hats - pre-sales, project management, developer, architect, Devops, etc depending on the project.
Working remotely is a huge plus.
I find my job very satisfying because of the opportunities for career growth and advancement within the company (Rather Labs). It is a honor to be part of a reputable blockchain company that is known for its innovative and reliable solutions.
All in all, working in the field of blockchain technology is a highly satisfying and fulfilling career choice, and I would highly recommend it to anyone interested in being part of this exciting and growing industry.
What makes my job satisfying is working with computers from home. Releasing something important in the evening. That feeling of unease/excitement when your code first enters production front staging. The regular hours and I've been working myself out of meetings by empowering others.
In some areas I was the expert, but in so many others they had the expertise, and so I got to learn a lot from them. And not just in terms of technology and software.
We built up a comradery strong enough that to this day I still regularly meet with old team mates from previous positions to catch up and stay in touch.
Second to that were the problems that needed solving. Still important but not as much as the team.
I'm pretty much at the centre of the Ikigai venn diagram.
I don't love working and think I would retire if I could afford to do so. But it's not too bad.
From emptiness to something.
It truly feels divine, like I am a creator. It’s a wonderful experience.
Any job where you build things is a job I would enjoy. To take something from nothing to something that people love and tell you is making their (work) life better is quite humbling.
As long as there's consistent interesting work to do, I can handle some boring tickets here and there.
The biggest drags seem to be repeating work I’ve done before, and being told not to make something as good as I think it should be.
So, exploring, discovering new things, and using what I’ve learned to do something excellently. Which can be hard sometimes. There isn’t always something new that needs doing!
I get respect and have the ability to influence outcomes.
And also turns out it's sufficiently difficult that not many people are interested in solving it/believe it can be solved. I'm here to prove them wrong.
Personally I hate my job, 10 years in tech support is not fun. But Recently I've started to work as CSM and I love it, it's new & exciting and I get to learn about business and strategy. I get to impact our customers before they make the mistakes that put them in contact with support. The pay is decent, the coworkers are great, and the job satisfaction is real.
So I guess I found my Unicorn for now.
Also I'm well compensated and surrounded by smart and kind people.
- no micromanaging
- no fixed hours, purely target driven work
- bosses are true gentlemen
- pay is thin, but higher than local market
- humane company, understands my issues