DEV Community

Ben Halpern
Ben Halpern Subscriber

Posted on

Experienced developers: What concept have you never gotten around to learning and you've been fine without it?

Latest comments (46)

Collapse
 
kbariotis profile image
Kostas Bariotis

OOP :P

Collapse
 
david_j_eddy profile image
David J Eddy

NoSQL; honestly, it's a document store, cool. SQL (esp. Postgres/Maria) can do it as well. Checkout how Wordpress / every CMS stores user profile field names and values.

Collapse
 
mangekalpesh profile image
Kalpesh Mange

Advanced CSS and making things look pretty.

Collapse
 
kspeakman profile image
Kasey Speakman

I did learn these but never really needed them. Would be a bit rusty on some.

  • pointers - because of managed languages / pass by ref semantics
  • sort algorithms - languages I used already had them
  • TDD and Test First - tried it for a while
  • AOP (aspect oriented programming) if anyone still remembers it
  • dependency injection containers - It’s a statically-typed language thing, but not really needed there either.
  • tree structures: b, b+, avl, etc. Languages / databases already had specific collections / indexes which implement these under the covers. Fascinating to know for performance characteristics tho.
  • bloom filter
  • actor model of computation
  • agent based programming - tried, but message passing overhead was too slow for my workload

Never actually put any of this into a production project except TDD. Have used other framework’s DI containers when they force it on me, but not my own.

Don’t get me wrong, over time I have learned a lot of low level details like: heap vs stack allocations, big-o of various collection operations, avoiding cache misses, flushing registers to memory, etc. Because managed languages are still leaky abstractions over the hardware they run on, I’ve bumped into some weird edges that caused me to learn it.

Collapse
 
carstenk_dev profile image
Carsten

business administration

Collapse
 
recursivefaults profile image
Ryan Latta

This one is interesting to me because there are things I wish I didn't have to know that I have had to know.

But here's the list of things I have never had to worry about (9 years):

  • Relational databases
  • CSS
  • Assembler

And for the things I have had to use:

  • Regular expressions
  • Big O
  • Trees/Graphs
  • Big/Little Endian
  • 64 vs 32-bit programming
  • Threading... THREADING!
  • JVM tuning
  • Manual memory management

Now I'm sharing this list because I personally think the software industry is converging on web development. There is actually a huge world out there beyond web development where some of these more esoteric seeming things have mattered.

Collapse
 
zeropaper profile image
Valentin Vago • Edited

Making (big) money.

Collapse
 
necmettin profile image
Necmettin Begiter

I'll look from a different angle. Do we need formal education in any programming concept to learn them?

SOLID principles, BigO notation, Docker and frenemies, functional programming, traits (PHP), most class inheritance stuff, schemaless structures (was in Pascal Records in the 90s), recursion.

I knew and was using them before I knew their names (except Docker&fr, we used to call them virtual hosts back in the day ;). Never really studied any of them, and I realized I already knew them when I studies them.

I'm a teacher and I know for a fact that it is better to not name concepts and structures until the pupil learns them by heart. And at that point, studying the concept becomes useless because the pupil is already aware of things. This doesn't apply to university level conscious studies of course.

Collapse
 
heyitshannes profile image
Hannes Calitz

So much this. As a self fought developer I know almost none of the names of the principles implemented in my work and I've been doing it for 18 years now.

Collapse
 
xtrycatchx profile image
xtrycatchx

Not knowing there was this AWS Function Step and instead, i have a fat function orchestrating what other lambda to call and when. But im alright with it (for now)

Collapse
 
bosepchuk profile image
Blaine Osepchuk

UML modelling. It was going to be "THE THING" in the late 90s. I took a look at it and couldn't figure out how to make it work for my projects.

By the look of things 20 years later, neither could anybody else.