loading...

What did you have the hardest time learning?

ben profile image Ben Halpern ・1 min read

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

Discussion

pic
Editor guide
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
Victoria 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

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

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
jamiepo profile image
Jamie

I hate that

Collapse
attkinsonjakob profile image
Jakob Attkinson

what's that?

Collapse
moopet profile image
Ben Sinclair

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
lyavale95 profile image
LyAVALE95

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

Collapse
jkhaui profile image
Jordan 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
katafrakt profile image
Paweł Świątkowski

Rust. I tried maybe three or four times, I understand concepts such as Option monad etc. but I really cannot write code that makes sense in it.

Collapse
snj profile image
Nick Chen

Hah,
Since Rust is so hard to learn, why many developers love it at StackOverflow.
I think it's not easy, it really needs more time to understand the borrow checker.

Collapse
katafrakt profile image
Paweł Świątkowski

Yeah, borrow checker is a b**ch, although I think I mostly figured it out. But I think the docs about it could be better.

Collapse
dylanesque profile image
Michael Caveney

The big one for me is D3.js. I understand the core mechanic, and there are good resources out there from folks like Ben Clinkenbeard and Shirley Wu, but there are so many little moving parts you need to get to work quickly with that library. If it was the only thing I needed to learn I would be much further along, but hats off to people who have deeply mastered it; I think it's the most challenging JavaScript library/framework I've come across by a country mile.

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
devjev profile image
Jevgeni Tarasov

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
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
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
snj profile image
Nick Chen

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

Collapse
szabikr profile image
Szabi

I am in the middle of learning AWS fundamentals in order to know what is capable of and how to use different services. Is probably the hardest bit so far and Amazon also charges money for a bunch of stuff even when you are doing tutorials.

RxJs is also a difficult concept to grasp.

Collapse
pavelloz profile image
Paweł Kowalski

I recommend learning streams in nodejs before sitting down to rxjs. It should help a little bit.

Collapse
szabikr profile image
Szabi

Thanks for this!

Collapse
ferricoxide profile image
Thomas H Jones II

I feel like I have less problems learning wholly new things than learning different implementations of things I already know. In the former case, it's often just an exercise in "take what you know and use that to help you absorb this new stuff". Whereas, in the latter case, it often comes down to "unlearn what you previously internalized so that it doesn't get in the way of this new method for doing old tasks."

Collapse
mikeschultz profile image
Mike Schultz

Myself...it's an ever learning experience. And regex. I swear I have to re-learn it every time I need it, and always forget it after a week of not using it.

Collapse
snj profile image
Nick Chen

The same feeling about regex,
and there are some trivial differences between different programming languages.

Collapse
teotcd profile image
JedDevs

Learning Visual Coding in Unreal Engine.
I find working in Visual Coding compared to Lua, Python or C# Object-Oriented Programing to be impossible. There is no single frame or principles you can work off. There's a custom term for everything.

When in Roblox Studio or Unity you have some basics you can work off such as:
Classes, Remote Events, Vectors and CFrames and Tweening which you can then build off but when you enter Unreal everything has a custom term which really makes learning it a real hassle, you can't develop off any pillars, you are launched in the deep end even if it looks easier. I'd honestly prefer to learn French (Ok..Maybe not honestly).

Collapse
sjellen profile image
SJellen

The big O.

Collapse
torianne02 profile image
Victoria Crawford

I'm still struggling with feeling confident with this one.

Collapse
nektro profile image
Meghan (she/her)

The pipeline of OAuth2 works. Didn't understand it for the longest time, now it's a breeze and I use it everywhere!

Collapse
tunaxor profile image
Angel D. Munoz

F# was the hardest thing for me I started with it in 2015 while I got the ideas of FP and actually helped me a lot to improve my javascript I couldn't just write meaningful stuff in F# I was back and forth over the years. It wasn't until recently I found out a web framework similar to express (Giraffe) which helped me to finally write and grasp that stuff I could write was kind of similar to what I had done previously in javascript

Things I'm still struggling with:

  1. Rust
  2. The "recent" MVU Pattern (popularized by elmlang)

Rust in the sense that I still don't feel like I'm writing meaningful code with it though I'm in the phase of being away from it, perhaps I'll come closer to it next year.
And MVU pattern kind of I get the idea, but I don't get the idea on how to work with multiple views like in a SPA

