What is the hardest thing about learning to code?

emmabostian profile image Emma Bostian ✨ ・1 min read

The thing I struggle with most is staying up-to-date. It's hard to code from 9-5 and come home at night and continue to learn. It's important to maintain a healthy work-life balance, and I still struggle with this. What is the hardest thing you've experienced on your coding journey?


markdown guide

Usually they (bosses) think not, but learning constantly is part of the job and should to be done in working hours, precisely to have this work-life balance.


My problem is opposite, my employees don’t spend time to learn anything and they always come with execuse as they had so much to code!! I constantly remind that 80% learning and 20% coding will yield better results then 1% learning and 99% coding.


Just changing jobs now and this is one of my parting words to my last boss. I recommended 80% is the max anyone should be specifically on work, then 20% learning, essentially every Friday should be devoted to upskilling and presenting what you learned. Code reviews (on pull requests) should be super standard and if your not doing this, seriously make a change.


Try organizing them knowledge sharing sessions. Do it in working hours, so you actually show it that's important for you that they learn.

You can also try organizing coding dojos.

Buy them books, or online library subscription.

You think I haven’t tried all this? It’s just their habit which is very difficult to change as they grow older.

When you say "my team", do you mean you manage them or you are their teammate?

I said, 'my employees', so I am not directly managing teams, but yes, in a way, I do manage.


This is super strange, unusual 🤔 They develop a good code? Not a deprecated code? You always can offer some conference/workshop tickets, it's a great way to do a pause on development and have a good time to learn.

Learning has to be everyday, I can't send them to conference/workshop everyday !! Also if they don't know how to learn by themselves, they will not do anything on conference/workshop.

Try starting a Friday lunch and learn. Then it’s one dev presenting learning each week.

Also code reviews are great opportunities for knowledge sharing.

Akash, I think if they don't want to learn anything new, sooner or later you'll have to replace them with someone who is more competent and with more skills.

Only if reviewer is smart, otherwise all code is great!!


Knowing what you don't need to know.

You hear a word or concept, it's hard to know if it's okay that you don't know the thing.


Once you arrived a certain grade of knowledge, is very easy to think that you know "a lot" and you can't be wrong.

I've worked with people that is never wrong, if there's an error is because somebody touched their code and that their algorithm is perfect and covers all the cases...


I think their is also humidity needed when you know you don't know everything and pros and cons exist for everything. Being surrounded by those requesting less then optimal use of time or seeking 'the' pattern still requires te right level of humble response.


I’ve met a whole bunch of people who are insanely arrogant about what they know, and if you don’t know as much (less experience) then they hold it over others. Insanely counterproductive, and never leads to helping people develop. I’ve found this in the likes of Java/.net, but much less in JS stacks or anything open source.


The concept of scale is hard with programming. How big is big?

A database with 100 million records may be nothing in terms of scale, but a loop of 100 things could make a web request timeout if the loop is inefficient.


For me, it's just hard to get started period. I've got a ras pi that's been collecting dust in my closet for ummm 2 years now... wow, embarrassing.

Anyway, it feels like there's so many different possible ways to go and mountains of beginner tutorials available. I just need to get disciplined and dive in.

I totally can relate to wanting to chill or even just wind down after a 9-5. Lots of other things come calling: gym, cooking, music, time with my significant other... and of course, the cats! I know if I just stop making excuses, set aside time each night, and get in a rhythm, it'll pay off.

Gotta overcome that procrastination! 😅


I totally empathize with this. Finding the motivation to start is hard.


The number of in progress projects is impressive. But I don't think that is unique to programming hobbies.


Your not alone cause I have the problem of doing my side projects while finding time in writing my blog. I think scheduling time can help slightly to get started.


Learning that "someone else's bad (or even terrible) code" isn't always so because someone was lazy or didn't care enough. There could many reasons why it's so, terrible and daily changing requirements, very tight deadlines, constant pressure, sheer amount of other work that has to be done.

Also, finishing side projects, heck. Even starting them.


I could not agree more! I ride horses competitively and often when I am not working, I am riding so it's hard to squeeze in time for side projects, blogs, etc. I always feel behind when my other coworkers talk about the latest new language that I have never heard of. Recently though, I am starting to realize it is OK to not know about every new thing. There is no possible way anyone could!


I totally feel you! I try to juggle learning German, reading, cooking, cleaning, and managing a thousand side projects :) I need to plan my life better!


The hardest thing I've experienced on my coding journey is managing time spent coding, staying up to date with what is happening tech, and finding a tech job. I also have been struggling with impostor syndrome and people trying to pressure me to quit coding. I often had to rely on the tech communities I participate in even more this year due to all the negativity I have been receiving.


