AggressivelyPassive

  • 0 Posts
  • 27 Comments
Joined 1 year ago
cake
Cake day: June 10th, 2023

help-circle




  • If you’re running enough images on the same machine to make that a relevant point, you have absolutely no excuse not to provide common base images.

    Basically, there are two scenarios here: you’re running some service for others to deploy their images (Azure etc), then you want isolation. Or you’re running your own images, then you should absolutely provide a common base image.





  • It also depends on the age of the company.

    My current company is comparatively young and only really grew above the 100 people mark a few years ago. There are people who only worked here for 10-15 years, but are so integral as head-monopoly, that they might as well have been there forever.

    In my old company, there were developers retiring that worked literally their entire lives for the same company.



  • Funny thing is, this is essentially the same here for me - I just don’t have the standing right now to push such an effort through.

    We’re not in a “fast changing” market at all, it’s dog slow actually. But our customers are currently shitting money and often just want to get things done. We don’t even have to “get a foot in the door”, they’re holding the doors open for us - and some have years of contracts already.

    Currently, our revenue is limited by the amount of developers, or rather the amount of developer output (however you want to meter that). The problem is, essentially our revenue is made by renting out devs by the hour. Our proposals (and contracts) usually say “We’ll buid this thing within 1000 dev days at 1000€/day”, as long as our rates and time estimates are competitive, we can charge full market price.

    Now comes the bummer: If we would build a common platform/product/library, we would need to invest a certain amount of dev time and then roll that investment over to the external costs. So we might say only 500 dev days for this project, but each dev now costs 1500€/day. The sum total is much lower, but our clients will argue, that 1500€/day is totally unreasonable. We also might choose a license model, were we license our own software, but many clients don’t want to buy licenses, unless it’s something like MS, Oracle, etc.

    It’s infuriating.

    I’m currently trying to convince some managers, that we could at least build some of the more general components in a way that would allow us to build a small toolbox or library, so that we at least have something like common starting point, but even that gets opposition, because some of the project leads are totally convinced that a) their absolute vanilla project is super special and b) the existing of a toolbox means use of that toolbox is enforced by threat of violence.


  • Unfortunately, it can make sense to the business (in a way) to not properly collaborate.

    I’m currently at a company that essentially does projects for various customers, that are all relatively similar. From what I’ve seen, my department could easily fit 60-80% of all projects into one customizable product. Instead, each project reinvents the wheel and starts from scratch. Why? Because it currently doesn’t matter. The market is full of demand and if we can charge 1000 dev days to start from scratch instead of 500 to use an existing base, then that looks better on someone’s paper.



  • I have to deal with a similar guy. He reports directly to the COO and is considered an expert in his field.

    If I wrote his code in my former job, my boss would have asked me, if I’m having problems at home.

    Countless variables named tmp, i, j, k, x, value, etc., atrocious error handling (Java, he does no null chess, but simply wrap everything in a try/catch nullpointer block), and tons of spelling mistakes.

    Oh and tests are evil.


  • Well, from experience I can say that scrum and a (good!) Scrum master can really turn things the right way.

    Even something as simple as being the impartial moderator can be invaluable, given the borderline-autists many developers are (won’t even exclude myself there). A pointless 30min meeting can become a valuable sync up.

    Apart from that a (again, good!) Scrum master can organize a lot of stuff away from the developer. The job literally means removing impediments and I’ve had the luck to work with one SM, who really took that seriously.

    It’s not a management position, btw. At least it’s not supposed to be. It’s supposed to be on the same level as the devs. Unfortunately (and that’s the part where you are right), this position and scrum in general were churned through the corporate buzzword grinder so often, that it’s almost meaningless now and often enough just means pointless meetings and pointless metrics (ironically measured in “story points”).





  • Yes, but Gitlab doesn’t allow for easy access rules.

    Basically, OPS wants full control of the repo, since they are the ones being blamed if something goes wrong. There’s no way to enforce, that only a certain set of users can make changes to a branch - all such restrictions can be circumvented rather easily. So the solution is a shadow copy of the repo that only gets updated on release and Argo only deploys a specific tag (i.e. release).

    We’re not talking about just some enterprise microservice, but stuff in the public administration/government sphere. The tradeoffs are a bit different there.