Tom Clark
1 min readFeb 13, 2020

--

Really?! That seems very strange indeed, and I hope readers don’t take this as advice that they shouldn’t bother learning about this…

Never encountered an N+1 problem in your DB (O(N) rather than O(1))? Rendering 1000+ filtered items on a leaflet map (pretty common thing for frontend developers to do)? Your filters better be O(N) not O(N²), or your map’ll jam to a halt… Navigating a sidebar tree to switch something on/off? Same. Writing a simulation of interacting particles? It’ll need to be O(NlogN) rather than O(N²) or it simply won’t work.

These are all real examples from the last few months of a typical full stack development role.

I didn’t come via a CS route (background in mechanical engineering) so perhaps I notice it more because for me, it’s a hard-acquired skill rather than something that became ingrained at university. But, the ability to understand the Big-O implications of what I’m writing is one of the most powerful tools in my kit…

--

--

Tom Clark
Tom Clark

Written by Tom Clark

Fluid Dynamicist at the core, lover of chaos theory. Experienced scientist, developer and team lead working in wind energy — from startups to heavy industry.

No responses yet