Don't ever quit! I was horrible for the first few years in dev... I had no idea the community existed. Keep going!


No worries! I'm not planning on quitting anytime soon. It has just been harder dealing with the negative people telling me to give up coding and how coding is not going to help me get a job this year. Thankfully the coding communities have been awesome and have been the best support system throughout my coding journey. I'll definitely keep using them as I keep coding.


Oof, definitely agree with that. I've been at my first programming job for a year and a half now, and while I have ideas for side projects that I'm genuinely interested in, I find it really hard to build up the energy/motivation to start them. I'm usually spent by the time I get home, and almost always want to do other things.

I think what you're saying is hardest thing for me, too, but a close second for me is figuring out when a solution is good enough. Often times I'll write a solution and then rewrite it over and over again, until it becomes overengineered. Then I'll rewrite it again, and push a final solution that's simpler and probably works well enough. Knowing that someone is going to review your code helps with this, but I constantly need to remind myself of "Perfect is the enemy of good."


Totally agree! Usually I find that by watching other people code (i.e. tutorials) I gain motivation!


So far I think one of mine is knowing when to be okay with messy, "bad" code. Ideally the answer would be never, but I'm having to learn on the job that often resources are limited and you have to make compromises. The part I struggle with the most is knowing where to make those compromises to limit the severity with which you get stung later when you have to revisit the code.


I also have a hard time trying to code or learn something coding related at home after a day of coding at work.

I also do better in a classroom or lab environment because of the guidance it provides when very green on something. At home on my own it's hard to replicate that type of learning environment.


Yes! Accountability is a huge motivator!


For me, the hardest thing to learn about coding is that coding is the easy part. Learning to not get myopic, working with others, understanding what to build in the first place, searching for value, practicing, and so much more. These are the real hard parts about coding. It's often very easy to lose sight about why we are coding and get too caught up in the how or what. I am always trying to remind myself not to confuse the means for the end.


I always try to stick with jobs that force me to learn new things and keep improving, so I don't have to be so hard on myself in my spare time. It's when I feel stuck at work that I spend more spare time on sharpening up my skills or learning something new.


For me: staying focused on one thing.

There's just so much awesome stuff to learn, different frameworks, slick animations, 3D graphics, tooling and lots more, so it's reaaaaaally tempting to start messing with the next best thing while you're still not 100% comfortable with the last thing you started learning. 😅


Yes. This is also a huge part of my struggle. Staying up to date with the latest tech while still working full time is a lot of work. And also accepting the fact that as developers we can't always know everything.


I find the hardest part is finding time to learn. There is just not enough time to do enough learning, and even if there was more time in the day to learn, there's still always more and more to learn.

It all comes down to time.


Hands down dealing with timezones. Worst problem in programming imo


I struggle with having a goal. If I don't have a goal in mind, I have a really hard time trying to learn anything because it's fun up to a point and then I'm like "Ok now what?".

Academic projects are always great because there is an intended goal or learning path. When you're on your own, it's a little trickier.


Switching languages when under a time-crunch ...particularly if there's one language you know inside-and-out. While learning the syntaxes of other languages is generally trivial (especially if you know at least one other language inside-and-out), the initial forays into that new language will positively reek of the programmer's "home" language.

To be honest, "language" is a great term for what's used to program in, since, like spoken languages, you will tend to have an "accent" in your non-native. language.


First off you need to know that everyone from newbies to developers with 20+ years of experience has the same problem you're facing. The first thing you can start with is learning on the job. Try to find time at work to keep your skills up to date. Sometimes employers have a fixed number of $ they can allocate to training and conferences. You can also find ways to introduce technology that you want to learn about into new or existing projects.

My only other advice is to maintain a healthy work-life balance that you're looking for. Learn when you can but there is always going to be something new you might want to learn. The better balance you have in life, the easier it will be to want to learn something without feeling the need to. Good luck in your journey and with that ill leave you with one of my favorite quote of all time.

"Live as if you were to die tomorrow. Learn as if you were to live forever." - Mahatma Gandhi


I am a super newbie, I am just understand and grasping Javascript. just able to code in css and understand the positioning and padding ect.
I am currently stuck with everything has to be perfect, and I haven't gotten anywhere near finished with my initial portfolio. My imposter symptom is at a all time high.i spend maybe 8 hours after work daily for 5 days coding and reading and digging. I leave two days away from it.


That. I agree with everything you said.

I found context helps a lot. Each library, framework, language I learn makes it easier to learn the next when I need too.

