This is the curriculum for the 2018 Foxtrot Web Developer Bootcamp.

Social Media


One of the best ways to keep informed of goings-on at LEARN academy is to be connected via our social media outlets. It would be great if you started following the accounts below.
If you ever post about us on Twitter, remember to tag us with either @sdlearn or #LEARNacademy

Sprucing up Github

When you apply for a job or internship, employers will want to see code you've written so that they know what you're capable of doing. Spend some time getting your Github profile looking good. Make sure every repository has a README file that:

  • explains what the project does;

  • tells how to get it set up if somebody clones it;

  • gives information about what you were working on and trying to learn from the project;

  • provides a link to the live site on Heroku (for Rails apps) or site44 (for JavaScript projects); and optionally,

  • includes any known issues with the code, and a roadmap for features you'd like to build

Go through all of the files in each repository and make sure that there isn't any commented-out code, bad indentation, extra line breaks, or anything else that looks bad.

You should also fork your internship project, so that you have a copy of it on your profile for employers to see.

You might read these articles on the importance of your Github profile to employers from anti-paterrn.com pydanny.

Networking

People to follow:

  • LEARN
  • your classmates
  • all LEARN alumni

Find people you've met at Meet ups, or our speakers, and when the time comes the internship companies.

Connect to companies that you like and would want to work at and the people who work there.

The SDTechScene calendar is a great resource to plan which Meet ups will be the best for you to attend, especially the more front end focussed ones. There are the Tech Coffee Meet ups held on Mondays, downtown, Wednesdays in Solana Beach, Thursdays in PB and Friday in Chula Vista. A good place to co-work and meet like-minded folks.

Tips for Networking

  • Get there early so that you aren't confronted by a huge room of people that all seem to be connecting
  • Remember that people are going to want to talk to you too, especially if they appear not to be speaking to any one
  • It's really OK to saddle up to a group and start to contribute to a conversation
  • Have your cards easily accessible, so that you aren't fumbling around for cards
  • Write notes on the business cards you receive to remind yourself of what you spoke about with that person, so that when you reconnect the following day, you can refer back to the conversation you had
  • Do not feel rude about leaving a conversation, but maybe think about some reasons for leaving ahead of time i.e. "There's someone here that I need to speak to. It was a pleasure spend time with you."
  • Set yourself a goal for meeting a certain number of useful connections before you leave the event, then you have a measure of what successful networking is

This article from HuffPost puts very simply the things you should do if networking doesn't come naturally to you.

Resume and LinkedIn

You've learned an awful lot about programming - now it's time to show employers what you know, and where you could fit in with their companies.

If you don't already have an up-to-date, good-looking resume, I'd suggest starting by making a LinkedIn profile, which you can then use to generate a resume. Many employers will actually ask for your LinkedIn profile in lieu of a resume. For most people, I'd suggest you lay out your LinkedIn profile like this:

  • Include a photo.

  • Edit your tagline to be something like "Aspiring web developer", "Student at LEARN academy", "Intern at ", or something along those lines.

  • Create a friendly URL including your name.

  • Write a short summary of what you're doing now i.e.learning to code and how you got to this point in your life. Keep it under five sentences.

  • Add a link to your Github profile and optionally your website to your summary.

  • Move the Projects section just below your summary, and add three of your LEARN academy projects, including your internship project on top. Including links to the Github code and a live site on Heroku or site44. Talk about what the projects do and what technologies you used.

  • Next, list your previous jobs under Experience, with a short description of what you did at each role. Be specific and succinct - use concrete numbers and examples, like "Responsible for onboarding and training two dozen new employees in 3 months", rather than general and vague statements, like "Fulfilled management duties beyond expectations." If you have more than 3 or 4 previous jobs, just include the most recent ones, unless earlier ones are relevant to the jobs you're applying for.

  • Add LEARN academy to your Education section, and move that section to come after your Experience section. Write a little bit about what you're learning and doing at LEARN academy. Don't write about what LEARN academy is - write about _your_ experience. For example, one student wrote "I'm currently learning how to build web applications with JavaScript, Ruby/Rails, HTML, and CSS. More importantly, I'm learning how to think more like a programmer, write good code, and pick up new languages and technologies."
    Another wrote: "At LEARN academy I've learned how to learn programming languages more than learning any one language for the sake of itself. I've learned how to work towards a programming goal on my own and with others until success happens. I've also learned how quickly I can process a tremendous amount of information that is new and uncomfortable at first, and have it feel comfortable like a worn pair of jeans by the end of a week!"

  • List these skills in the Skills section: HTML, CSS, JavaScript, jQuery, Ruby, SQL, Ruby on Rails, AJAX, Git, Agile, TDD, Pair programming.

  • Don't forget to include your soft skills as well, such as communication, interpersonal, adaptability, research skills or project management, problem-solving, process improvement expertise, strong work ethic, and emotional intelligence (relates to your social skills, social awareness and self-management abilities). When placing these in your resume be sure to give instances where you needed to communicate well or trouble shoot a problem and the outcome. This will show the employer instead of just telling them.

Don't include months in any of the dates - just years.

Here's are a couple examples of great LinkedIn profiles:
linkedin.com/in/markjlehman,
linkedin.com/in/moofmayeda,
linkedin.com/in/mattwilliams85.

