DEV Community

Ben Halpern
Ben Halpern

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
 
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
 
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
 
dyland profile image
Dylan Davenport

Deciding what JS library/ framework to learn 😒 I enjoy Vue more but have come to the game unfortunate realization that there aren’t very many Vue jobs in my area. Therefore I’ll have to focus on React.

Collapse
 
sammerro profile image
Michał Kowalski

I work as a Vue developer. Maybe there is something? Where are you located?

Collapse
 
dyland profile image
Dylan Davenport

I live in the US. There are a few of places near me that are looking for Vue experience but they always phrase it as “Must know a JS framework like Vue, React or Angular”. It’s very vague.

Collapse
 
andreasjakof profile image
Andreas Jakof

Lambdas took me quite some time. Now I love them.

I still struggle with ASP.NET WebForms. It does everything to pretend for you to just write some desktop app. But if you use it this way, it won't work.
I solved it, by moving on to ASP.NET MVC, where at least I know, THIS is server code and THAT is client code.

Collapse
 
badrecordlength profile image
Henry 👨‍💻

Hmm, great question.
Academically I'd probably have to say Boolean Algebra Simplification. More generally, probably learning to push anxiety aside and to face problems head on, fixing things sooner rather than later (though often scary), will always be better in the long run.

Collapse
 
devjev profile image
Jevgeni Tarasov • Edited

This is beautifully well put!

I feel like OOP and quite some DSLs land in this uncanny valley of semantics, where sterile examples look super cool, easy, and humane, but the minute you start using it, there is so much magic and implied stuff going under the hood that you are never sure if what you're doing is right.

Collapse
 
snj profile image
Nic • Edited

CSS,
I can not remember the properties, need to search it whenever I use it, I don't need to work much with it in my daily work, luckily!
I can not get the logical pattern of CSS. It's complicated for me.
Any suggestions?

Collapse
 
jenbutondevto profile image
Jen

I was very slow with css when I first started! I suppose my proficiency came from being a fe developer and being exposed to it all the time. There are very few you have to remember, everything is googleable or on a cheat sheet. If you have a nice text editor that has auto-complete for css you can probably make good guesses on what the properties will be.

What do you mean logical pattern of CSS? Specificity?

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