frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Engineering dogmas it's time to retire

https://newsletter.manager.dev/p/5-engineering-dogmas-its-time-to
25•flail•3d ago

Comments

gbuk2013•1h ago
> 2. Every code change must be reviewed

At a couple of places I worked at this was a hard compliance requirement: there had to be at least one review by a human to guard against an engineer slipping in malicious code (knowingly or otherwise).

Etheryte•1h ago
Yeah, there's whole industries where you simply cannot operate without enforcing this. The author's view is pretty narrow, both on this front and on the other points.
gregoriol•1h ago
The author mostly write about average startup work, not about industries or more constrained environment. A good example of this is the sprint thing: you can do whatever pace you want when you work on your own product that is a web product, but as soon as you work on something with hardware or marketing, you can't just use random deadlines.
mnahkies•1h ago
I was going to make the same observation - typically this will be defined in your secure development policy or similar, and be part of your ISMS controls for whatever frameworks you're aligning to.

It's possible this is more relevant in B2B contexts than B2C

dcminter•58m ago
Conversely, feature flags can create annoying issues due to compliance requirements.

I worked on an underwriting system where we had to be able to explain the reason for a decision. This meant that you needed to have on file both the state of the flag and the effective logic at the moment in time that a line of credit was offered to a customer.

They're useful, but not necessarily simple.

gbuk2013•47m ago
Right, they add risk both in terms of inadvertently being turned on / off and also in terms of permutations of possible system configurations that need to be tested. Less of a problem for well engineered systems with good deployment practices but it’s rare to come across these mythical things. :)
dcminter•39m ago
It depends a lot on the domain. I've mostly worked in high compliance/regulation worlds. It can be kind of stifling, honestly, but "oops maybe we had the feature flag turned on" is not going to cut the mustard.

Most startups can ignore all that at least until they get to a scale where "run out of money, go bust" is not the biggest risk to their business :)

gbuk2013•3m ago
This is very true and is exactly why there is no magic right answer other than “it depends”.

There are different stages of company lifecycle, different industries, different regulatory environments etc.

The processes put in place always have a cost - if picked appropriately it is worth paying, otherwise it is a waste that can hurt or even kills a project. This balance is the “art” of the job that I personally am only starting to probe around at my level and so it is still quite interesting. :)

dsego•49m ago
Luckily, gemini catches a good amount of errors in PR reviews, less need for manual review unless you need to double check if the code structure and architecture is sane.
brazukadev•44m ago
Until it doesn't, you f up but at least it apologizes later
voidUpdate•1h ago
Every time I hear about tings like left-pad and is_even, I have to wonder... Are JS developers ok? There seem to be a lot of packages for extremely trivial things that nonetheless gets huge amounts of downloads
gregoriol•1h ago
is-even was most likely made as a joke
voidUpdate•1h ago
Sure, but it has 170k weekly downloads, and 61 packages depend on it, not all of which seem to be jokes (eg markdown-list and cli-barchart).
Etheryte•1h ago
Many of these issues stem from the fact that Javascript doesn't have anything like stdlib or equivalents. I'm willing to bet money that most people can't write a bug free left-pad in Javascript on the first try without looking stuff up. Reaching for a dependency can make a lot of sense in that context.
voidUpdate•1h ago
I'm not a JS developer, so maybe they'd do it differently, but I'd probably do a bounds check, returning early if the target length is less than the input length, then create a string of spaces that is (targetlength - inputlength) long, and return them concatenated. Quick google shows theres a string.repeat method so probably use that (does that not count as part of an stdlib?).

Also, I'd bet money that most people couldn't write most things bug free on the first try without looking stuff up unless it's trivial

gbuk2013•1h ago
We’re generally fine and well paid. :) Frontend tooling churn is tiresome but the upside is that there is a lot of great tooling that more than makes up for any language deficiencies.
MrGilbert•1h ago
"You can build a way of working that actually fits your team and company, without leaving everyone exhausted."

