Ep. 31 - Good coding instincts will eventually kick you in the teeth: Some people have very strong coding instincts. They can solve problems just by looking at them, and feel like rockstars. But being a rockstar coder can only get you so far. You need one other crucial element: discipline. In this podcast, Bill shares...

Azioni libro

Inizia ad ascoltare

Informazioni sul libro

Ep. 31 - Good coding instincts will eventually kick you in the teeth: Some people have very strong coding instincts. They can solve problems just by looking at them, and feel like rockstars. But being a rockstar coder can only get you so far. You need one other crucial element: discipline. In this podcast, Bill shares...

Da The freeCodeCamp Podcast

Valutazioni:
Lunghezza: 9 minuti

Descrizione

Some people have very strong coding instincts. They can solve problems just by looking at them, and feel like rockstars. But being a rockstar coder can only get you so far. You need one other crucial element: discipline. In this podcast, Bill shares his disciplined approach to writing code and to work in general. Written by Bill Sourour: http://twitter.com/billsourour Read by Abbey Rennemeyer: http://twitter.com/abbeyrenn Original article: https://fcc.im/2IzwWdH Learn to code for free at: https://www.freecodecamp.org Intro music by Vangough: https://fcc.im/2APOG02 Transcript: I wrote my first few lines of code almost 32 years ago, when I was 6 years old. I developed very strong coding instincts. I could look at any problem and immediately know how to solve it, just by intuition. By the time I started coding the web for a living, I felt like a rock star. I found and fixed bugs faster than any of my co-workers. My team started assigning me all the most challenging features and the most nagging bugs. They even started calling me a “wizard.” But following your intuition can only take you so far. I hit a plateau. And no amount of coding instinct was going to push me past it. The trouble with trusting your gut Unfortunately, intuition as a technique for learning and problem solving doesn’t scale very well. When you rely on instinct and intuition alone, you get a curve that looks like this (See original article for graph). Of course, you can choose to accept your limits and only ever deal with problems below the line. This will indulge your “rock star coder” fantasy, but it will quickly begin to limit your growth and your career. Plus, it’s boring. As I pushed myself further and further ahead in my career — and started to really challenge my own abilities — I began to notice a disturbing trend. I was no longer the fastest kid on the block. I had always known that I’d eventually run into people smarter and more talented than me. (My delusions of grandeur were still grounded in reality. I’m no genius.) But when I looked around, I realized that some of the people beating me were not using a superior intellect or some sort of innate gift for code. They just had a secret weapon that I sorely lacked: discipline. It turns out that a consistent, repeatable, methodical approach to learning and problem solving will eventually outperform any natural gifts — or instincts — that you may have developed. Let’s tool up those problem solving abilities Regardless of who you are, how much passion or natural talent you have, you will eventually hit a hard ceiling. I’m going to share with you a few techniques that will dramatically improve your disciplined problem solving abilities. I’m assuming that, if you have a debugger, you’ve already run it, Googled the output, and had no luck. I’m also assuming that if the problem was reported by someone else, you have been able to reproduce the problem. This second assumption is a big one. If you can’t reproduce the problem, then that needs to be your first step. You need to compare the context and environment in which the problem occurred to the context and environment in which you are trying to reproduce it. Start eliminating any differences you can, one by one, until you can reproduce. Once you can reproduce the problem, and after the debugger has failed to be of any use, you can try the following disciplined approaches. RTFM Read the documentation, you fool! (Admittedly this isn’t what RTFM stands for exactly, but there may be children reading.) Actually read it — more than once if you need to. Don’t just skim it looking for something you can copy, paste, and pray will work. The problem is you want an answer fast. You want that thrill of victory. But you’re not willing to put in the work. So slow down. Take a breath. Grab a coffee. And read the relevant documentation all the way through. If you have no documentation, consider creating some, then sharing it with others after you’ve fixed the problem. Test Your
Leggi altro