CHAPTER 2

How This Book Is Organized

When undertaking a new project, you first need a roadmap. Luckily, there’s one built in into this book! Go read through the entire Table Of Contents (perhaps making a checklist for yourself…) before proceeding. I’ll wait.

Thanks. When consulting documentation (or non-fiction books), it is often best to start by reading the table of contents. It quickly reveals how an author conceptualizes and conquers the subject at hand.

Now let’s discuss how ZERO TO CODE is organized to help you get employed as a software developer.

Overview: A Manual In 5 Parts

This book is divided into five parts.

Part 1 is the introductory section. It’s where we are right now - Hello! I am glad you’re here. This part explains how to use the rest of the book.

Parts 2, 3, and 4 are made up of many short chapters that help you rapidly build your resume and learn and practice baseline skills.

In Part 2, you set up your local development environment and deploy your first webpages to the World Wide Web. Learn how to create files on your computer’s command line, then edit those files with a text editor. Develop your first software creation workflows by pushing your first code repositories to GitHub. Part 2 sets you up for all of the projects you will do in Parts 3 and 4.

Part 3 focuses on design, HTML, and CSS - the building blocks of user interfaces. This is where you learn how to structure a webpage’s content and then styleit to look the way you want.

Part 4 focuses on programming and learning how to think more systematically about software. Using the JavaScript programming language and its ecosystem, topics include: computer science history, pseudocode, JavaScript fundamentals, JavaScript libraries, asynchronous JavaScript (AJAX), “single-page applications”, package managers, and JavaScript runtime environments (browsers and Node.js). This section ultimately ventures into full-stack engineering and wraps up with a brief discussion of SQL databases.

Part 4 also introduces the concept of toy problems, which are basically brainteasers that show up in job interviews and are designed to test your ability to think algorithmically.

Part 5 guides you through the interview process, from getting interviews to negotiating your salary offer.

2 Kinds of Chapters: Primers and Projects

As a rough heuristic, most chapter in Parts 2 through 5 take one of the following two shapes: projects or primers.

Primers talk about important subjects that programmers, especially web developers, need to know about. In addition to the standard web development topics, like JavaScript, browsers, and HTTP, we discuss other core software technologies, like operating systems and the Python programming language. Perhaps most importantly for software teamwork, there are primers on software development lifecycles and interviewing strategies.

Primers serve as jump-off points for your own intellectual and professional explorations – they should not be viewed as comprehensive overviews of the subjects they discuss. They take a component of professional software development and then dial out several levels to provide you with an overview of the landscape. Most subjects discussed have thousands of books written about them.

Project chapters teach you how to think about and build software systems as a part of a software team. Using a variety of different workplace scenarios, personas, and simulated dialogue (even you have some lines!), each project is presented in the form of a professional coding assignment. Once you have the requirements, each project is analyzed as a software system. The system is broken down into manageable components, then we code those components.

Like primer chapters, project chapters contain a wealth of explanatory information. Unlike primer chapters, most project chapters in Parts 2, 3, and 4 yield standalone pieces of code that will become their own repositories on GitHub. These projects will become the backbone of your résumé.

Don’t Get Bogged Down

A few more points:

While I recommend total beginners read the chapters sequentially, almost every chapter can stand on as its own separate unit (a few chapters use the same codebase from the preceding chapter).

You do not need to master any one topic this book covers at this point in your career. You do need to demonstrate awareness of them in your interviews and your code.

If you are struggling mightily with any one chapter – skip to the next chapter. You can always come back later.

To keep you moving, there is a “TIME LIMIT” at the beginning of each chapter. You should generally skip ahead to the next chapter if you hit the time limit.