Programming Sucks
stilldrinking.com
stilldrinking.com
Being a good coder is like 30% of your job. The rest is being a good teammate, which is about diplomacy and communication.
My favourite co-workers today and in the past would almost certainly never get a FANG interview but damn do they have the passion to do well and work together.
Just my experience.
I think good programming is how much wtf/ minute you have, when you read the source.
I'm normally easy to talk to, but I'm having difficulty for that now because:
- fixing a simple bug leads to a rabbit hole of fixing bugs.
- no seperation. Something can influence something everywhere. It's nuts, eg. A text explanation on a enum ( state) has been added in the businesslayer and transformed 3 times before it reaches the frontend. ( I removed all those texts to show only on the view with the appropriate conditionals)
- code is unreadable -> too much time spend in debugging
- a bug was fixed when it did something wrong, instead of looking for the root of the problem. So actually fixing a bug correctly creates a new bug, because it has already been fixed 2 times on different places. Just the root case was never fixed before.
- ...
All in all, solving a bug is tedious. Fixing it the right way, creates so much bugs, because previous workarounds for probably the same/similar bug everywhere around.
I'm pretty sure that good programming leads to better communication.
And bad programming leads to a clusterfuck of problems
1. Lack of knowlege in the team.
2. Being asked to do something too quickly (or the technical team not asking for enough time up front).
3. Being asked to do something dumb and giving in.
The second point happens everywhere to varying degrees, so I just see it as part of the job description of being a developer. You will always have to fight for more time since everyone who requests you to build something wants their software features now and not tomorrow. Points 1 and 3 can usually be solved with better communication and some education.
All of these problems are solvable assuming the management of the team understands these problems occur and is on the same page as the people implementing the software. If that isn't the case and the management isn't going to listen to the devs, I think that is one of the few situations where it is time to just find a new job. Possibly this is more common than not and I have been lucky enough to only experience one manager who was this stubborn and ignorant.
I think the only thing you can do in this situation is to express frustration with whoever was involved in determining the 3 month deadline. You can only tell them that it is not enough time and that they should involve some technical people when making decisions like that. If they don't like what you have to say or the whole strategy of the company is actually based on doing things cheap and fast, then maybe it is time to move to a new company that has an environment which is more aligned with your values.
[0]: https://www.amazon.com/Working-Effectively-Legacy-Michael-Fe...
oh my god! this is so much me it is not even funny
And today I encounter the actual article where this originated from. This bit is iconic.
Sometimes I'll take a little short-cut, because an innocuous little hack that adds a constraint or assumption seems like better value than going the long way round. Sometimes the design changes as you figure out new ways the product can/should work to be cooler, and old abstractions are no longer useful, or new abstractions become useful, or data that lives over here now needs to get aaaallll the way over there, God Dammit. All abstractions leak, and the first design is never right.
And maybe it's fine, because I wrote it all and I can rewrite it quickly enough, but in the real world we can't just go and rip up that code because we don't have the muscle-memory for it, and because of Chesterton's fence.
Maybe good code is code that can be deleted easily, or rewritten without fear. Maybe it is code that has been rewritten enough or has survived long enough to embody some kind of wisdom. I know that it is simple, and that it makes the life of its user simpler.
This is pure comedy gold, thanks!
this got me Lol’ing pretty loud
It gets me through the day. When management asks something nonsensical, or I'm forced to push a hack to prod to fix things.
In my experience, most problems and frustration comes from working the APIs (or somebody else's interpretation of the business need) -- not programming language.
> Composed on the 27th of April in the year 2014
5 years later, and it still sucks.
Stick to the plan Stan. Even when it could be better steven.