But I, and I suspect most engineers, have the capacity to get my work done for a week in less than 40 hours. I used to spend time dicking off on my computer to fill the time. Now I don't. I go do something I want to do.
I find that I'm much more engaged in my work because I am actually using all my time to get things done. I'm not watching the clock till its time to leave for the day.
I'll probably get hate for this but its incredibly sustainable since I'm not working at a start up anymore. I suspect whenever I take on another job search I'll only consider 4 day work weeks since that's similar to what I'm doing now.
During the pandemic I work maybe 4 hours a day. I wake up late, go for a walk, review some PRs, and then dig into a task. Meetings in the afternoon, another walk, maybe a bike ride. After dinner if I have something on my mind I'll log back on and do an hour or two to get it done. I'm accessible via Slack on my phone almost all of the time, but I take ~20 minutes to respond.
So far nobody cares. I'm hitting my OKRs, I'm helping junior devs, and I get to enjoy the beautiful summer weather.
In fact, it's much better for the company in the long run because I'm likely to stay for more than a few years because I actually enjoy my wlb.
Your comment inspired me to get out and do something instead. Thanks for that.
The key, of course, is to get a job that isn't as demanding. Personally, I've found that most of those jobs don't pay more nor have better career growth anyway.
Of all the bad heuristics for trying to determine whether someone is being productive, this has to be near the bottom of the list. It's the digital equivalent of measuring engineer productivity by looking around the room and seeing who is at their desk. Except that it can be trivially gamed by a simple mouse jiggler script.
[1] This is assuming you're not missing meetings, and it's not a role that is customer facing with defined hours (e.g. storefront that's open for an advertised set of hours).
[2] The way to tell, BTW, is there's always someone else who's working less than you're expected to but is getting a pass.
I'll happily explain that to anyone who asks but I've only had a few people ask. Again, if you get your work done most people dont give a shit.
This place was hands down the worst place I’ve worked at. Nothing was ever getting done, everyone was running with their hair on fire constantly, it was hell. But managers paid a lot of attention to the color of the IM dot instead of, you know, fixing actual problems.
Fuck this place. I don’t miss it. I hope it gets run into the ground by the multiple layers of incompetents at the helm. But it’s unlikely, their customers are in a regulated, captive market.
Then it's just normal.
As long as they continue to complete their work to my satisfaction level I don’t question them on it. I’ve made clear to them that there’s a few core hours they need to make sure they can be available for meetings with other teams and our 5-10 minute standup is about the only checkin I need. I can already see their git commits and jira history so if I really really wanted to follow along as they go I check that instead of interrupting the devs.
My management might want us to work harder if they found out, but every time they’ve tried to get more productivity without increasing pay there’s been a mini exodus of employees and I think they’ve(consciously or not) picked up on the amount of output they are going to get for their salary.
The common opinion I and other managers I know well enough to speak openly with is that this a fantastic event for good managers and terrible for bad ones. The good ones work load has diminished because we as managers no longer have to do performative micromanagement for our bosses or other managers. Good managers also already were managing against plans or results that don’t change whether remote or in office. The bad managers have had their workload increase because micromanaging remotely doesn’t appear to be a solved problem
The challenge is actually getting people to take advantage of this. I work with folks who default to overworking, so I have to be pretty insistent that they take time for themselves.
Most of the time my team has a good work life balance. They will all buckle up if shit hits the fan then we go back into normal mode.
I could also be wrong here and the correction won't be this harsh, but just throwing out a different perspective I don't feel is being shared across Hacker News enough yet.
> Pick an activity that you've always wanted to try. Don't have ideas? Try Wikipedia for a good list of hobbies
I already have plenty of hobbies, and I'd rather work on any of them than be at work!
I've always been very self-motivated. I want to work on what I want to work on. Being forced to work on things that I don't care about in order to draw a salary sucks, and no amount of
> Schedule a 30-minute time block to freely jot down questions that spark your curiosity as an engineer. (They don't have to be about work.)
is going to change that. If anything, it makes it worse because now I would rather be investigating those questions than working!
The best interpretation I could infer was that if you are engaged outside work, you'll be able to be more engaged at work?
My feelings about cause-and-effect are the opposite. When I'm disengaged at work, I'm less engaged outside of work. I'll try to do hobbies and stuff outside of work but it makes the contrast more drastic, which makes work less bearable.
I think it can work for a small business where you can hold the whole thing in your head. It's _much_ harder when you're thinking about a multi-thousand-person enterprise with a dozen product lines.
I wish I realized earlier that changing job is no big thing. Even though one should do it for the right reasons. Once you feel like you are dying inside at a workplace it is not like a hobby will fix that.
Having intrinsic motivation for your work is a huge privilege. Be thankful for it!
Just to clarify, I am intrinsically motivated for my work. I am not intrinsically motivated at work. I've actually begun to see the industry I work in as kind of dumb.
But finding these jobs where actual "what you do with the data" is the majority work, and the fluff around it is a minority, is HARD and such jobs seem to be more far between. Perhaps because the software jobs that used to be difficult algorithmic problems are now so specialised (Data scientist, Game engines, AI, ...). And that's a bit sad. For those of us who get a kick out of not making a Todo app in an ever cooler JS framework but instead like to write the synth/raytracer/fluid sim/game/, the job market has become pretty boring. Luckily I have a job that ticks the boxes, but it's hard to find another.
Give yourself a small purpose and spend some of your work day on it. Make it something that feels rewarding. Remember, 1/3 of your life is spent at work.
Maybe you only want to focus on the technical. That doesn't mean only becoming an expert in one domain, but also pulling in knowledge from other domains for perspective and inspiration. Maybe you learn how the operating system works, or embedded design. Maybe learn how car ECUs work. Maybe in learning about cars you notice different companies make different designs, decisions, priorities, leading to different outcomes. Maybe you learn about NUMMI and the Toyota Production System. Then maybe you hear tech buzzwords that come from Toyota and find out how they're related. Then maybe you take all those non-technical ideas back into your technical work.
If you like to solve problems, you don't have to stop at technical ones. You can work on organizational problems, financial problems, logistical problems, communication problems, architectural problems. There's a million problems outside your domain of expertise, and you can learn about all of them. Your biggest problem is an overabundance of choice.
If you like to help people, you don't have to help just your immediate team. You can look at other teams and see if they need help. Maybe not even business help, but personal help. Maybe you'd like to join an employee resource group, or organize one; or a charity bake sale, or a hackathon. Or work on convincing your job to have a donation matching program, or finding a local charity to reinvest some percentage of profit into, or convincing execs to give everyone the day off on election day.
This is kinda dangerous advice, because I've been involved in countless CRUD apps where the developers were bored and made things more interesting for themselves; NoSQL databases, difficult programming languages like Scala, microservices, CQRS, infrastructure-as-code that was never used in practice (it was wishful-thinking-as-code), home-rolled frameworks (one involved the CTO / lead developer to basically work from home and stay underwater for six months before coming out with a C# framework; it was just e-commerce that used a 3rd party to do all the heavy lifting), etc.
Heed the magpie developer. Choose boring technology. Eat the shit sandwich or move on if you think CRUD is beneath you.
It would also be nice to have a job solving interesting computer science problems, like building compilers, tools, optimisation systems, etc. But that's unlikely unless you're actually a genius, or at least an accomplished academic, but some of the things you have to do to get ahead in academia seem even more demeaning than writing CRUD apps.
Instead every single job in my career has been the mess that you describe, and I'm starting to lose hope that there is anything other than it in this industry. I think it's the absolute worst of both worlds. You're solving completely trivial problems, but you're forced to do it in the most convoluted way possible. You sit all day racking your brain under maximum cognitive load trying to accomplish something so trivial and mundane that every single fill-in-the-blanks framework already does for you out of the box.
Somehow we have an industry of people who believe that work needs to be a source of personal entertainment instead of, you know, work.
Expectations need to change. Imagine if other occupations were like this? You hire a plumber to fix a clog and they spend the entire day on fastening some custom device because they felt that using a drain snake was just too boring.
Compare to product owners and engineering managers who either have no clue how bad it is, or have been conditioned to believe that it is completely normal or even desirable.
>Somehow we have an industry of people who believe that work needs to be a source of personal entertainment instead of, you know, work.
More importantly it should be a source of money for living without either burning yourself out or causing the poor sods who have to clean up after you to burn out. The current state of affairs is hurting both employees and employers. Just telling the employees off doesn't change anything or help anyone.
There are still tedious/repetitive things that come up, though, and if the repetition is bad enough, then there are opportunities to do something clever... But again: Can it be done simply enough to make it worthwhile? Another challenge.
And sometimes you just gotta do the dirty work dirty, and hang in there. Admittedly that is part of any job done well, in the long run.
Make your job the union of what you're interested in and what is valuable to the business.
You have to know what is valuable to the business; that knowledge is challenging to acquire but will _always_ help you in any role. It has to be true and verified with stakeholders, not your gut. There are soft skills involved here.
You also have to know what you're interested in, which is also not easy after building CRUD apps for years.
And you have to sell it — more soft skills.
If you can — you can! — the result is a job description or project that you helped co-create, that you own in the most meaningful sense of the word, and that you're more excited to work on. The add on results is that you are more valuable to that specific company, and you've leveled up soft skills and business thinking that makes you more valuable to any company.
I've done this consciously several times in at least 4 companies of various sizes. I've ended up building a new mobile architecture platform and library, a data warehouse and ETLT pipeline, multiple projects in languages I wanted to learn, new frameworks and libraries for various other industry-specific web dev things, and a few rewrites of legacy software.
I still feel blah a lot of the time, and still think my path through this industry has been... non-optimized to say the least, but I have a path that helps me reengage when I have the energy for internal sales.
I want to treat my work as a necessary "transaction" and don't want to devote any additonal energy to it than is required. Save your mental energy for your own life and activities.
Sure we all want our work to be fulfilling, but from experience I would urge against getting too "into" your work.
As a high school dropout who eventually did community college to a degree in computer science at a UC, I've worked all kinds of minimum wage, soul-sucking jobs in between. Just having enough money and free time now to do anything else besides my job has been such an amazing gift, and I could give two shits at this point if I sometimes have to deal with a GWT codebase regularly.
Have a good idea? Coordinate with the right people and go for it. Even if nobody asked you to.
You should never feel like you need someone's authorisation to do a good job.
Becoming free anywhere, even within one's regular work, is not about asking for freedom -- it's about insisting to act as if one is already free.
Or, as Grace Hopper put it, "it's far easier to ask for forgiveness than for permission."
----
Sometimes this will lead to wonderful things.
Sometimes, sure, this will get you into a mess, but honestly, weren't you sort of already? Spending a 25 % of your life somewhere you are unable to engage is messed up.
Engagement is almost entirely dictated by your employer - not the employee. You need a good manager, good team, and decent work to stay engaged.
- Magnet Fishing (https://en.wikipedia.org/wiki/Magnet_fishing)
- Binge watching ( didn't know it can be called as a hobby - https://en.wikipedia.org/wiki/Binge-watching )
- Constructing languages ( https://en.wikipedia.org/wiki/Constructed_language )
- Tea bag collecting ( https://en.wikipedia.org/wiki/Tea_bag )
Bonus: Tolkien would approve.
Sometimes that's all there is to it. This is work - fulfillment is optional.
For this reason I try to engage in a measly paid, but interesting project from time to time.
I'm currently in one. I won't be buying that apartment I wanted any time soon, but I can say with confidence that I like my job.
Work won't love me back, so why should I love my work? I lost interest in unrequited love back in high school when I outgrew my Young Werther phase.
Because a career spans 40-50 years of being employed in one's profession. As the slow but steady stream of Ask HN's that boil down to "How do I get out of the software industry?" highlight, one pretty must has to derive at least some minimal enjoyment of their profession to help avoid becoming jaded or burnt out.
it seems like I want this out of an existencial instict; one which the modern world has completely disregarded.
I want it, but I know (and I agree with your stance) that I will not find it in any "industry" work; academic work, on the other hand, does rely on this kind of self-motivated engagement much more than industry but has other problems.
Has the modern world completely disregarded this existential need, or have capitalists weaponized it against workers?
Collective trauma in the current web application-building cohort from the dark days of the 90s/00s?
> Why do web applications have no sound? Why can't we make boring internal tools come to life with sound, in the same way that UI on a Nintendo Switch pops and clicks and whistles?
I've been considering adding some sounds[2] to the project I'm working on.
1: https://www.joshwcomeau.com/react/announcing-use-sound-react... 2: https://github.com/snd-lib/snd-lib
I realize that if you're not a team lead or manager, this is difficult to implement. However, sometimes physical manifestations of progress can make progress feel more tangible. For example, if you have to churn through tickets, make a little card for each one. And push them from a pending pile into the done pile as you go. This makes your progress more visible and tangible than a number on a website. Of course, a big "to do" pile may demotivate some folks. YMMV.
Just a bit of food for thought.
Anyone have any cool hobbies?
Anyone can call me and say hi. We chat about anything you’re passionate about, pair program or… rant.
I’ve met a tonne of fascinating people this way. Another neat side-effect of that was filling my backlog with new project ideas (mostly thanks to rants).
Come and say hi! http://sonnet.io/posts/hi/
Taxidermy supplies, figurines suppliers (from Hummel to Gundam), not to mention the tomes from electronics and engineering distributors like R.S, which are still available (usually at a fee).
Sure you can do it just browsing an ecommerce website, but it’s not the same.
I think I just liked seeing a snapshot of a specific industry’s craft.
I opportunistically go to random trade fairs when I’m travelling now - there’s always one or two in a given major city. Similar ‘snapshot of an industry’ experience.
Taps into many things that Software Engineers typically like.
Walls often require problem solving as well as physical ability.
Walls are shorter than rock climbing walls (fast iteration cycles/“dev loop”)
Lots of different difficulties for a clear sense of progression.
Indoors (usually). Can be done solo.
Due to the fact you have to ramp up the per-move difficulty much faster on a bouldering problem as the grade increases, the chance per injury on any given move is much higher (e.g. if you chopped a bouldering-sized section out of a 5.12a, it wouldn't be that hard of a problem, but having to do 3-4x such problems in a row is much more grueling). The types of injury one gets from such intense exertion will impact one's ability to type too (e.g. finger pulley injuries, elbow injuries either in terms of the rotation of one's wrist or spraining if one does the typical "fall off the wall and put your hands behind you" thing I've seen on the bouldering wall).
> Can be done solo.
I'd argue this is a bug, not a feature. I've made so many great friends at the climbing gym by just asking people on the autobelays if they want to pair up for roped climbing (or joining an odd-numbered group of people to even it out), yet I see so many boulderers just silently do their thing with their airpods in.
For software engineers who don't get a lot of reps in social situations in the nature of our jobs, this is a very easy venue to learn to meet new people in a low-stakes situation.
Speaking of, camping! Nice to get some fresh air and away from screens for a bit. And I love cooking over an open fire.
Speaking of, cooking! Once you get a little practice, you can really dazzle yourself and others with some delicious food. Especially when you realize that cooking is not actually as fiddly as it seems. Once you have enough experience under your belt to substitute and improvise and just throw something together the real fun begins. I recommend https://www.youtube.com/c/GlenAndFriendsCooking . Just pick a recipe and go for it, and Glen has very practical advice about exactly how unnecessary the fiddly parts of cooking are.
Other things I do: retro video games and related electronics projects (currently building a supergun to play arcade games at home), learn yo-yo tricks, read books, garden, play music.
Lack of hobbies isn't the problem. If someone would pay me a salary just to do my hobbies I'd be extremely happy.
Is there a good way to not generate plastic waste and still get into 3D printing?
Then I wanted painted stuff, so I bought some cheap store paints, they were okay so I bought some hobby paints which were excellent. It really wows people instead of getting them some cheap present for Christmas printing them a cool statue and painting it up.
Another thing is that 3D printers are still very hacker ish so for me another fun part was analyzing what upgrades were actually functional and helped me print faster/more accurately and only doing those upgrades. This includes software side like compiling your own open source firmware and integrating a general purpose CPU in a Raspberry Pi to do the gcode processing. It’s a good way to do low stakes configuration and compiling of software so it’s something I’m capable of as an SWE and it’s fun to tinker with since the worst that’ll happen is I’ll have to reformat my printer.
I do not believe that people aspire to not have purpose. I do believe that many people's work life is misaligned with their true purpose OR they don't know what their purpose is. I'd love to read more articles like that.
(I naturally love the work that I do and tend to invent work by solving problems that people think are worth solving. I cannot relate to people who straight-up don't want to work. Articles like the above would help me understand their mindset.)
I used to have a tight schedule switching from tasks to learning to meetings to more tasks and more learning, 50 minutes work, 10 minutes break, relentlessly, like a robot.
Then I realized I'm not a fucking robot. Now I work 2 hours per day at most. Complete my tasks and can do this shit in a sustainable way as opposed to burning myself for what?
I'm super engaged. For two hours tops :D
While in office, it was pure agony. I was bored out of my mind.
While pandemic remote, it was slightly better (never played as much PS4), but it was not freeing either because I had to answer random voice calls or attend hours long BS meetings and keep paying attention in case I was asked something. So it was like working but worse.
This is especially true with code where the cost of replication is zero.
Most company goes out of business, most programming project don’t get completed or get unused by the actual customer.
In a large company it’s even worse as you are far from the user and the chance that what you work on is unused get through the roof.
But there is a tiny chance that what you do become massively useful (http, bitcoin, etc)
If you want to feel disengaged at work, neglect your diet and make foolish choices that break people’s trust.
If you want to feel engaged at work, eat lunch with your coworkers and talk philosophy.
Warning: If you take this farther than idle speculation, it is a good way to burn yourself out trying ineffective strategies to drive organizational change.
If we say we are aligning the interests of the employer and employee that's different. If we are saying a rising tide raises all ships, we all do well when we all do well, etc. That's different. None of that is exploitive, it's inspiring. There is a difference between inspiring and aligning people in powerful ways, and exploiting them. One is ok, one is not. One leads to true long term success and prosperity, one leads to short term success but long term failure, a flash in the pan.