Functional concepts are nice, and I can apply some of them (Not all I don't like the purist approach to it) in my javascript code where it makes sense but on other languages it is just so enforced takes me out of my mental model sometimes

Collapse
zoltanhalasz profile image
Zoltan Halasz

In terms of software technology: Angular, Modelview-ViewModel, Entity Framework. In terms of job, my last job as Management Accountant was more complex than anything in software development. In terms of study, high school was very challenging, as well as my Management Accounting certification.

Collapse
cmelgarejo profile image
Christian Melgarejo Bresanovich

How to deal with other people, specially on my bad days...or their bad days 🤣

Collapse
alexanderbelldev profile image
Alexander Bell

How to stay focused in a loud workplace with plenty of meetings occurring throughout the days and many distractions. I'm not quite there yet as I find it rather easy to lose focus from the task especially if its something I don't particularly want to be doing.

Collapse
nombrekeff profile image
Manolo Edge

Integrating TradingView charts into an angular project, weird stuff... (It was not that bad, but really confusing and different to any other lib I've integrated...)

Work-life balance. ⏱

Yup, this one was hard for me also...

Collapse
peledzohar profile image
Zohar Peled

Multithreading. I mean, I got the concept pretty fast, but getting it right with all the locks and semaphores simply didn't sit well for the longest time. Honestly, I'm not sure I get it now, 20 years after learning about it the first time - though to be fair, I can count on one hand the number of times I've actually used threads, so not much practice in that area.

Collapse
jmfayard profile image
Jean-Michel Fayard 🇫🇷🇩🇪🇬🇧🇪🇸🇨🇴

Soft skils

Two podcasts that helped me:

Also a workshop in non violent communication that was eyes opening

Collapse
lyavale95 profile image
LyAVALE95

I'm totally into Developer-tea, it's amazing.

Collapse
jamiepo profile image
Jamie

Developer tea is the best

Collapse
andrewharpin profile image
Andrew Harpin

Electromagnetism, still cooks my noodle to this day

Collapse
mohanarpit profile image
Arpit Mohan

People >> Code. Technology is a people problem and not a code problem. Take care of the people, the rest will follow.

Collapse
lewiskori profile image
Lewis kori

Java. I have tried and tried but that language doesn't stick in my head 😕

Collapse
maluzzz profile image
MariLuz

It was very difficult to my start thinking in asynchronous way because I used to sync languages

Collapse
goodfellowmunro profile image
John Munro

Legacy code with no tests or documentation

Collapse
sandordargo profile image
Sandor Dargo

How to quit vim!

Collapse
clarinerd617 profile image
Rolf Henry Goodwin

Transitioning from a scientific research background to software development job.

Collapse
fidelve profile image
Fidel Sanchez-Bueno

Recursion was a hard one for me.

Collapse
gayanhewa profile image
Gayan Hewa

Parenting 🤯

Collapse
ernesto27 profile image
Ernesto Ponce

right now , i'm trying to learn kubernetes .
Althought kubernetes in action book , really helped a lot , i think that i need a lot things to learn and practice

Collapse
zeljkobekcic profile image
TheRealZeljko

Monads
Gaussian Processes
Work-Life balance
Sarcasm and Irony (still can't get it in a normal conversation)

Collapse
rogierzeebregts profile image
Rogier Zeebregts

Regular expressions. Still not a big fan!
And (pure) Sql. Thank the big bang there is ORM/Doctrine these days

Collapse
swarupkm profile image
Swarup Kumar Mahapatra

Building true RESTful APIs and recursion

Collapse
felipperegazio profile image
Felippe Regazio

I took a long time to understand OOP, also Promises/Async patterns. it's been a while since then, but i still remember of me thinking: HOWWW, WHYYYY, DAMN WHERE THIS VARIABLE CAME FROM?

haha

Collapse
philippejadin profile image
Philippe Jadin

Javascript promise. And I still don't really get it :-)

Collapse
jkhaui profile image
Jordan Lee

Recently, it's been RxJS. In hindsight it's not too bad, but it really took weeks of studying it before I felt like I understood the basics

Collapse
tam360 profile image
Mirza

Resolving issues via CLI in Linux....

Collapse
lyavale95 profile image
LyAVALE95

Still causing me headaches: finding the release status of a project. Because it can ALWAYS be better.

Collapse
thedavos profile image
David Vargas

For me, understanding Overpass API was a nightmare at the beginning. But, i didn't give up and i started grasping it after a week 🌞

Collapse
vonheikemen profile image
Heiker

The concept of functions as first class citizens. In the javascript-land you combine that with closures and you basically have superpowers.