Many folks that get into software development underestimate how much human interaction and social skill is required to "work together" (me included). Software development is a team effort. Amazingly, just by saying the words "Scrum" or "Sprint", you can get people fuming.

I think it’s crucial to get the idea behind agile software development on every level in a company. It‘s simple, actually: Communicate and get stuff done. Produce something the customer can use, quick. That‘s it. How you get there is your journey to figure out.

With all the conservative movements that are going on in the world right now, I really hope we don’t go back to micromanaging as a counter movement to agile. That would be exhausting.

jillesvangurp•1h ago
Decouple your planning cycles and development cycles. You develop at a constant pace, release whenever it is time/convenient to release. You plan regularly.

Planning is hard. Not doing it is not a great plan. Conflating development cycles and planning cycles, which is what a lot of teams end up doing with sprints, either sets the pace too aggressively or not aggressive enough. If it's too aggressive you end up shipping stuff that isn't ready. If it's not aggressive enough, you end up sitting on ready to ship code for too long.

In a company with multiple teams, planning gets harder. Especially if they span multiple timezones. Company sprints are a thing in some companies. But it's not necessarily very effective or scalable.

Calendar driven planning cycles where you ship whatever is in a shippable state is much more scalable and predictable. A lot of large OSS projects practice this (most of them) and it works in large companies too. It allows teams to self organize around known deadlines and work towards them.

That doesn't mean there is no planning but it is acknowledged that plans sometimes don't work out and that that's generally not a reason to stop a release train. If some planned thing isn't ready, park it on a branch and try to get it in the next time. Many OSS projects are very strict on this actually and ship regular as clockwork at a scale and quality level that puts most enterprise teams to shame. A lot of large companies that are typically involved with such OSS work as well do this internally as well. They are too large to orchestrate company wide sprints. So they rally around the calendar instead.

It doesn't actually exclude some teams in such contexts using e.g. Scrum or other agile methodologies. It just doesn't require it. And if you know your agile history, a lot of the Agile manifesto signees were very much into teams electing to use an Agile methodology rather than that being imposed, like is the practice in a lot of companies. It's just that a lot of OSS teams don't seem to bother with that.

philipallstar•1h ago
> With all the conservative movements that are going on in the world right now, I really hope we don’t go back to micromanaging as a counter movement to agile. That would be exhausting.

Conservatives are more likely to prefer decentralised decision-making, I would say. At least nominally.

gbuk2013•51m ago
One of the biggest mind-shifts for me moving from senior dev to lead was realising that technology is much less of an issue than people. The impact of good communication leading to people understanding and agreeing on what they are working on is overwhelmingly greater than the technology choices we devs typically spend our time arguing about.
disintegrator•1h ago
My understanding is code reviews are needed as part of SOC-2 compliance. More to supplement automated testing than explicitly mandated. In other words, it makes auditors happy to check off the requirement about verifying changes going to prod.

The remarks about code comments are little too extreme in my opinion. Some code can be difficult to understand at face value. Like I’m writing a Vite plugin and it has code like this:

    const moduleId = "virtual:mypkg";
    const resolvedModuleId = "\0" + moduleId;
Unless you’ve written Vite/rollup plugins, which many folks haven’t, you’re going to appreciate a comment that at least points to some docs.

If anything, succinct code comments that explain obscure conventions or describe relevant critical requirements are worth their weight in gold because they are valuable tokens for a coding assistant.

disintegrator•1h ago
I generally think most of the points made in the article are a little too extreme. Even feature flags are valuable if you’re trying to get something up for certain key customers to give feedback on while you iterate as an example. There is some hygiene required around maintaining and removing flags but I think that’s in the same bucket as writing tests, updating dependencies and refactoring code: worthwhile effort that additionally unlocks testing in production.
philipallstar•59m ago
> I generally think most of the points made in the article are a little too extreme. Even feature flags are valuable

From the article:

> I definitely think you should use feature flags - just not abuse them.

