9 ms·
Ask HN: What is the most painful problem you have day-to-day as a software dev?
- majewsky 9y agoNot myself, but for my colleagues, it's their toolchain. Whenever I sit with someone else and watch them do something, I grit my teeth at how they work against their tools rather than with them.
- ashark 9y agoI can't imagine I'm alone in wanting some more details about this, if you'd care to provide them.
- 1_2__4 9y agoConvenient fantasies displacing reality amongst management. I can’t count how many times a day a courself action is decided upon that everyone in the room knows will fail, but nobody is allowed (in the figurative sense) to say that.
- virtualized 9y ago"Company X will give us a lot of money if I promise them we can do a thing for them." - Boss is considered very successful "We cannot possibly do that in the time frame you promised." - developers are obviously at fault here
- austincheney 9y agoWorking as a JavaScript developer in a heavy Java shop for a major dot com. Everybody, on one hand, expects you to be a jack of all trades with mastery of: markup and various templating engines, CSS and presentation, anything related to events and asynchronous logic, distribution, and so forth. On the other hand your skills are generally not valued, though frequently requested and required. They consider JavaScript and the web an inferior platform and inferior skillset for amateur developers, until they are required to do some of that work themselves. When I am not available to assist the excuses and blaming of things piles up. Fortunately, I don't work in that industry any more.
- virtualized 9y agoI hate being the framework, library or programming language guy who has to Google things for his coworkers. I'm good enough to do their jobs for them, but my advice is often times ignored when they didn't explicitly ask for it.
- 11thEarlOfMar 9y agoDealing with management who would rather hope than plan.
- virtualized 9y agoDeveloper: "This is a difficult problem that requires careful planning and cooperation between people in different companies." Product manager: "Yeah whatever it will be fine" (no planning nor help in cooperation between companies) six months later Product manager: "Why didn't you tell me earlier that there was a difficult problem?"
- balls187 9y agoLong commute to the office.
- jlebrech 9y agodo you also need to go to the gym? I had commute problem where i was 1 hr commute by bus and didn't have time for the gym, I could have solved it by buying a car. but instead I got a bicycle and commuted that way instead, at my most unfit I could still cycle faster that the previous commute by public transport would take, an I even enjoyed it. Some problems are opportunities.
- closeparen 9y agoOnce you’re accustomed to it, bicycling to work is not much exercise. It’s certainly better than nothing, but I would not see some mild cardio as a replacement for running and/or strength training.
- jlebrech 9y agoit just free cardio, you can burn about 600 calories in an hour which would otherwise be sat in a car or bus. you can use it for strength training if you do a few sprints, but the main pull of it it that you don't realise you're burning many calories unless you really try. breathing fresh air for an hour is great too.
- superb_herb 9y agoIt really depends on where you live. Biking to work simply isn’t feasible in the LA area — it’s not like you can just hop onto the freeway. And the air isn’t exactly fresh either.
- ndh2 9y agoThen go faster. At least on the way back home you can go all out.
- u801e 9y ago
- reaperducer 9y agoDeadlines. I'm terrible at estimating how long something will take to complete; especially if other people are involved.
- ashark 9y agoEveryone is. No-one wants to pay for what it takes to get a decent estimate, which incidentally also requires a near-perfect idea of what you're gonna do ahead of time which is also usually lacking and which no-one's interested in figuring out and committing to. Look at the space shuttle software development process and how much time they spent nailing down requirements and such so the rest of the process would be highly predictable—IIRC it was like 1/3 of the duration of a project. Ain't no-one in business gonna commit to that. Most software projects are half-cocked and operating on a shoestring. Anything other than "start on this, we'll tell you to stop if we don't like your progress, use something like story points so if we're still doing this in 6 months we'll have an OK-ish way to predict the way the project will go for the next month or two" is delusional. Can it be done? Yes. Here's what it costs. Actual development can start in 3-6 months. You gonna pay for it? Didn't think so. Want us to just start now and see how far we can get in a month or two? Cool.
- jlebrech 9y agoswitching context between components/templates backend/frontend for single features (angularjs), I wish there were frameworks to inject a features into an application an you'd only have to touch one file (or directory)
- jitl 9y agoReact!
- jlebrech 9y agosure, that's the move. i'd like to use something like react that creates both backend/frontend code in the future. you end up with 5-6 files that just pass the same data from one to the next (form/model/component/xhj/api/model/etc..), react just removes 2 or 3 files from that equation.
- scabbycakes 9y agoTry Nuxt. It has easy-peasy server side rendering. If you know Angular then you'll be at home with Vue (used in Nuxt), which is much nicer and a bit faster and smaller and a bit more useful for actual app-building than React.
- mbrameld 9y agoSI joint. The clock's going to tick over to 40 next year and most of the last 20 was spent in a chair in front of a computer. Now I spend around an hour every day stretching and doing exercises to try to reverse some of the damage.
- dominotw 9y agoI've had some relief from straightening my hips in addition to stretching. I use this band https://www.amazon.com/gp/product/B072DYNTYB/ https://www.amazon.com/gp/product/B072DYNTYB/ between work breaks. Helps to work from home :D
- codewritinfool 9y agoRight on. I had major SI problems until I got injections. The next day the pain was completely gone. Once I had no pain I learned exercises and have been pain-free for two years now.
- djhworld 9y agoCorporate proxies.
- majewsky 9y agoAt my company, it took us several years and the concerted outcry of hundreds of developers, but internal IT is now finally abolishing our proxies, one office at a time.
- ThePadawan 9y agoThe feeling that writing software doesn't matter in the slightest in the grand picture of things. As a full-stack web engineer, I don't help cure cancer, fix world hunger, or even make people using the software happier. I help business take the customer's money to make managers on both sides of that deal happy.
- jhowell 9y agoWhat you describe does not sound like engineering.
- giveahoot 9y agoWouldn't software help enable accomplishing all of the work you're comparing yourself against? I have the same feeling sometimes but software absolutely has the power to positively impact people's lives, the environment, basically anything. If you really feel strongly about this - I'd suggest looking for a job that enables you to work on something along these lines. Doesn't even have to be a non-profit but there are for-profit companies with great missions
- ThePadawan 9y agoI have to be honest here in saying that to give a good answer, I took my notes on why I left my last position in November. I will be starting in a smaller, more human-focused foodtech company in January (shout-out: http://felfel.ch/en/ http://felfel.ch/en/)
- edraferi 9y agoSoftware is used everywhere. If you care about the broader impact of your work, take your skills to an organization who’s mission you respect.
- mceachen 9y agoAnd even if it does (potentially) matter, the lifespan of code is horrifyingly short. Companies shut down. Management regimes want to be "impactful" and rewrite all the things. It can be to pretty demoralizing when you realize how ephemeral your work is. (That being said, I still love coding!)
- dmalik 9y agoWhere I work it's lack of process. I get work thrown at me randomly from all directions. Also with deadlines that I have no say in, usually created by non technical people.
- _asummers 9y agoBug reports in Slack can die in a fire. Make me a ticket, I won't remember that there was a bug reported at 2:32 on Thursday if I'm not taking care of it right then, and there will be reams of text to scroll back through to find it.
- tomjen3 9y agoI am reading through GTD now (brought it years ago, but in an amazing twist of events, never got through it) and his suggestion would be to have exactly one in place, where all your information gets put, then you sort through it one at a time, not to do the item, but to figure out where the item belongs: in your case it is very clear that it does not belong on slack, but in a bug tracking system, so just put it there.
- virtualized 9y agoIt's a cycle: Boss: "Please do this one small thing for me immediately!" Boss' reward center is stimulated and they forget about the one small thing shortly after. The other ten one small things get pushed back. Boss remembers about a few one small things from weeks or months ago. "Why does everything take so long? Your productivity is too low." Boss comes up with another bad idea to feed their one small thing addiction. Back to the beginning.
- tomjen3 9y agoI had similar issues -- I ended up writing relatively copious notes, which meant that I didn't lose track of what I was doing and I could answer when asked what the status was of X, "oh yeah, you told me to do that on tuesday, but I had put it aside due to foo, bar and the release of bax".
- cocoa19 9y agoUnnecessary meetings.
- virtualized 9y agoToday I was invited to an indefinite series of phone meetings with four+ people two times a week because someone has one or two questions he can't be bothered to ask by mail.
- bluntfang 9y agogetting management to believe that not being able to run tests locally is a huge problem.
- notduncansmith 9y agoMaybe you could find their equivalent - ask if they would be okay with waiting 5 minutes after changing an Excel file before seeing the results, or having to wait 5 minutes to see if an email actually sent.
- closeparen 9y agoThe minimal/empty intersection between coding environments with acceptable performance (Vim, Sublime, etc) and environments with reasonable code intelligence (JetBrains).
- sharpercoder 9y agoThis is my top one as well. Most intelligence is slow yet can be outsourced to a (on premise) cloud. I find it quite strange that in 2017, there is no universal API to delegate code analysis computation onto distributed nodes. Language servers are a good step, yet this concept should be expanded to (macro) code analysis, automated code reviews, memory leak detection, (unit|integration) tests, large scale refactorings, builds, deployments, basically anything a modern IDE does. Some of above is already there, but they are separate products which don't integrate well. For example: You can find a distributed build environment for .NET & Java. This also runs test, so there is some level of integration. However, I'd also like workflows like refactor-build-test-analyze-fix-refactor until satisfactory.
- fragmede 9y agoWhat successful products are out there? Developers can be one of the worst markets to try and sell to; even Microsoft gave up and decided to give away VSCode (which, despite having little to actually do with Visual Studio, is still them acknowledging that it's a hard market).
- tuananh 9y agowhy do you think Microsoft gives VSCode away. Seems to me they are quite committed to it.
- jitl 9y agoVisual Studio Code seems like a good balance. You can push Vim and the others pretty far as well, eith a lot of fiddling with plugins.
- billconan 9y ago
- meri_dian 9y agoCompilation.
- psyc 9y ago1. Every piece of software and the OS wanting to update/reinstall itself every other morning. So much for app start times! 2. Dependencies that don’t install their dependencies and require hours of configuration.
- greysteil 9y agoI built Dependabot to help you out with that one: https://dependabot.com https://dependabot.com
- matte_black 9y agoGetting distracted and messing up my flow.
- 5h 9y agoSuffering through technical interviews where the potential employers are inexperienced at delivering said interviews. Simultaneously nitpicking & grandstanding without once discussing the realities of software lifecycle, managing complexity, change of business focus, development pragmatism etc is a red flag. In a recent interview - with the entire development team for a 10 customer product with great potential - spending a couple of hours picking over a mutli-tier caching architecture to serve a million views of a million variants of a million products, when your login form is broken, doesn't impress me much as a candidate.
- tvanantwerp 9y agoI am the sole technical person where I work, responsible for basically anything that involves electricity. Nobody knows or cares what I do as long as nothing appears broken.
- thebiglebrewski 9y agoHaha omg my lifeeeee
- breakpointalpha 9y agoOpening Hacker News 15+ times a day. Seriously, "Focus" is the hardest thing to do when I have the entire internet and my phone right in front of me. How do you manage?
- fragmede 9y agoHow well do you eat? One thing that helped was to realize that HN (and Reddit, et al) is the brain equivalent of junk food, and just as bad for you. (The irony of writing this on HN is not lost to me.) Discipline, mostly. It's a skill to learn, just like any other, and it helps in all walks of life.
- jpmoyn 9y agoManaging daily burn-outs where my mind prevents me from looking at code objectively and patiently. I recently have tried putting on meditative music and trying to clear my head so i can be productive again. It is really hard for me to code for 8+ hours a day.
- montecarl 9y agoI do not aim to code for 8 hours per day in a professional context. I know very few people who can really honestly do 8 hours a day of "thinking" work on a regular basis. It may be possible in some cases: perhaps on a new project where there is a lot of boilerplate code to write and you are free to make design choices as you see fit. However, most of the time when writing code in a existing large complex code base I find that 5-6 hours a day is a very productive day for me. I work from home I work in bursts of 2 hours. When I get stuck/bored (either because I don't have any more focus left or I'm stuck on a tricky problem) I will read, shower, go for a walk, or take a nap. When I come back to the problem, I generally find I am able to resume work. I find that I get as much done if not more than my coworkers who must be in the office 8 hours a day. I also graduated from my PhD using similar tactics, while many of my classmates seem to LIVE at school. My point is just that the 8+ hour work day may be possible for some types of tasks, but for real "thinking" work I don't think it is a good goal. You are burned out because you are trying to do achieve an unreasonable goal. Redefine your goals so you can succeed and be happy.
- cjwhite 9y agoThis. Seriously, no one minds if you take breaks where I'm at. I'd bet it's an unreasonable minority of companies which do. If your company has salespeople, they probably spend a large amount of time chatting. It is what it is. Some amount of it is healthy.
- billconan 9y agodealing project managers. they are very bureaucratic. They create tons of excel files to track project progress, and drag you into 8a.m. meetings to discuss how to update those excel files.
- warent 9y agoSounds like a bad PM. I currently work with one of the best PMs that is like a huge shield against upper management and politics
- dontyouremember 9y agoI work on Windows and run nightly builds of a developer branch. Occassionally some big regressions slip through, like networking or Hyper-V not working, broken graphics drivers not allowing multi-mon, and prerelease SDK's that break Visual Studio. Still fun though, and I enjoy finding and filing bugs.
- badpun 9y agoCommunication with other people. In my experience, even a two-dev project can be worse (in terms of overall quality, coherence of vision etc.) than if I just did everything myself. Of course, the more people the more mess the project becomes - but, at the same time, most software is just too large to be written by a single person or even a very small team. Hence, the usual end game is a crappy code base and a product that barely works.
- scabbycakes 9y agoNewish CTO who puts technical concerns before common sense decisions in a small company. Example: App is already crashing due to server load a month prior to black friday, his decision instead of optimizing things and finding the problems is to write unit tests for the month. Finally a mutiny happens by the senior team and everyone scrambles to fix and improve things a week before BF and we make it through by the skin of our teeth.
- cjwhite 9y agoI agree the priorities in that situation sound misplaced, but I would not characterize that as putting technical concerns first. Fatal bugs are a technical concern.
- scabbycakes 9y agoThere are other things, that's just an example of the startlingly poor decision making skills.
- cjwhite 9y agoThat sounds annoying. I have the opposite problem, but I still sympathize. Sometimes you get someone making really bad technical decisions so the direction forward looks good to upper management in the short term. It's a hard balance to meet the needs of the technical requirements and the business requirements, but that's why it's their damn job!
- dokka 9y agoMy office is loud and I am not allowed to work from home or stay late(management will actually kick us out of the building after 6:00PM)
- jesterbuzzo 9y agoBose noise-cancelling headphones are a godsend for this problem. Look for some droning atmospheric music (I like post-rock and post-metal for this purpose), put on the Bose, and you're in your own little world.
- elorant 9y agoAcquiring new clients.
- cjwhite 9y agoCode reviews where people come up with BS just to have something to say. Or creating a clean design only to have it turned into spaghetti by others.
- virtualized 9y agoAt least there were code reviews where you worked. In my current job such a thing would be considered a waste of time.
- SeanBoocock 9y agoCompilation times and flakiness of bespoke build systems. Most of my time is C++ (game dev) and while we've reduced our compilation/link times with the standard tricks ("unity" files and distributed compilation) I'd still love for it to be as fast as something like C# or C for that matter. It would be cool if there was some way to build a "progressive" C++ compiler where initially the generated code was poorer quality (except perhaps along a hot path ala https://en.wikipedia.org/wiki/Profile-guided_optimization https://en.wikipedia.org/wiki/Profile-guided_optimization) and gradually refined/hot patched into a running process.
- nulagrithom 9y agoA truly astounding amount of technical debt. Sometimes the sheer weight of it makes me think I'll never finish this project, ever, and I should just give up right now and go find a new job. What's more is we're about to (unknowingly) add more by rewriting some things in an obscure language that doesn't have any way to automate testing & deployments, use version control, etc...
- h_r 9y agoThis sounds like using the tibco tools!
- deleted 9y ago[deleted]
- notacoward 9y ago"My virtue is the only virtue" thinking. The real world is full of tradeoffs. Sure, delivering early is a good thing. Sure, doing everything we can to prevent bugs (or at least find them early) is good. Delivering early is good, more features are good, beautiful interfaces are good. But you can't have all these things at once, even if you could spend infinite money on infinite developers (which would be un-good in its own way). Oh yeah, work-life balance and employee retention are also good. I'd be a lot happier without the architects who only care about clean APIs. The reviewers who only care about braces and variable names. The devs who only care about core algorithms. The testers who only care about reporting as many bugs as possible. The performance engineers who only care how fast it is. The product managers who only care about features. The project managers who only care about schedules. Work with me, people, instead of just flinging demands at me from every direction at once. Or go screw yourself, because if everyone else is going to be that way then I might as well be too. And thus do I become part of the problem.
- pvinis 9y agoTrying to keep a good posture so I can minimize the back pain. I find that more than any dev problem I face, if I feel uncomfortable sitting while thinking, it distracts me.
- putnam 9y agoPart 2: What keeps you awake at night, indigestion boiling up in your esophagus, eyes open, staring at the ceiling? - Sam Putnam
- markbernard 9y agoGetting the tools to do the job. Can't use Angular cause its not approved. Can't use REST because it is not approved. Supposed to use STRUTS 2(what a joke).
- f-penelope 9y agoSlack
- sebazzz 9y agoUse general wide-used web development tooling like Webpack. I'm in a classic .NET web development team that started using web forms, we now use a CSS preprocessor LESS via BundleTransformer the last few years and Typescript using the tooling in Visual Studio. It works, but it misses good stuff like live reloading and LESS source maps. I know from my free-time project that Webpacks works quite well, but I don't know how I can sell this to my team.
- Fire-Dragon-DoL 9y agoBadly designed product or requirements changing because of bad analysis from product team. It feels like I waste so much time...
- mnm1 9y agoRepetitive Stress Injuries. They make the entirety of the job, hell. Trying to get worker's compensation and physical therapy has been hell. I used to enjoy programming, like many here. Now, I mostly think about how to minimize typing and trackpadding, while keeping my posture proper and taking breaks every hour. As you can imagine, this does not lead to amazing amounts of productivity as it takes me about an hour to get into the proper mindset to code most days. I work from home, however, so I'm still more productive than anyone in the office. I long for the day when voice recognition becomes decent for people with accents so I can code with my voice like my American coworkers. Right now, the detection rate in a silent room with a very good mic is around 50% on a good day, so it's mostly useless. Yeah, there's shitty tooling, horrible boilerplate all over the place, stupid features to add, and all kinds of shit like that, and all that stuff sucks a million times worse with every single keystroke or tap. I'm still in my 30's too. I just can't imagine doing this shit for another 30 to 40 years or more. I wake up in pain, I go to sleep in pain, and I feel pain from RSI during my sleep as well as most of my days, sometimes including weekends. And on top of all that shit, I still have to think through solutions and program. If I could do anything else and still make a decent living, I would, but I see no other options.
- vorticalbox 9y agoGulp.
- sssilver 9y agoThe crippling feeling that the way I'm designing this is probably wrong and there surely has to be a better way to do this and I am not smart enough to think of it. Also, architecting anything always feels like the first time.
- lostmsu 9y agoLack of a good news filter.
- askthrowaway 9y agoMerging .Designer.cs files
- tomjen3 9y agoSelf-doubt: Am I good enough compared to my coworkers. Getting people to leave me alone so that I can get some work done. I doubt anything could be done about the first, but it would be nice if there was something that could be done about the second: I am half considering putting on the DND blinders found elsewhere on the front page.
- ericclemmons 9y agoNew management. There was a reorg (coup) where tech is actively excluded, yet still the target of blame.