DEV Community

Ben Halpern
Ben Halpern Subscriber

Posted on

What did you have the hardest time learning?

What technology or concept tripped you up before you eventually got a grasp? Or maybe it's still causing problems for you?

Top comments (88)

Collapse
 
olistik profile image
olistik

Work-life balance. ⏱
I feel like I still need to handle them properly.
After that, Rust's borrow checker. πŸ€“

Collapse
 
lyavale95 profile image
LyAVALE95

Totally agree, often be able to combine work-projects-study-life seems imposible. And I don't have kids yet!

Collapse
 
olistik profile image
olistik

Don't worry. :-D

Thread Thread
 
exadra37 profile image
Paulo Renato

You excelled yourself on this one ;)

Collapse
 
dansilcox profile image
Dan Silcox

How much of software development is not actual software development - so much is talking to people, thinking about approaches, research, etc etc etc - it's not just a case of "make stuff" there is soooo much more too it!

Collapse
 
attkinsonjakob profile image
Jakob Attkinson

development =/= coding. Writing the code is usually the easiest part. Everything else is what a company pays us for.

Collapse
 
sarthology profile image
Sarthak Sharma

Mastering the skill of saying NO.

Collapse
 
torianne02 profile image
Tori Crawford

Learning how to realize when it is time to walk away and take a break when trying to debug a problem.

JavaScript Promises were also a really tough one for me to grasp. It took waaaaay longer than I'm proud to admit. 🀣

Collapse
 
storrence88 profile image
Steven Torrence

When I realized that sometimes a good night's sleep is WAY more beneficial than trying to push through, it was a game changer for me!

Collapse
 
newah1 profile image
Noah Doughton

Wise words! This was hard for me, too. Sometimes I'd get a magic solution in my sleep, it would seem.

Collapse
 
martyhimmel profile image
Martin Himmel

This is very specific, but pointers and references in C++. I started going through a couple books on C++ around 2001 or 2002. When it got to the chapter on pointers and references, it did not make sense to me.

About 3 years ago, I was teaching JS and PHP to a few coworkers. A question came up where I ended up explaining pass-by-value and pass-by-reference, and how they work in memory. At the end of my explanation, I realized I finally understood how pointers/references in C++ work (generally, not syntactically - it's been too long for that), while using PHP as the example. πŸ˜…

Collapse
 
maurocon3ras profile image
Mauricio Contreras • Edited

DevOps, so many definitions, colors and flavors to choose. Some are hard to implement and others are so good.

Some people think DevOps is a state of mind, let’s do yoga and meditation, everything is going to be ok.

Collapse
 
jeky_zero profile image
Jeky • Edited

Tbh I think one of the trickiest things, at least when first starting out, is all the new terminology.

You have regular words that take on new meanings. Or words that sound kind of familiar but you're still unsure of, and then loads of alien words that you've never heard anywhere before.

Most concepts behind the words, you come to realise, when understood on their own, are relatively straight-forward, or can at least be reasoned about through abstraction via a neat analogy.

The apprehension about how complicated and complex the new terms make it seem, is always worse than the actuality.

Collapse
 
attkinsonjakob profile image
Jakob Attkinson

I'd like to take one step back and say that I had (and still have) the hardest time learning how to learn.
Sometimes you deal with a time sensitive problem so you "hack" a solution without having the time to properly understand it. Sometimes you're just too tired so you "get things done", one way or the other... Regardless what it is, most of the time, I realize that I do things while missing opportunities to learn.

Collapse
 
withpyaar profile image
with Pyaar

I hate that

Collapse
 
attkinsonjakob profile image
Jakob Attkinson

what's that?

Collapse
 
moopet profile image
Ben Sinclair • Edited

To be honest, relational databases.

They seem so straightforward, right?

I went into university as a self-taught C/asm programmer and I thought I knew a fair bit. My databases course was really difficult.

I admit I was that student who didn't always turn up on time, or at all.

I got 0% on my databases exam, because I handed in a piece of "artwork" instead. I drew a scene with a man in tatty clothing lugging a grandfather clock on his back down a long stretch of beach. I remember this because it was a representation of how I felt time was dragging in the exam, and I didn't understand the questions well enough to bother trying to answer them; I knew I would fail.

It wasn't until years later, when PHP/MySQL was just starting to get attention, and I found an example of the simplest thing on someone's website. It showed me how to make a guestbook. Remember them? And it explained what it was doing step-by-step, and I understood it without even furrowing my brow.

The lecturers at my university had thrown us into the technical side of things straight away, trying to teach us data concepts without giving the simple example, the td;dr we're used to seeing at the top of documentation these days.

Then I went on to become the SQL ninja I am today, who only rarely brings down production with a missing clause.

Collapse
 
jkhaui profile image
Jordy Lee

Haha tell me about it. Thought I could wing my intro to databases class with some programming knowledge... Guess the joke was on me πŸ˜₯

Collapse
 
lyavale95 profile image
LyAVALE95

I had a similar "climbing road" for data structures.

Collapse
 
daisydevelops profile image
Daisy Develops

JavaScript's async/await. I cut my teeth on "spaghetti code" callbacks (AKA callback hell), and developed different strategies/styles for handling them. Now I get easily confused with the simpler(?) constructs for async/await. I bypassed learning Promises entirely, that may have been a mistake :D