justincormack•1h ago
SOC 2 is in theory not that dogmatic about how reviews happen, and I do know people who do reviews after merge and deployment for example with soc2. You need to have compensating controls and work with your auditor. Most people just go with the default of reviews pre commit.
pronik•1h ago
What he describes as bad about feature flags is exactly the reason I want them. In most cases, the timetable to put something online does not need to correlate with deployments or releases. So as a developer, I happily outsource that decision to the product manager, give them the ability to rollback a feature if it's not working and of course I'm giving them the capability to designate a testing group if the feature needs critical evaluation. Yes, managing feature flags is a pain, but they are essential for separating concerns between management and development.
kqr•38m ago
It's good for another reason too: it decouples releases from deployments. Both deployments and releases are high-risk activities. Performing them together increases the risk multiplicatively.

Separating them does also create some incidental complexity (permutations of configurations, feature flag management) but in my experience that complexity is easier to analyse and deal with. (Dealing with feature flag complexity involves retiring them promptly, differentiating between feature flags and kill switches, etc.)

Of course, TFA knows this. They've moved the goalposts by making an extreme claim ("every" change behind a flag) and then argued against it.

rvz•1h ago
> With LLMs, it’s easier to both get into this mess and get out of it: it’s much easier to install an unneeded dependency by mistake, but it’s also quicker to implement ‘known’ solutions from scratch.

So, rolling your own say ‘cryptography’ is now good advice even if your solution is a worse, because we have LLMs?

Cockbrand•57m ago
For a second, I read dogmas as some kind of X-mas for dogs, and I had a hard time parsing the title. To my defense, I haven't had any coffee yet today.

Anyhow, happy holidays to all of you!

greenbit•11m ago
Woof! =)
mcny•8m ago
Happy Dogmas to you as well
constantcrying•50m ago
>The CTO of a startup I worked at hated dependencies. We worked with some 3D calculations (software for drones), and he was writing tens of mathematical functions himself.

What a terrible idea. Implementing mathematical functions is extremely hard to do well. And by well I mean "function properly at all". This isn't about speed, this is about the fact that if you haven't done actual research into what you are implementing, then your implementation is going to full of errors, many of them totally non obvious. Rolling your DIY numerics, without spending a lot of time on it is just asking for problems.

EdwardDiego•49m ago
> Thanks Linear for supporting today’s article!

Wtf, it's like I'm reading a Youtube video, except it doesn't have the production costs of an actual Youtube video.

phrotoma•34m ago
Absolutely _baffling_ piece of software. It's like if someone added vim keybindings to a TODO app, then switched the keyboard layout to COLEMAK, then removed all the UI controls.

I use it like once a quarter and trying to remember how to mark a task finished makes my eyes water.

tuetuopay•47m ago
At my previous company, we shortened sprints, to make them fit in one single week. The satisfaction at the end of the week to have finished your planned work is unbeatable. And then we shortly stopped to call them sprints.
homeonthemtn•27m ago
That linear ad was icky.
Simplita•17m ago
I’ve noticed the same pattern. Most “rules” break down once systems get long-running or stateful. Separating decision-making from execution solved more issues for us than any single framework change.

If You Don't Design Your Career, Someone Else Will

https://gregmckeown.com/if-you-dont-design-your-career-someone-else-will/
46•TheAlchemist•1h ago•26 comments

The ancient monuments saluting the winter solstice

https://www.bbc.com/culture/article/20251219-the-ancient-monuments-saluting-the-winter-solstice
39•1659447091•2h ago•20 comments

A guide to local coding models

https://www.aiforswes.com/p/you-dont-need-to-spend-100mo-on-claude
442•mpweiher•14h ago•238 comments

Programming languages used for music

https://timthompson.com/plum/cgi/showlist.cgi?sort=name&concise=yes
54•ofalkaed•1d ago•13 comments

Well Being in Times of Algorithms

https://www.ssp.sh/blog/well-being-algorithms/
14•articsputnik•1h ago•5 comments

Deliberate Internet Shutdowns

