Ask HN: Tricks to enjoy your job more?
I love to code, but the pressure of work makes me dwindle both physically and mentally.
After lots of conscious effort, I’m back in a good physical and mental state trying to not let work take me down this year.
What tips would you give to someone to avoid getting drained by work and politics/human emotions? Change jobs! Seriously. Nothing more invigorating than to face new challenges, tools and codebases and to get to know new people and new ways of working. It also costs energy but usually it makes you feel better at the end of a day rather than worse. After my last change things got even worse. Well... except $$$. But it was promising in the beginning. Letting go of a high paying job can be really hard. Those golden handcuffs really work. I know a few Googlers that would love to 'break free' but their life style won't let them. Anything worth trying is worth trying three times. If you don't succeed... Regular exercise. Make your priority be health not work. Fit everything around that. Every day the goal is to get an hour of exercise in and hopefully some work. In my case the work actually improves. Family and kids makes this more challenging but with clear communication and scheduling my partner and I can both make it work... with the odd chaotic off-cycle. +1 Ideally try to combine exercise with something you enjoy, so that exercise is the side effect. Then it becomes effortless and something to look forward to. As an over-worker, but also someone who enjoys their job, I still find it important to make room for these other things in life (physical activities, adventure, music, art, whatever)... they give you perspective and balance in life, and without them work can start to feel overwhelming. Small details start feeling more important than they really are - and I think this is where that feeling of exhaustion can come from, because even though you might be making good progress and delivering value, it stops feeling like it without that perspective. Here are the things that make the job less exhausting and more fun for me: 1. Knowing why I'm doing something. 2. Knowing what I'm going to do before doing it. 3. Having a plan before I start working on something. 4. Make sure the project you're working on has some structure and if you're working in a team, make sure everyone is on the same page. Thinking about how your career should progress in the future also should make you enjoy work more, this is so it doesn't feel like what you're doing today is going to be what you're going to do forever, personally, not having that vision makes me depressed. I personally believe most of the mental drain of knowledge work comes from the ambiguity and the fatigue that comes from not having good plans which in turn cause more mistakes, longer work hours and more stress. Some people also talk about injecting new things into your work which is good, but I also think "mastery" is very fun and rewarding, mastering your test suite framework, your editor, your chosen programming language. This wouldn't apply to everyone's circumstances, but I found it helpful to go for a walk away from the office in the middle of every day, weather permitting. (I worked in a city with interesting scenery; I'd eat lunch in 15 minutes, then wander around exploring for 45 minutes.) It was refreshing, and gave me perspective that there was a world outside of the office. I've just started to do a worse job and using the time and energy savings on things that are fun. I've been learning a lot of guitar (for the first time in years) during the work day with this method. I may even have a little band soon. More tips and tricks here: https://www.openculture.com/2022/01/read-the-cias-simple-sab... The manual made my day. Try to inject something new into what you're doing. It might be mundane and repetitive but try to figure out something new which you can inject as a learning experience. Write it in Lisp and don't tell the boss! I wonder if anyone has ever gotten this to work. I sure hope so. I've not secretly added Lisp code to the actual product, but I regularly do supporting work in Lisp: everything from personal tooling that doesn't affect everyone else to research items: prototyping, data analysis and whatnot. Mostly, I use TXR Lisp; a Lisp dialect I made myself that's good for this sort of use. Here is a recent example: a program which uses the Gerrit web API to extract comments from review items and turn them into output that looks like compiler diagnostics. I can feed that to my editor to navigate through the code and fix the commented issues. It is called ger2err: This is a great idea. I've often written small chunks of code in my favorite other language (scheme). I find this very satisfying. Of course, I only do this after finishing the original task.
Sometimes, it's possible to work up prototypes in your favorite other language before starting the main task. This often leads to better code (i.e. less code). I'll bet that happened more than once. I always wondered how that Prolog core got embedded in the Windows NT network stack. Did it. Wrote some Clojure in a large Java shop about 10 years ago. Took about 4 months before I got a slap on the wrist. Ironic. Thread about being fed up at work. Advice
given: make it new! Reply to that “yeah did that and they punished me” Goes full circle to … work sucks! Ah, clever, targeting the JVM they never knew what they had on board. Code review failure though :) I write a todo list in blue pen on a legal pad and cross it out with red pen. So satisfying. I also curate pleasurable pens for this process. Physical todo lists are great, and you can take photos if you need them on the go Identify where you are the problem. Most of us are oversensitive. I adopted an internal paradigm after many years of, "I am doing the best work I can here, if it isn't good enough, sack me". Give yourself a break, and make sure you aren't making yourself weary in part. The other trick that helped me through the most difficult times was working with my hands outdoors. Over a 7 year period I landscaped my garden and built two sheds in my spare time. I'm pretty sure this was an antidote to looking after a saas. Some tricks: 1. See this job as a stepping stone to the next great opportunity and so you’re not working but taking this as an opportunity to learn a new skill 2. Not enjoying job can mean anxiety about the job, exercise / weights is good to kill the anxiety. 3. Try and get good at what you do and broaden and deepen your skill set so if this job falls through you can easily get the next one In the same boat plus coding in work is not exactly exciting, which is fine. I used holiday and vacation to do my own "pinball" projects (interesting side projects). I also tried to create mini pinball projects in work, such as small scripts to automate things or larger, slightly over complicated scripts to achieve larger targets. What do you mean by pinball projects? Interesting side projects. I took the reference from "The soul of the new machine" book. Take a look at https://www.optimalwork.com/ I have only completed the free trial and listened to some of the podcast so far, but some of the ideas like “reframing” are game changing. Request a 4-day work week. If your employer has a volunteering program, participate. If your employer does not have a volunteering program, consider starting one. (or find an employer that does) Organize with your coworkers Align yourself with a project that's important to the business. Align is a meaningless MBA buzzword, candidly. If I think the project is worthwhile, I’m already aligned. If I think it’s stupid, I can’t “align myself” without first being convinced that I was wrong and the project is, in fact, great. You know what's best for you Care less. You won’t stress about your job if you don’t care about it. Your job is just a thing you have to do because of capitalism. Nothing to stress about if you succeed or fail. You do what you are required to do to get paid, and no more. Get your satisfaction in life outside of your job. Try to always build new stuff (instead of bugfixing) given an option and continuously move on to solve new and latest problems within or outside the company. Work sucks. Unless you're a shot caller you're destined to be ground down to the bone via attrition. Work politics, non-sense meetings, code you have no passion for. Developers are still cost centers to be minimized. Professional code is rarely important, meaningful, or enlightening. Neither are the people you work with. Promotions rarely pay commensurate to the responsibility. The trick is to stop caring so damn much. Your job doesn't need you no matter how good you are. There's 100,000 developers in another country ready to be contracted out to take your place once it becomes fiscally responsible for the company to do so. Keep this in mind at all times while at work. You are replaceable no matter what superlatives they assign to you. In fact, superlatives, 360 reviews, etc are all just carrots dangled in front of you to get you to take more on-call shifts, push yourself harder, skip holidays and meals, etc. They may not overtly indicate this but regardless of how "good" a company is these are fundamental. Paretos principle. 20% of the developers (the morons) do 80% of the work. Don't strive to be the 20%. The solution? IMO, find some hobbies. Use 'em as excuses to never do extra. The ole "sorry I'm busy with <important thing>" trick. Dedicate the least amount of brain power to work that you can get away with. I often check out mentally for several hours at work. It's probably some kind of survival mechanism but I don't really hate showing up, coasting, and collecting a paycheck. My work still gets done and occasionally I'll even "take one for the team" to get a couple extra positive reviews. Gives me more energy to spend on things I like. It's honestly not my job. I do this at every job. In general, I am far happier not killing myself so the CEO can buy another ferrari. Let the bright eyed new grads learn the hard way. >The trick is to stop caring so damn much. This is the key right here. Work is just something you do to make money to live and enjoy life. There's other jobs you can go look for if the current one becomes too much of a drag. The company isn't yours, so stop acting like you're an "owner"; you're not, you're just a hired gun. Just do well enough to get some decent reviews, professional contacts, and a pathway to other jobs to ensure your career has a good future, and don't stress out about anything. This happens once there's a cash cow product with a decent market share. Once that happens, it's marketing and sales who call the shots. Indeed. In every company developers have a very thick glass ceiling. The only way up is to make it to VP/CTO/etc. If you're not in sales (marketing...maybe) you aren't going to ever make the big bucks. Your pay will never be commensurate to your suffering. So, just stop caring. It's weird how 3 words can be so hard to execute on. But after being one of the morons in the 20% I mentioned earlier I suddenly attained enlightenment after a very deep depression. It's truly a lesson that you seem to only learn once you're beaten into the ground despite doing everything right. Well... neuroticism is a career killer. If you excibit neuroticism, your chances are not good.