DEV Community

Ben Halpern
Ben Halpern

Posted on

It's good to identify what you don't need to bother learning

This thread has a lot of great answers:

I tried to comment, but was not able to really put my finger on the stuff I'm not interested in learning. Instead I simply read, and I believe there is a lot of wisdom in some of these answers. Enjoy!

The modern frontend toolchain is where I'm tapping out on the "full-stack" idea. I can do everything I need to do with server-rendered templating languages; if I'm working on something that requires getting serious about understanding React or Vue or Webpack, I'm going to be working with someone who knows React or Vue or Webpack. I can work out what's going on in there well enough to fix problems and add minor features, but I'm profoundly disinterested in digging deeper.

Machine Learning. I see it thrown around everywhere as the new thing to do, and I just can't build up the energy to dig into the complexities (both with the science behind it and the massive amount of different libraries available).

VIM and DevOps are actually on my current list haha, although that's also on the advice of my current manager. My own list includes:

  • Virtual Reality
  • Additional backend langauges other than Ruby (part of my current job)
  • Arduino or Raspberry Pi

I want to include calculus as well, but my manga book on Calculus always pulls me back in.

Great question!

the list could be endless if I start adding things like SAP :D

These are the things that pop in my mind right now:

  • blockchain: I'm honestly totally bored to death everytime I hear someone mention "blockchain". It's not rational, I just tune out. Probably my subconscious is trying to protect me from the hype

  • kubernetes: super useful, just not particularly interested. More interested in what comes next, I need one more level of abstraction

  • AR/VR: reality is way more interesting for now :D

  • internet of things: except real sensors in urban environments... why are we doing this to us?

  • hardware: I don't remember the last time that I built a computer. Probably in high school. I keep a distant eye on what's going on in storage and memory advancements though.

  • AI/ML: turn down the hype. Learning something about ML is quite useful though

  • PHP/Wordpress/Drupal: I know, I know. I shouldn't judge a book by its cover

DevOps. BlockChain. Angular.

It's really hard not to fall for shiny object syndrome, so I think you really have to keep that focus in mind of what your goals are for being a developer <3. Thanks for posting this, as always ali :)

The things you have on the list are on mine as well.

Not so long ago I wanted to learn everything and thought it is possible. Some job descriptions made me feel that I need to know everything. Now I know better - there is too much and I need to specialise to achieve any notable results and satisfaction from my work.

Basically, I focus on frontend now, and mostly on logic and architecture, not appearance. I can do CSS but I don't like it. I can do backend in javascript but there is more interesting stuff for me on the frontend. For now I want to learn React and everything around it, on a deeper level.
Everything else is not on my "to learn list" at the moment.

The thread has a lot of other great answers I didn't highlight. The point is that managing your own expectations and being okay with the fact that you'll never learn everything is important.

Nobody is telling you that you can't change your mind later, but it's okay to fall behind in certain areas of software development while going deeper on others. Managing this interplay is important for your career evolution.

Here is a somewhat related post, addressing the other end of the generalist-specialist concern:

Happy coding ❤️

Top comments (12)

Collapse
 
shalvah profile image
Shalvah

FOMO is the enemy of focus.😞

Collapse
 
codingmindfully profile image
Daragh Byrne

Wisdom right here.

Collapse
 
kayis profile image
K

I don't know.

On the one hand, I think you're right, learning everything wastes your time, if you want to do something, find the tools that make doing it simple for you and be done with it.

On the other hand, there are many people out there who do things the old way and don't want to change it, even if it has considerable down-sides doing so.

"We don't need the Cloud!"

"Web UIs are too slow, we need to do it in C++!"

"Monoliths are much easier to maintain!"

"Mainframes are more efficient!"

Collapse
 
ben profile image
Ben Halpern

I agree, but the comments here are generally pretty reasonable. There are problems on both ends of the spectrum. Landing in a sensible middle area is pretty important.

Collapse
 
dmfay profile image
Dian Fay

It's really about context more than anything. Monoliths are easier to maintain when they encapsulate less complexity than is worth the microservice effort overhead. Asynchronous web UIs can be unacceptably slow for some purposes. Breaking out a planet-scale distributed datastore when you have a few hundred megabytes of data tops is stupid. Framing an issue as a case of extreme, flawed, and diametrically opposed perspectives dueling around a sensible center tends to be overly simplistic.

Collapse
 
kayis profile image
K

Yes, and it's not easy.

I for one would say serverless is the future and blockchains are a fad.

But maybe it's the other way around?

Thread Thread
 
ben profile image
Ben Halpern

I think these things are becoming important, but we are in fairly painful early days in both.

I don’t think there’s anything wrong with hanging back and catching on once some of the dust has settled.

Collapse
 
heyharold profile image
Harold Nyikal

Learning is not binary you learn or you don't. It is more a question of to what degree you choose to learn. Even to answer the question "what are you not interested in learning?" with, for example, "Angular", means you know enough about the subject to choose not to proceed further with it. If you are a backend developer you may have very little desire to explore frontend frameworks but you probably know what frontend frameworks are and their purpose, and I'd bet a lot more than you know about something else completely remote like molecular biology.

Personally I try to be familiar at a very high level with current trends in technology, looking out for things that could possibly help me be more effective day to day, at work or play. The degree to which I immerse myself is dependent on how promising the particular technology seems to me for the things I am working on, either professionally or as a hobby.

Collapse
 
williamholt profile image
William Wheat Holt

IMO, the software world is a massive ocean. I live on a tiny island, so it makes sense to know that island really well. After I've become intimately familiar with my island, I can then swim over to the next and learn some things over there.

I work mostly with Angular and other frontend technologies, so that's where my focus lies. I don't have any need for ML, AI, or AR in my day to day so I don't make an effort to find time to study those topics. But it has been greatly beneficial to learn about build processes, CI/CD, and other tools and tech that can help with what I'm actually working on.

Collapse
 
ben profile image
Ben Halpern

Additionally, @aspittel made another post that touches on the general "shiny object" issues discussed in some of these comments:

This also reminds me of a post I made a couple years ago:

Collapse
 
auct profile image
auct

@ben can you remove line from css

container .body {
font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif;
}

Very hard to read single post on desktop.

Collapse
 
juanfrank77 profile image
Juan F Gonzalez

Is easy to identify what is not needed only when there's a clear focus on what is that one wants to accomplish first.