https://www.schneier.com/blog/archives/2025/12/deliberate-internet-shutdowns.html
200•WaitWaitWha•3d ago•83 comments

How I protect my Forgejo instance from AI web crawlers

https://her.esy.fun/posts/0031-how-i-protect-my-forgejo-instance-from-ai-web-crawlers/index.html
43•todsacerdoti•20h ago•30 comments

Build Android apps using Rust and Iced

https://github.com/ibaryshnikov/android-iced-example
97•rekireki•9h ago•31 comments

Show HN: Books mentioned on Hacker News in 2025

https://hackernews-readings-613604506318.us-west1.run.app
474•seinvak•19h ago•171 comments

I'm just having fun

https://jyn.dev/i-m-just-having-fun/
375•lemper•6d ago•160 comments

Webb observes exoplanet that may have an exotic helium and carbon atmosphere

https://science.nasa.gov/missions/webb/nasas-webb-observes-exoplanet-whose-composition-defies-exp...
68•taubek•2d ago•17 comments

Disney Imagineering Debuts Next-Generation Robotic Character, Olaf

https://disneyparksblog.com/disney-experiences/robotic-olaf-marks-new-era-of-disney-innovation/
200•ChrisArchitect•13h ago•79 comments

Engineering dogmas it's time to retire

https://newsletter.manager.dev/p/5-engineering-dogmas-its-time-to
26•flail•3d ago•38 comments

Kernighan's Lever

https://linusakesson.net/programming/kernighans-lever/index.php
72•xk3•2d ago•29 comments

Aliasing

https://xania.org/202512/15-aliasing-in-general
44•ibobev•6d ago•7 comments

Cartoon Network channel errors (1995 – 2025)

https://cnas.fandom.com/wiki/Channel_Errors
13•Pikamander2•2h ago•3 comments

A Guide to Magnetizing N48 Magnets in Ansys Maxwell

https://blog.ozeninc.com/resources/from-datasheet-to-demagnetization-a-guide-to-magnetizing-n48-m...
40•peter_d_sherman•5d ago•3 comments

Functional Flocking Quadtree in ClojureScript

https://www.lbjgruppen.com/en/posts/flocking-quadtrees
53•lbj•6d ago•3 comments

Show HN: Backlog – a public repository of real work problems

https://www.worldsbacklog.com/
8•anticlickwise•3h ago•2 comments

CO2 batteries that store grid energy take off globally

https://spectrum.ieee.org/co2-battery-energy-storage
258•rbanffy•20h ago•219 comments

Rue: Higher level than Rust, lower level than Go

https://rue-lang.dev/
156•ingve•14h ago•124 comments

More on whether useful quantum computing is “imminent”

https://scottaaronson.blog/?p=9425
92•A_D_E_P_T•14h ago•76 comments

ONNX Runtime and CoreML May Silently Convert Your Model to FP16

https://ym2132.github.io/ONNX_MLProgram_NN_exploration
72•Two_hands•11h ago•15 comments

Lightning: Real-time editing for tiled map data

https://felt.com/blog/lightning-tiles
12•hinting•5d ago•3 comments

Making the most of bit arrays in Gleam

https://gearsco.de/blog/bit-array-syntax/
27•crowdhailer•3d ago•1 comments

Show HN: Rust/WASM lighting data toolkit – parses legacy formats, generates SVGs

https://eulumdat.icu
32•holg•14h ago•0 comments

I program on the subway

https://www.scd31.com/posts/programming-on-the-subway
230•evankhoury•5d ago•159 comments

Show HN: WalletWallet – create Apple passes from anything

https://walletwallet.alen.ro/
389•alentodorov•19h ago•105 comments

Cursed circuits #3: true mathematics

https://lcamtuf.substack.com/p/cursed-circuits-3-true-mathematics
24•zdw•7h ago•3 comments

QBasic64 Phoenix 4.3.0 Released

https://qb64phoenix.com/forum/showthread.php?tid=4244
37•jandeboevrie•4h ago•5 comments