If you could wave a magic wand and make your biggest challenge when you were learning to code disappear, what would you choose to change?
For further actions, you may consider blocking this person and/or reporting abuse
If you could wave a magic wand and make your biggest challenge when you were learning to code disappear, what would you choose to change?
For further actions, you may consider blocking this person and/or reporting abuse
Mike Young -
felix kagecha -
Arum Puri -
Prakhar Khandelwal -
Top comments (91)
I would have loved more encouragement to... just do it my way.
I never fit in with anyone else's idea of how one is supposed to approach this craft, so it took a while for me to really have the whole thing sink in.
If people had encouraged me play and do things I liked to do instead of their idea of computer programming/computer science, it all would have happened a lot sooner for me.
I like the mantra "Make Dumb Shit".
I feel like it's a whole different kind of learning when you're just messing around. Being able to explore the "I wonder if I can do this"'s of the programming world is So Much Fun. Especially when it turns out you can, in fact, do { Insert Whatever }.
Yes agreed! Simone Giertz takes that to a whole new level!
youtube.com/watch?v=E2evC2xTNWg
This! I like to think about programming as a form of art and learning to program like learning to play the guitar - as soon as you can hold the guitar properly, and have a basic understanding of how the instrument works, how to use it - you start experimenting, trying new sounds, "messing around". This is pure joy!
I felt like there was a plethora of content out there for absolute beginners, and plenty of highly specific/advanced topics, but not nearly as much content for intermediate developers. It felt like a real challenge getting past the "hello world"s of various frameworks into real-world development topics without getting deep into theory and design patterns that aren't necessary for 90% of apps.
You don't need to use the most bleeding-edge technologies and design patterns for the vast majority of projects that a beginning developer would be doing. They serve a great purpose for experienced devs doing professional development, but for beginners/hobbyists, it becomes a real blocker to even getting started.
And on the extreme end of things, it trains developers to just copy-and-paste solutions to get something to work without teaching them why it should be done that way, and as a result, it becomes harder for devs to actually take a step back and think through the problem they are trying to solve.
And continuing on from that, I just want to say that Dev.to has actually been really great in this regard, with a good ratio of beginner to intermediate to advanced topics. There are so many articles I read here and think "wow, I really wish I had read this article several years ago".
Y'all are amazing.
That's definitely intentional!! Though, with the complexity of the network, it's really hard to know if it's working right.
We know the traffic is going up and to the right, but it can be hard to tell if the real value is being created.
So hearing it is on some level is very motivating. π
Funny that you mentioned that. Ali has actually been doing a post series on that.
Moving Past Tutorials: a course on problem solving for programmers
Ali Spittel γ» Feb 18 '19 γ» 2 min read
The idea of getting past those tutorials and copy/paste solutions.
But you're abolsutely right that it's an awkward jump to make. Beyond theory it often requires you to start digging into integration points between various tools. And it's hard for posts, tickets, etc to capture the full array of problems you can encounter since there are so many permutations.
Thanks for sharing!
If I had written a comment to this thread, this would have been it... Too much "hello world" and too much "ninja" materia, and barely anything on the middle of the spectrum.
Also I'm struggling to understand how can coding tutorials (even some very good resources) can be video based...
I agree 100%. Getting out of that 'beginner' mind set was incredibly difficult. You really do get stuck in tutorial hell for a while if you're not careful. It's just... there was no content for me to consume that was intermediate. Now that I am, or rather consider myself, intermediate, I find it tons easier to get up and running in projects but also grasp new more advanced concepts. It's a strange thing to experience because I didn't really "feel" myself go from beginner to intermediate as such, but I can definitely feel myself going from intermediate to advanced.
If I could change one thing about learning to code, it would be that it was started earlier, particularly in schools.
I was fortunate that my dad worked for Intel growing up so he always knew (in my head) everything about computers. He started teaching me Visual Basic and Macro writing pretty young and that definitely sparked my interest in tech/web/programming. It helps build logical and critical thinking, problem solving, creativity, and so much more. We need to teach all the kids to code!
Beat me to it! I was thinking the other day that most languages are no more difficult than learning English( or most other languages), mathematics, etc. The only difference is that those concepts are continuously drilled in us from an early age, and learning coding would be easier if we started learning a high-level overview of logic, data modelling, etc in elementary school.
When I was in high school, I didnβt even know that software development was an option to study. There were no programming classes. I didnβt see a line of code until I was 21 and decided I wanted to learn more about programming to see if it would be a fit for me. Luckily 10 years later it was definitely the right choice!
Exactly! Get kids messing around with logic earlier. Even just the "How to get the Pizza to the party" stuff (Order Pizza, Right Turn, Forward 2, Left Turn, forward 1, pick up pizza, etc)
Real world examples, instead of
foo
bar
baz
. For a long time, I thought those words had a special meaning.Haha when I was starting to code, I also thought these were special words... and hate them, still!
Yes! They're everywhere in StackOverflow code and for the longest time I thought they were part of a language/library/joke I didn't get.
Not having to deal with religion-like arguments about languages, frameworks, tools... Or whatever. Would have loved to have to freedom to pick something and not having to question my pick because people have these hardcore opinions about it ( and opinions about me as a developer by association...)
in a word: documentation
don't get me wrong, in the vast majority it is really incredible and commendable how thoroughly devs document their work, but for total newbies trying to figure out how to join the party, most docs are set up for more advanced understanding.
I'm not necessarily saying this is a bad thing, but I ran into tons of head-scratching in my experience.
This! I thought I was terrible at reading docs (ok this might still be a little true). Turns out, I was just missing a lot of assumed knowledge.
More emphasis on reinventing the wheel and then doors, lights and the rest of the vehicle with ONE tool. So many people waste so much time by scratching the surface in million languages. Especially true in web development where you can see a junior dev resume with 15 languages and frameworks. And 6 months of total study time.
Less "well meaning advice" of the kind: you can do it in X in half the code/time/effort".
The struggle and depth you achieve by going deep in one language will let you switch much faster to a new one afterwards.
Being able to choose a proper tool for the job will only happen if you actually struggled through doing it the hard way in something before and reached a general understanding.
I think part of the reasons that you see all those languages and frameworks is because job ads ask for them.
The overwhelming feeling of 'there's too much, how will I ever learn all this!' or the self doubt on starting to learn a new language thinking it looks too confusing and thinking you'll never pick it up.
It's a barrier to overcome when learning new languages!
I think my biggest mistake was to read a lot instead of practicing a lot.
I started to read a technical book with a goal to finish it. Nowdays my goal is not to finish reading a book, but to get the required information for my current task.
Reading a technical book from start to finish without a practical goal is a boring task and a waste of time. Instead find what is interesting for you, do research, ask questions, find answers, ask more questions. Make your brain work instead of just consuming information from a book/article.
Hmmm. I don't know - the biggest challenges always feel like the biggest successes when you've overcome them. So I'd not take away any of the things I've actually learned.
But what I'd try and take away would be my odd obsessions with the unimportant things. Things like:
The amount of time I've wasted making Sublime Text look nice, or learning Vim, or playing around with every shell under the sun - without getting along with the actual coding bit. Ridiculous.
So, yeah - that's what I'd ask/help beginners with. Please stop adding to your problems with incidental crap and just use the quickest, most basic set up you're comfortable with.