Code School

Code School

Code schools are popping up everywhere. There are at least 8 in the Seattle area. I've also seen more discussion about code schools in mainstream media (one of our local TV stations), podcasts, and blog posts. Community colleges are also stepping up their learn-to-code programs. There seems to be demand on both sides of the code school equation; employers and job-seekers need what code schools offer.

I've recently completed a code school program and thought I'd share some of my experiences and thoughts in order to help you decide if attending one interests you or to help you prepare yourself if you have already made the decision.

Why Choose Code School?

There are many reasons why someone would choose to go to a code school. For me, the main reason was speed to level-up my software development skills. The school I chose offered an intense developer boot camp program. I was also interested in finding mentors, receiving rapid feedback from instructors, and collaborating with other developers.

I first started learning to program using online tutorials, blog posts, books, videos, and podcasts. The information online is great, but it's not put together in a cohesive and comprehensive curriculum. There is too much information without an obvious starting point and no clear path through it. I would essentially have to design and build my own course. This presented a kind-of chicken-and-egg situation. I would have to figure out what I needed to learn before I knew enough to figure out what I needed to know.

I considered going back to school to get a computer science degree, but the time away from work and tuition was not affordable. I also considered some continuing education courses at the University of Washington and the local community college, but they were also not comprehensive enough and didn't cover material at the pace I wanted.

Another advantage of going to a code school is that they often cover topics that will help you get at job at the end of the course such as resume writing, establishing a social media presence, public speaking, working in teams, whiteboard coding, and mock interviews. In addition, they are great places to expand your network of industry contacts: instructors, guest speakers, and fellow students all become potential sources for a job.

Choosing a School

Because Seattle has so many code schools, it could be difficult to make a decision. If you don't have many to choose from near where you live, the chose could also include traveling to another city or choosing to not go to any school. There were several people in my class that came from other countries to learn.

There are three important pieces of information that will help you make your decision. First, you'll want to obtain the syllabus for the class you're interested in taking. Check the syllabus to make sure the topics cover skills and tools you see listed in the descriptions of jobs you want.

Next, you'll want to attend an information session for the class you want to take. Meet the instructor and interview them. Learn what industry experience they have. Ask to see a portfolio of their professional work. Find out what the requirements are to be admitted to the class. Ask about class size and if there are any co-instructors or teaching assistants to support students that may need additional help. Does the school provide access to mentors? Make sure that you'll have a solid portfolio of working code at the end of the course.

Finally, get the opinion of recent graduates. Search online for reviews. Ask the school if there are any former students you can talk to. Find out how long it took them to find a job after completing the class. Ask them if they'd take the course again or if they'd choose another school. Ask graduates about the level of job search support the school provided. Ask them about the quality of mentors.

Do your research, but don't feel you have to choose one if you don't like any of them. Code schools are for-profit and expensive. You should feel like you get very good value out of what the school has to offer.

Maximizing the Learning Experience

There are no secrets here. The key to getting the best learning experience from a code school is to dedicate yourself to learning and actively engage in the learning process. Do all the work. Read all the material. Try to challenge yourself to learn more about a topic than what was presented in class.

If you don't understand a concept, seek out additional sources online or ask your instructor for more help. This is one area where the wealth of information on the Internet can help. Someone has likely covered the topic in a way that will help you understand.

If you're at all rusty or unsure of yourself in the fundamentals of the primary language taught in your class, find some online tutorials or get a good book and start coding. Don't just read the material. Code all the exercises. Get your mind and fingers primed for the challenge ahead.

What to Expect

Do not go to a boot camp if you don't really love to code, want to learn quickly, and can deal with large quantities of new information without being overwhelmed. Otherwise, you will become frustrated and may grow to really dislike programming. Even if you are a seasoned programmer in another language, you'll be surprised at the amount of new material and concepts you'll need to learn. You will eventually get comfortable with the pace, but expect to be challenged for 3 to 4 weeks.

While code schools are challenging, you won't be in it alone and you will build camaraderie with your classmates and instructors. Even at the end of the course, when you will potentially compete for the same jobs, your classmates will be your compatriots.

Expect classmates to be at different levels and abilities. You may even find some that are not as willing to rise to the challenge as you are. Sometimes this can be frustrating because they may hold the class back from moving on to new topics as quickly. Exercise patience and compassion with classmates that are not at your level. See if you can help them when they are frustrated or having difficulty keeping up with the rest of the class. Helping others is a great way to solidify your knowledge and it ultimately will benefit the entire class by accelerating the rate of everyone's learning.

After Code School

First, thank all the people who supported you while you disappeared for a few months — family, friends, and especially your significant other.

Now it's time to find a job where you can put your new skills to work. Start using your network of friends and acquaintances as soon as class is finished or even before class ends if you've got any extra time. It takes time to fill the job interview pipeline and the sooner you start the sooner you'll be using your shiny new skills. Don't wait to start because you think you're not ready. You may not be ready, but you'll have time to get there as you look for work.

Hopefully, your code school has helped you get your code examples, portfolio, resume, and LinkedIn profile put together. If not, do these things as quickly as possible. In addition, they should have helped you with technical and behavioral interview skills. Again, if not, spend some time leaning about and practicing these skills.

Allocate some time every day to do the following:

  • Write some code. After all, this is what you really want to do every day isn't it?
  • Review topics covered in class.
  • Learn something new.
  • Do something job-search related. (e.g. Write a cover letter, apply for a job, setup an informational interview, go to a meetup, write answers to common interview questions, etc.)
  • Exercise. At least go for a walk. Get out of the house. Clear your mind.

Conclusion

Overall, I really enjoyed my code school experience and feel that it was challenging and worth the time and expense. I would not have learned so much on my own in the same period of time. Not everyone in my class enjoyed it and some dropped out.

Code schools can't teach you everything you need to know to be a software developer. There's simply too much to know and not enough time. However, they can give you a boost and help you develop the skills to land a job.",