Out of curiosity, What is the first thing that you will would tell someone learning to code?
Wow. This is a super hard question!
I think the most important thing to get between our ears is ‘it takes patience’. I know there are many sites/books/bootcamps etc out there that promise to turn us into coders in ‘7 hours’, ‘over the weekend’, ‘in a week’ etc. This is not necessarily untrue (if you write code you ARE a coder), but it sets a false narrative, as you cannot become a good coder in such a short time. You will need to write, read, explore tons of code to even feel comfy.
The second thing is that you cannot learn by being passive. Just ‘watching videos’, ‘seeing someone else code’, ‘read over a tutorial’ will not be effective. You got to write code, get the muscle memory to remember data structures, control flow and what not. Also the struggle to do things yourself and realizing watching someone else drive is not the same as driving yourself. You need to write code. Make things. Even if there are a thousand tic-tac-toes out there, they are not yours. Think about how something would work. What you data you need, where to store it, how to access it, what algorithm to use etc. Start with small things, dream of big things. Break down your big thing into smaller build-able parts.
The third thing is that ‘foundation is better than chasing the next best thing’. I started coding a long long time ago, and I can read code quite easily in almost any language once I looked at the basics (syntax, primitives, data structures, control flow). Note that I say read, as for writing I need that o-so-important practice. There is always a newer framework coming out, something that is hot this year and forgotten the next. Best get your foundation right and you will be able to almost effortlessly switch between those frameworks.
The fourth thing is: see yourself as an investigator. You will often be presented with challenges that you have no clue about how to tackle. You need to read other peoples code, use google, work through ‘almost solutions’ and develop that into your own. Good documentation is your friend. Write good documentation yourself (your future you will be grateful) and know how to search for information. Keep notes, or snippets somewhere accessible. Write about things you really struggled with as it will retain that information better.
The fifth is: you do not need to spend money on becoming a good coder. There are many good places ‘out there’ that help you along the way, without breaking the bank. You found FreeCodeCamp but there are other worthy places and things to do. If it takes you longer to achieve your goals. Do not give up, just work through the materials at your own pace. I came across a nice post on twitter yesterday with some resources and I will update our resource post here with some more data: https://group.classcentral.com/t/small-little-online-lessons-outside-of-fcc-that-can-help-you-learn-more-deeper/
And lastly - I want to quote a post with a very good question by Steven which was answered by Tzerie in a way that resonates with me:
source: Post your Roman Numeral Converter solutions here! (Fall 2022) - #34 by Tzerio
These are just my personal thoughts around a very important question.
Thank you for sharing from your fountain of wisdom.
Embrace making mistakes.
So, “mistakes are how you learn” is basically universal advice already. But the amazing thing about learning to code, compared to, say, learning to paint, is that everything you do is totally reversible (ie, you can always rewrite your code), so there’s basically no consequence to making mistakes while learning. Like Jess always says–it’s just code, it can’t hurt you. You’re not limited by a supply of materials, and it doesn’t cost you anything to just test something out, even if it doesn’t work. So there’s nothing to stop you from just experimenting and making guesses and trying something you only half-remember. Go ahead and write bad, broken code–and then examine what way it breaks and try to understand why.
And the other thing to know about “mistakes” in coding is to recognize that writing buggy code doesn’t mean you’re a bad programmer–bugs are a normal part of the development process, and experts still get bugs in their code too. This is another way coding might differ from some other skills. When we think of someone who’s a “good athlete”, for instance, we tend to imagine someone who has a high accuracy or never drops the ball, or whatever. But writing code is a completely different workflow than that, and those expectations don’t make sense here. Having bugs or not isn’t what makes someone good or bad at coding. (The important thing is learning how to look for them and what to do after you find them.)
Though for what it’s worth, I haven’t been coding for very long myself, so I don’t actually know much about what “being good at coding” means to different people.
I really really like this point of view! You are totally right, and I like how you so tidily fit this in the simple phrase ‘Embrace making mistakes’. Excellent insight!
Totally agree with @syllie, I also don’t know what more add to that, she covered all.
Well, maybe be grit and greedy with your final goal, all good and bad things in the middle are just learning steps. It is better run like a turtle everyday than run like hare every other day. I am with Aesopo on this.
Persever it is more important than intelligence, the smartest are not who use to reach farther. After 48 years of my life, every year I am more sure about this.
I am agree with Vance too, @caesiumtea. Allow yourself to learn (there is not fail, there are not losers, only people who know and suceed, or people who try and learn; nothing more).
My final thought, you should warning that person about the Learning Curve or here, for example, and the Valley of despair period, I think it is important to know how it works.
P.S. As developer you might need a portfolio website, so it could be a great project to always keep in mind in your learning process. It helps to learn faster and deeper have questions in mind and a place where apply the new skills.
I hope that helps.
This! This! And THIS again!!! Yes grit and EVERYDAY a little is much much better than once in a while. Gold Carlos! Absolutely golden!
Thanks for sharing. I like this: “mistakes are how you learn”. Golden lesson.
Thank you for sharing @carlost2672543 . be grit and greedy with your final goal . little learning steps everyday. Gold! Thanks! Always full of wisdom.
This topic was automatically closed 45 days after the last reply. New replies are no longer allowed.