So I listen to a lot of podcasts and reach about other tech. Then when I need that for a solution, it’s available. The other part was focusing on the core language itself. Knowing React for example is fine, but it’s better to know JavaScript.


For me, It's definitely figuring out what to focus on, and trying to learn too many things at once.

I could use React to build a project, but I could also do it in PHP and get a finished product a lot quicker, but then I keep pushing off learning React.


Talk to your boss and tell them you need access to internet and tutorial websites or videos. If your boss is blocking internet for your productivity. You must convince him to give access to learning material as you don’t have time and internet at home is too slow to give you access. I am sure no boss in his right mind will deny such request.

God has made our body in away that the moment you stop using something it becomes weaker. They way we need to exercise to be healthy, even brain needs new things to learn to be healthy. Often old people start forgetting things just because they stop learning any new things.


I think for me the most difficult thing in programming is not being able to see the big picture.

For example, if I have to fix some issues I just quickly fix the current issue in hand. It worked for sometime and sometimes the fix is causing another issue in some other module or it's not effective as it has to be. So I have to rewrite same fixes again and again.

I'm trying to fix this so that I don't have to came back to fixing the same issue over and over again. 😁


So far there is no hard thing if you make up your mind and minimize your need. However, I understand your concern as I was there in those shoes at some point of time but I could overcome by preparing a proper time-table. Although, the hardest thing was sticking up to the timetable strictly. Give it a try... It might be hard at first but you'll be fine.


For me the hardest thing about learning a programming technology is to figure out the best way to learn it


according to me is not hard to learn, its harder to forget the old practices and keep them using them when even they are not wanted just because you are fond of having a thing in a certain way. That's more hard for me at least.


Dealing with collaboration tools. Jira makes me the saddest because sometimes my colleagues think Jira can take the place of conversation, eye contact, and shared ideals.


Yes I totally understand. Good documentation is key but not the be-all-end-all!


Staying "up to date" is largely pointless since everything moves so fast and the latest 'hot' trend is not necessarily all that great, or the right fit for every project. Every new fad and framework is simply a (possibly) new application of the underlying fundamentals. Learn those and be confident with them, and new stuff that comes along really won't be all that hard. I would suggest doing stuff like coming up with your own framework, and building stuff totally from scratch... this will teach you a lot


That the "code under development" has to be tested and that requires a different mindset, "Hat".
I enjoy both and someone else should always test my code after I've tested it. Getting code to execute and finding code that breaks result in different "Ahas!" :-) Happy Cod(Test)ing.


Almost Every developer has the same kind of problem after few years of development,
So it is not possible to be master in any language even its you native language but every language has same kind of blue print.. so we can relate new technology with exiting one 75% problem will get clear


I struggle the most with seeing edge cases ahead and making compromises.

Learning a language is a piece of cake, learning how to express something without a single tiny unspecified hole is a different story.

If you really code for all edge cases you likely got into situations where nothing fits perfectly. I used to either think about the mythical perfect third solution for days or silently ignore the edge case. It is hard to weigh the cons and pros, make a reasonable and quick compromise, and feel good about it later.


Keep learning 2019 technologies like React.js, Native, Flutter.io and GraphQL, finally the want what they want, even ignoring the modern techs advices, they want Filemaker, Access, Wordpress...

It's make me feel unused-professional.


Being able to get a good depth of knowledge in a topic, while still having the ability to learn outside that topic. Typically people will call this T shaped skills.


For me so far it’s being hyper aware of all the things I don’t know yet. I’m just learning, but there are some specific challenges ahead that I’m afraid of. And logically I think I’ll be able to learn these things one piece at a time, but until I’ve done that they’re making me pretty nervous. I’m also guessing that there are more of them...that once I check off the things on my current list, I’ll be able to see bigger, scarier things further down the road. I’m just hoping that my feeling of confidence will grow faster than the challenges.


I have huge issues with nuances across technologies. Leads to super simple mistakes, and it’s quite.... frustrating....


Yes, staying up-to-date is generally the hardest thing to do, there are too many things coming up and you don't have time for everything, principally when you are a curious mind.


Accepting imperfection. Deadlines. Estimations. Learning is not always fun, but mostly.


Understanding the way I learn. Having some kind of learning disability and some depression, I had to work WITH and not AGAINST the way I take in knowledge.


To accept that the code is less than 10% of the project (as a business solution). To make it work in production and the marketing make the rest of 90%


I´d say the hardest part are the first steps, learning how to link real world problems (or objects) to programmatic solutions. Or that's the impresion I get from observing my students...


svg viewport attribute ;)

Still cant understand it fully.