If an employer asks you to submit a paper or PDF resume with your job application, regardless of how you created your resume, you should submit it as a PDF and not a Word document.

Cover Letter

A good cover letter will show your interest in the company, show that you understand their needs, and give examples of what you've done that demonstrate how you can fit those needs.

Because every company is different, and every job has different needs, every cover letter should be different!

That said, every cover letter you write for jobs after LEARN academy should lay its paragraphs more or less as described below. If you're a strong writer, feel free to take some creative license here; if writing isn't your strong suit, you'll probably want to stick closer to these guidelines. The examples below are adapted from actual LEARN academy students.

First paragraph: State the position you are applying for, tell why you are interested in the position and/or the company, and give a quick overview of why you are qualified. For example:

I am writing to apply for the Web Developer Intern position. Culture Foundry excites me on many levels. As an example of this, music advocacy is a subject that is close to my heart, having been a professional musician for a number of years and experiencing the evolution of the music business first hand. The Musician pages displayed on your site are simply stunning! I think that the full-stack development skills I've gained in my recent schooling and internship, and my background first working in technical support, would make me a great fit for your internship position.

Second paragraph: Tell your pre-LEARN academy story: how you became interested in development, and the non-technical skills you picked up before LEARN academy. Make sure these non-technical skills match the non-technical skills the job description requests.

Before starting school at LEARN academy to become a web developer, I worked in customer service and ended up at two online music tech companies, back-to-back. I quickly became immersed in troubleshooting user interface issues, and even taught myself a bit of code to help improve the companys site and client experiences. Besides the obvious need to be an effective communicator, I was regularly challenged to think outside of the box. If someone wrote into support it almost always meant they were struggling with something. While working at Bandcamp, a local non-profit music foundation wrote into support feeling very unsure how to go about using our service as a tool to benefit their cause. I set a time to meet with them in person (as a remote email support personnel, this was unusual), show them the ropes, and even provided the foundation with a charity rate earning them even more proceeds. They thanked me profusely for going above and beyond to help, and I was happy knowing that I left them feeling empowered.

Third paragraph: Talk about your experience at LEARN academy, and make sure to match the skills you talk about with the skills listed in the job description.

I enjoyed my customer service work, but I often found myself gazing longingly at the developers, imagining a gratifying and stimulating job solving tough problems and building tools that made a lasting difference. This past April, the path became clear for me to pursue a job in coding, and in July, I enrolled in LEARN academy's web development program. After dedicating four months of forty plus hours a week learning numerous programming languages and tools, I consider myself a full-stack developer, and am equally comfortable developing Ruby on Rails backends as working with JavaScript and jQuery in the front-end. But the biggest skill I learned since joining the coding world is how to take a brand new tool or language and have it feel like an old friend. For example, at my recent internship at Company X, their client-side was built with an MVC library I had never seen before, but by the third day of my internship, I was comfortable using it and committing code to production.

Fourth paragraph: Close out with a short summary of why you're a good fit, and thank them for reviewing your application.

Between my breadth of experience in the music realm and newly found fervor for programming, and your companys passions and aesthetics, I believe I am a perfect fit for your Web Developer Intern position. I know we could benefit each other greatly, if given the opportunity. Thank you for reviewing and considering my application. I'm looking forward to hearing from you!

In talking about your experience, the most important thing is to provide examples. In the above example, the author says she's somebody who thinks outside the box, but it's even better that she gives an example of how she took an unusual support request and took the unusual step of meeting in person. And when talking about her development experience, she says she's a able to pick up new languages and tools quickly, and then goes on to provide an example of committing code within a couple days of learning a new MVC library.

Here's one more example of a great cover letter:

To Whom It May Concern (although it is better to find out exactly who will be reading it):

I am writing to apply for the position of QA Engineer, which I saw posted on indeed.com. I was particularly excited to see a position open at the Sierra Club, as I have long been a fan of your work. Im impressed by the way you make environmental issues accessible to non-environmentalists (particularly in the pages of Sierra Magazine, which has sucked me in more times than I can count), and I would love the opportunity to be part of your organization.

My history with web development goes back to my teenage years, when I taught myself HTML and built web pages for my friends, but after the dot-com bust, I thought it would be more prudent to put aside my passion for problem-solving and study accounting instead. Spending the last few years as an insurance adjuster has given me many of the communication and research skills you're looking for. As you can imagine, no two insurance claims are alike, and the job required time-sensitive research on policy and legal precedent. Also, most customers are at very difficult times in their lives during a claim, and have very little understanding of their insurance policies, so it was important to provide excellent communication with customers to help them understand their settlement and the claims process.

Now, I'm working to realize my earlier dreams of being a programmer by taking the LEARN academy web development program. In class, we write tests for nearly everything we code, and I pride myself on writing thorough, well thought out tests. About a month ago I participated in the PDX code retreat. I paired with an experienced Java programmer during the silent portion of the coding challenge. At the end of the hour, he told me, You write test better than most of the programmers I work with! As I begin my career as a developer, Im interested in bringing my testing skills to my work and continuing to improve them.

Thank you for taking the time to review my application. I hope that my experience with testing software and the communication skills I bring from insurance adjustment will make me a great fit for the QA Engineer position, and I'd be thrilled to work at the Sierra Club. I hope to hear from you soon!
Sincerely,

John Hancock