What technology or concept tripped you up before you eventually got a grasp? Or maybe it's still causing problems for you?
What technology or concept tripped you up before you eventually got a grasp? Or maybe it's still causing problems for you?
For further actions, you may consider blocking this person and/or reporting abuse
Work-life balance. β±
I feel like I still need to handle them properly.
After that, Rust's borrow checker. π€
Totally agree, often be able to combine work-projects-study-life seems imposible. And I don't have kids yet!
Don't worry. :-D
You excelled yourself on this one ;)
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!
development =/= coding. Writing the code is usually the easiest part. Everything else is what a company pays us for.
Mastering the skill of saying NO.
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. π€£
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!
Wise words! This was hard for me, too. Sometimes I'd get a magic solution in my sleep, it would seem.
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. π
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.
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.
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.
I hate that
what's that?
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.
Haha tell me about it. Thought I could wing my intro to databases class with some programming knowledge... Guess the joke was on me π₯
I had a similar "climbing road" for data structures.
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
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.
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.
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.
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.
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.
I work as a Vue developer. Maybe there is something? Where are you located?
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.
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.
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.
I recommend learning streams in nodejs before sitting down to rxjs. It should help a little bit.
Thanks for this!
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.
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οΌ
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?
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.
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."
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.
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:
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
The big O.
I'm still struggling with feeling confident with this one.
How to deal with other people, specially on my bad days...or their bad days π€£
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...)
Yup, this one was hard for me also...
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.
The same feeling about regex,
and there are some trivial differences between different programming languages.
The pipeline of OAuth2 works. Didn't understand it for the longest time, now it's a breeze and I use it everywhere!
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.
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.
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).
Soft skils
Two podcasts that helped me:
Also a workshop in non violent communication that was eyes opening
I'm totally into Developer-tea, it's amazing.
Developer tea is the best
Electromagnetism, still cooks my noodle to this day
People >> Code. Technology is a people problem and not a code problem. Take care of the people, the rest will follow.
It was very difficult to my start thinking in asynchronous way because I used to sync languages
Java. I have tried and tried but that language doesn't stick in my head π
Domain Driven Design and CQRS
I really want to make my own app, either a game or some sort of service. But, coming up with a good idea is so hard. Maybe I'm too picky.
Managing the time, crucial thing for me, but I'm getting there!
Maths
The recylerview in Android and collections in Java. Had to go through hell lot of time to understand the concept.
Still causing me headaches: finding the release status of a project. Because it can ALWAYS be better.
Learning how / when to ask for help.
networks, though html is the most annoying since its made up of so many languages. You can't learn them all.
Resolving issues via CLI in Linux....
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
Javascript promise. And I still don't really get it :-)
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
Building true RESTful APIs and recursion
Regular expressions. Still not a big fan!
And (pure) Sql. Thank the big bang there is ORM/Doctrine these days
Spanish while leaving in the UK. It's really hard to really grasp something when you don't use it every day. The same goes for every programming language.
Monads
Gaussian Processes
Work-Life balance
Sarcasm and Irony (still can't get it in a normal conversation)
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
Parenting π€―
State machines, I could never wrap my brain on it even till this day I doubt I am able to solve a problem with it.
Recursion was a hard one for me.
Transitioning from a scientific research background to software development job.
Boolean expressions. When they contain 3 or more variables with and, or, and not it starts to take me exponentially more time to figure out.
Well, that's true for everbody. the more variables, the more we need to decipher it. that's why we invented computers to do it for us :))
Delegating work, I feel bad doing it, but it's a must for your mental health π¬π
For me it was Redux and it still is. haha
But now Redux + Saga is kind of challenging. Anyone to simplify the myth behind those two?
How to quit vim!
The JS execution stack
Step by step problem-solving
All the different kinds of sort
Dynamic programming, still can't wrap my head around this concept!
Legacy code with no tests or documentation
Programming sprites for games on a Commodore 64. But I was 11 years old.
The concept of functions as first class citizens. In the javascript-land you combine that with closures and you basically have superpowers.
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 π