How To Use This Book
Let’s talk about how to learn, what to do when you feel stuck, and how to build your résumé and professional network.
Learn By Doing
The learning aspect of this book works like this: You set up your computer for software development. You develop a basic process for building webpages. You then go on a whirlwind tour of core technologies, typing lots of code into a text editor. It is highly likely that you will mistype at least a few things. Quests for broken code are some of your best teachers at this early stage.
Download at least three of the major browsers for testing your webpage code. This will teach you about cross-browser functionality and the developer tools built into every browser. It can be surprising how differently different browsers can render the same page, or even different versions of the same browser. In my opinion, Firefox offers the best user experience, but I take care to use Chrome and Safari pretty often as well, since they are also very popular.
Explore the recommended resources, especially those mentioned in Appendix A: A Hacker’s Bookshelf and the Exercises sections of chapters. Try using the code you find in them. The Exercise sections often recommend certain chapters of the Hacker’s Bookshelf resources that correspond to the lessons at hand.
What To Do When You Feel Stuck
One of the most important skills junior developers must acquire is figuring out how to solve their own programming problems. Often, you merely mistyped something - a bracket here, a character there.
But sometimes, you just need more information in order to solve a problem. In the Internet Era, this often means using social forums and search engines. It is highly likely that someone else has had your problem and that answers may be found with a little research. Popular forums include Stack Overflow.com (a question-and-answer site for programmers), relevant documentation sites, and the “issues” sections in GitHub source code repositories. The Exercises sections of the chapters ahead often point you in the right direction.
Even if it doesn’t immediately present the right answer, research narrows and clarifies the issues at hand. You should always try to answer a question on your own before asking someone else for help.
Don’t fall down a rabbit hole, though. If you haven’t made a piece of code work after 30 minutes of internet research, do one of two things. Either abandon that piece of code and move onto something else (like the next chapter) or ask for help, either from a mentor or on Stack Overflow.
Getting A Job
At some point, you’re going to need to flip the switch from learning and writing code and start investing time in job interviews. Whenever you are ready to do that, I recommend you skip ahead and read Part 5: Interviewing. In the meantime, I recommend that you begin preparing for interviewing, immediately, by doing two things while you are in the “just learning” phase.
1. Push Code to GitHub
If you are an entry-level coder without a computer science degree, employers want to see proof that you know how to code. An active GitHub profile goes a long way. And in any case, you need to know how to use git to work on a software team. Each project in Zero To Code comes with instructions for pushing copies of your code to Github. Take advantage.
The chapter Build Your GitHub Resume in Part 2 addresses this subject more fully.
2. Go to real-life meetups.
You should be networking as you work through this book. Connections you make at meetups can have amazing consequences. I have found mentors and taken jobs through connections I have made both online and IRL. People you befriend can (and often will) provide invaluable help during the job-seeking process. There are also many inspiring benefits to meetups, such as getting practice talking with developers and straight-up learning about how other people code.
All great developers go to meetups.
Type all the code out. Experiment with it. Push your code to GitHub.
Participate in the coding community by going to meetups.i
Read Part 5 whenever you’re ready to start actively looking for a job.