7 ms·
From the paper: Freq Cause 186 Being stuck in problem solving 152 Time pressure 107 Bad code quality and coding practice 71 Under-performin
by hayst4ck 4y ago
From the paper:
Freq Cause
186 Being stuck in problem solving
152 Time pressure
107 Bad code quality and coding practice
71 Under-performing colleague
63 Feel inadequate with work
60 Mundane or repetitive task
57 Unexplained broken code
42 Bad decision making
40 Imposed limitation on development
39 Personal issues
- ge96 4y agoI'm doing the mundane stuff now, for a couple months actually. Stand up repo, pipeline, sem versioning, tests.. haven't actually written code yet/built something. Just copying configs/duplicating stuff.
- hayst4ck 4y agoI personally don't think happiness is very different from motivation. Happiness is the state of being motivated. Unhappiness is the state of having no motivation. The 3 key ingredients to motivation are: autonomy, mastery, and purpose. Nearly every time I've been unhappy writing software it has been because of a deprivation of autonomy, mastery, or purpose. I've been ordered (deprivation of autonomy) to work on things I didn't think mattered (deprivation of purpose) with a language I wasn't familiar with in a context I wasn't familiar with, in a way I thought was wrong (deprivation of mastery and autonomy) for political rather than technical reasons (deprivation of purpose). I have never been unhappier and less motivated than that.
- lawgimenez 4y agoAutonomy for sure is my main source of development happiness. It means that my employer trusts me that I don’t burn their business to the ground
- nine_k 4y agoI think there is a stark difference between motivation and happiness. There exists negative motivation. If you have $50k in credit card debt, you are very motivated to pay off that debt, but you are neither happy to have the debt nor happy to pay. You just plan to be more happy when it's over. This kind of motivation can also be present on the workplace, along with positive motivation (when you are happy about something and want more of it).
- deleted 4y ago[deleted]
- hansworst 4y agoThe post you’re replying to is talking about drivers of intrinsic motivation. Paying off a debt and getting paid money for your work are examples of extrinsic motivators. Intrinsic motivation is generally thought to have a larger impact on the quality of output, although the line can be blurry sometimes.
- jcelerier 4y agoY'all can't enjoy watching a sunset without being "motivated"?
- DilutedCoke 4y ago
- hayst4ck 4y agoYou know, you say that in jest, but having experienced a fair amount of depression in my life, I can definitely say that I have been so unmotivated that sunsets do nothing. "why watch the sunset, I've got all this other stuff I have to do and even if I do it life will still suck and it's so much effort to drive somewhere just to watch something beautiful alone, life is so meaningless." (exaggeration, kinda) Robert Sapolsky (Stanford Professor) has said: > If I had to define a major depression in a single sentence, I would describe it as a "genetic/neurochemical disorder requiring a strong environmental trigger whose characteristic manifestation is an inability to appreciate sunsets."
- delusional 4y agoOdd, I've felt the same but always attributed it to being "too motivated" by other stuff. I can't enjoy a sunset because I'd be thinking about something else I'd rather do.
- agumonkey 4y agoyeah there's an emotional threshold where you just can contemplate existence with a comfy mat of joy, even if totally passive and idle
- rektide 4y agoI feel like their is a bit of a heavyhanded personalization in the way these conflicts are presented. They leave it rather ambiguous how much of the dilemna is intrinsic versus how much is extrinsic. The external factors that are listed are closely knit: unperforming co-worker. I think engineers are hyper competent can do individuals with deep belief in possibility & potential. Few organizations can match & support this vanguard fleet well/at all. A corporate entity can very rarely accept & permit itself to support something far beyond it's grasp. It has to be willing to negotiate & work with people who know more & have more insight than it can. Almost no corporation can find that humility. They cant accept their own limitations/ignorance & trust/enable. There's some org blame possible in this list. But all masked/hiddenz said in typical corpspeak to protect the guilty non-technical cant-knows.
- marginalia_nu 4y ago> Being stuck in problem solving Am I the only one who loves this? My main complaint about my day-job has typically been that the problems are too boring and easy.
- awestroke 4y agoI think you need a balance. If you're completely stuck most of the time, you're going to start dreading work. But if you never have to make a real effort, you will be bored.
- delusional 4y agoThe first part is true from personal experience. If you make no progress on something you'll start to wonder if you're the real problem. That's not fun, and more importantly traps you in a cycle of wanting to get out, but being scared that you'll just fuck up the next thing you work on.
- dqh 4y agoI had a similar initial thought - I find unsolved technical problems genuinely thrilling to work on - but then I noticed the word ‘stuck’. That implies having run out of ideas on how to approach the problem and I can imagine that being stressful. Perhaps you are similar? Or do you also enjoy having run out of ideas?
- marginalia_nu 4y agoOh no, the 'stuck'-problems are the best problems.
- oriolid 4y agoOnly when you don't have a deadline and a few stakeholders asking for progress updates and time estimates.
- 4y ago
- BlargMcLarg 4y ago>Being stuck in problem solving It's a little unfortunate the paper doesn't go deeper into this beyond a few lines: >As one respondent commented: “I feel negative when I get really stuck on something and cannot get around it”. Another respondent elaborated: “I also thought of situations where I’m debugging some issue with the code and I can’t figure out why it isn’t working – when it seems like everything should work, but it just doesn’t. This is definitely one of the biggest gumption traps I encounter”. To me, the most annoying part isn't just getting stuck, but getting stuck in conjunction with the (lack of) complexity of the issue in theory, and the time pressure (#2 on the list). A lot of problems just shouldn't take as long as they do, but communicating with frameworks, other people's code, poor assumptions (#3?), weird requirements definitely make problems a lot more difficult. The majority of the work is just trivial plumbing in theory. It's not some complex algorithm. Yet the complex algorithms are often documented far better, you're given more time, and at least personally, it's a whole lot more interesting to work with than fighting a Frankenstein application just to do something extremely minor like conditionally changing font colors.
- pojzon 4y agoIm surprised that incompetent management is so low on this list. Often times most of the issues from the list are all caused by incompetent management: - Time pressure - management f/u deadlines - bad coding and quality - management hired coding monkeys - under-performing colleague - why not fired already ? Management - Feel inadequate with work - picking wrong ppl to do the job - mundane and repetitive tasks - management gives no time on automation - unexplained broken code - same as bad quality - imposed (often artifical) limitations on the devs - who makes those decisions? —- More than half of this list is cause by incompetent management / bad decision making. —- Personal advice for ppl suffering due to those issues - find a better boss.
- arinlen 4y agoYour comment sadly repeats the same old software developer tropes, namely: * Managers create all the problems, * Problems not created by managers are created by my team members, * Everyone around me is incompetent except myself, * The problems I create have everyone else to blame but myself, because I'm flawless and I was just put in a bad situation. * goto start. I've been in a fair share of time-constrained problems, but honestly deadlines tended to slip because of a mix of emergent technical requirements that dev teams didn't managed to see beforehand, and scoping tasks that severely undershoot the requirements. Scoping and planning is hard, specially with limited info, and you can't reasonably allocate 10x the resources to your project just to have a decent slack in the critical path. Also, bad code can and often is subjective,and I've seen competent and above-grade engineers underperform because of task- and life-specific issues. It's high time that developers cease the "everyone around me is incompetent and responsible for al problems" mindset.
- watwut 4y agoMeh, you gotta admit management of software projects tend to suck. Yes scoping and planning is hard, but management that don't even try either (and is not agile either) is fairly frequent. Also, we are for some reason blessed with management with not much soft skills. Stuff like new manager coming in and insulting people right and left on the first day with no reason just because they are insecure or arrogant is frequent too. There are good manager, I worked with some. But bad management is frequent and there is very little accountability for managers, so they get stuck for years and decades.
- agumonkey 4y agoI keep thinking about solutions to these, as most of them feel artificial. Very often it's the social dimension of them which are harmful. If something is important and I don't feel hugely guilty if I fail, I will enjoy time pressure. Repetitive tasks can be amazing, analyzing the patterns and optimizing them away is a cool exercise. It hurts when people forbid you to do so ("don't write a script for this" "why are you changing this to do it your way, it's not right"). Same for imposed limitations. Underperforming colleague is only an issue is if it's unspoken, not discussed or imposing secrets on you. If my colleague is slow then I want to reallocate the efforts so I can do a bit more to avoid him dragging down the team, and I just don't want the manager to bother me with slow perf if there's a slow guy nor I want that slow guy to force me to lie so he can stay his way. It just has to be open and optimized. Unexplained broken code requires a shift in thinking: freedom to break it, freedom to get time to do so. You need to reverse the context, system and desired outcomes to improve understanding and fix it. Another aspect is that I think adult life removed a lot of important emotional layers: no more open challenges that tame into natural competitiveness, that unleash positive pressure and brain activity leading to learning with more fun. A lot of jobs devolve into politics. Quite often I've heard people tell me "shh don't tell we're done so we can slack a bit". From the smallest jobs to highly paid engineer.. same behavior occurs. Kinda creates low levelling.
- pdimitar 4y agoYour last is extremely easy to explain: if you say you're idle your immediately given a new task. That's not a bad thing per se. However, management always fails to account for e.g. mental fatigue after finishing an important milestone that most of the time has been grinding hard at for the last month. That fatigue needs a week or so to disappear by itself -- just getting one good massage, sex and sleep doesn't fix everything. If you're loaded with work again starting tomorrow you'll do a sloppy job and will keep accumulating more fatigue. I'm not saying an army of unmotivated lazy slackers doesn't exist out there. It absolutely does. But not everyone is like them. Sometimes people really do need to relax a bit in order to recover their ability to be useful to the business. Our stupid system of requiring 8h a day for 5 out of 7 days misses 99% of all human specifics and it simply doesn't care. That's not okay.
- marcyb5st 4y agoI would also add that we are never truly done. Always refactoring some parts, changing some underlying library, ... . Given how things are we deprived of the joy that, for instance, a civil engineer gets when a construction project is finished.
- amelius 4y agoI'm sure there are plenty of compromises in a construction project too, and time is one of them.
- marcyb5st 4y agoSure, but most of the things get completed at some point. In my personal experience when something gets close to that stage in SWEland it's time for a rewrite or something else along those lines
- sarchertech 4y agoBridges also don’t have product managers who are judged solely on what new features they can add, and a business model and relatively fast iteration time that makes that possible.
- rowanG077 4y agoInteresting the number one annoyance is basically one of the reason I love Software Dev work. The high after finding a good solution to a problem is the best.
- dangerface 4y ago> 186 Being stuck in problem solving Is this a real thing? I have never known there to be a technical problem in work that I wasn't able to solve, all of my problems have been from ever changing requirements and clients refusing to give detail. Is there a role for me that maximises technical complexity and minimises managements role?