4 ms·
I'm not sure if it's a trend but I am sure that I like to see people being vocal about highly readable codebase. I have yet to see this mindset in workplaces I'
by p-o 4y ago
I'm not sure if it's a trend but I am sure that I like to see people being vocal about highly readable codebase. I have yet to see this mindset in workplaces I've been at.
I would love to see a future where folks write code without thinking about how "scalable" or "performant" their code is and instead focus on how easy it would be to change the behaviour of existing code.
- llanowarelves 4y agoProblem is even if your manager's manager understands the value of it, his manager's manager doesn't, so time spent on it is seen as wasteful or "doing nothing" versus duct-taping things together for some poor sap to have to refactor ("for free") under pressure while implementing more features non-technical PMs or managers want ASAP. You have to be skilled at office politics or make sacrifices to keep code quality high. Usually not worth it. You get yelled at less if you externalize all the costs to future suckers, instead of trying to reduce those costs upfront.
- jiggawatts 4y ago> externalize all the costs to future suckers I literally just had this exact meeting yesterday. So much basic maintenance had been skipped that a suite of apps was costing too much money to migrate to a new platform. Instead of asking for more budget for that app, the dev manager suggested using the money from an upcoming project for an unrelated app to finish off this one! It's a literal Ponzi scheme, using funds from newcomers to pay off the technical debts of previous projects. Which of course never ends. Now the next project will go over budget, leading to rushed work, corner cutting, and drawing down on the project after that, which in turn will be a mess, etc... It's fascinating to watch this kind of stuff unfold as an outsider.
- epgui 4y agoI realize that my comment doesn’t scale and only works for a minority of people but… Just try really hard to not work for shortsighted people or bad companies. There are tons of great workplaces out there that will treat you like a king and pay you very well. Keep looking, these “almost too good to be true” companies exist. Vote with your feet at every opportunity.
- namaria 4y agoPaying attention to tooling helps. Python shops are hit and miss, but golang and c# centered outfits have been better in my experience.
- epgui 4y agoFWIW, my experience has been that companies using less popular languages with a good reputation (Haskell, Clojure, lisp, OCaml...) are really, really awesome places to work and learn.
- namaria 4y agoCertainly something I imagine to be true, I just haven't been fortunate enough to get deeper in that direction. My first contact with programming logic was The Little Schemer though, and I'm incredibly glad for that.
- jzombie 4y agoCurious about the coorelation between scalability and performant vs over time and over budget. Of course scalable and performant is nice. I have also been on teams that delivered absolutely nothing because the KPIs were more important than the product.
- ahi 4y agoThis one drives me nuts. We aren't running this web app on a pentium 2. Code complexity is vastly more important than the complexity of running this algo when the N is 12.
- favaq 4y agoBecause it starts with "it doesn't matter because N is 12" and it ends up with websites such as reddit which are extremely slow and go offline every single day. You may not be running your site on a pentium 2 but shitty performance adds up quickly and computing power is not infinite.
- pdimitar 4y agoIt's not an either/or, in my career at least it was very often the case that I could produce code that's both easy to extend and is very performant. At one point experience and intelligence converge and things get better.
- Rayhem 4y ago> instead focus on how easy it would be to change the behaviour of existing code. This has been my principal design consideration for a while now. Not "the code should be short!" or "the code should be elegant!" but "it should be easy to change" because your requirements are always going to change. It just so happens that the latter usually means things like single responsibility and loose coupling that bring about the former as a matter of course.
- flippinburgers 4y agoThis is why devs should chose a language like golang. It is readable because, generics aside, you don't get to do much with the language and it also runs very fast.