Getting a Coding Job For Dummies. Nikhil Abraham

Читать онлайн.
Название Getting a Coding Job For Dummies
Автор произведения Nikhil Abraham
Жанр Зарубежная образовательная литература
Серия For Dummies
Издательство Зарубежная образовательная литература
Год выпуска 0
isbn 9781119121022



Скачать книгу

programmers and graduate about 40,000 computer scientists per year. Using current estimates, by 2020 there will be 1,000,000 more jobs than qualified students, representing a $500 billion opportunity. See Figure 1-4.

       Figure 1-4: By 2020, 1,000,000 coding jobs will go unfilled due to a lack of skilled workers.

Table 1-1 shows some of the coding occupations contributing to this boom. Each job is unique, and generally there is not a great deal of switching between jobs. For example, mobile developers don’t suddenly become data scientists, or vice versa. When people do switch between these positions, there is usually a training period.

Table 1-1 Entry-Level Coding Occupations

      Sources: Bureau of Labor Statistics, Indeed.com, Glassdoor.com

      

Web developers are typically self-taught; according to census data, less than 40 percent have earned a four-year college degree. Many developers also enter the profession as a quality assurance analyst and then move into a junior web developer role.

      Companies Hiring Coding Professionals

      There’s no way around it – all industries are experiencing a massive shortage of talent who can code. Employers are looking for talent wherever they can find it. People with traditional and nontraditional backgrounds, and those who want to work in an office or work remotely are all finding companies that need help.

      The two general types of coding jobs are full-time positions in companies and contract or freelance work.

Full-time jobs

      Companies of various sizes hire people who have just learned how to code for full-time positions. The size of the company can have pros and cons when it comes to hiring people who have just learned how to code:

      ✔ Large companies: Companies with more than 1,000 employees, such as Fortune 500 companies and large tech companies including Yahoo!, Google, and Facebook have high standards for hiring employees. Given the number of applications they receive for each open position, recruiters at these companies usually use a strict screening process and grant interviews only to people who have a computer science, math, or engineering-related major. However, for those people who do pass the hiring screen and are eventually hired, there are many resources, both formal programs and people who can help coach and train you to increase your skills.

      

Almost every large company has an online application. Send in your application online, and then find an advocate, someone at the company who believes in your candidacy, to help your application pass to the interview stage.

      ✔ Medium-sized companies: Of the three types of companies, getting hired at a medium-sized company can be hardest. With their large recruiting departments, candidates have to interview with as many people as in large companies. In addition, medium-sized companies typically do not spend as much money on training as large companies.

      

One successful strategy to getting hired permanently in a medium-sized company is to freelance first, which helps you build up your reputation and allows the company to assess your skills in a low risk way.

      ✔ Startups: With less than 20 employees, startups often desperately need coding talent and are small enough to make hiring decisions quickly. They don’t have a formal recruiting staff, so you should develop a personal connection with the person doing the hiring. Startups don’t have extensive training programs, and you are expected to contribute immediately. However, the small company size should help you form personal relationships with your engineering coworkers, who can help answer questions and informally train you.

      

In the beginning, successful startups often have so much work and are so short staffed that having anyone do the work is better than having no one. For this reason, startups decide on candidates quickly, rather than wait for the best person for each role.

      ✔ Government: City, state, and federal governments and their agencies have thousands of internship and full-time job openings for coders. Depending on the agency, the application process can be time consuming, and require proof of U.S. citizenship, extensive background checks, and completion of qualifying exams. Applicants can use www.usajobs.gov to search across all federal opportunities, and individual state government websites for opportunities in a specific state or city government.

From the source: Tips from a tech recruiter

      Yoonie Kim has been a recruiter for technology companies for almost 15 years. She has held recruiting roles at Codecademy, Ning, Meetup, Google, Amazon, and Microsoft. I asked her the following questions:

      ✔ Can you share a little about your work experiences?

      I’ve worked at tech companies of all sizes and stages. I started my career at Microsoft, and worked at large established companies like Amazon and Google, all the way to small and early-stage companies like Ning and Codecademy. I also cofounded my own recruiting company to help smaller startups build out their initial engineering teams. In 2014, I joined Dropbox to help build out the New York and Seattle presence and offices.

      ✔ How do you attract and screen candidates?

      People use and have heard of your product, that helps, but I also reach out to candidates when employees refer them to me, and when I see candidates’ work online in a blog post, open source project, or talk. When I screen candidates, I’m usually looking for what they’ve accomplished, and whether they have actually built something meaningful or just maintained a product. Most interview processes start with a phone screen and then on-site interviews, but I try to personalize the interview as much as possible for the candidate. If you have less coding experience, you might be asked about something you just built, while more experienced candidates will jump into a hard problem the company is currently solving.

      ✔ What do you screen for?

      At the resume stage, I’m always looking for something interesting that will excite the team and make people want to have a conversation with the candidate. In the actual interview, I’d say 70 percent of the evaluation is technical ability, and the rest of the evaluation is a combination of soft skills and cultural contribution. I used to look for a specific candidate profile, usually a computer science degree and previous tech experience, but I’ve become more open to people without college degrees, career switchers, and people who have taught themselves to code. I have recruited a few self-taught programmers, and they have gone on to have incredibly successful careers within companies.

      ✔ What is a mistake everyone makes in the recruiting process?

      Have a story both about what you have done previously and what you want to do at the company where you are now interviewing. Sometimes candidates don’t have much to say about a topic they should know a lot about – themselves! Also, have a product or a feature you want to work on if you’re given an offer. It can be hard to advocate for candidates who don’t express any preferences.

Freelancing and contract jobs

      Companies of all sizes hire freelancers to do discrete projects that are not overly complex and have a definite end date. For example, freelancers often build a website with a few defined pages, create mobile apps, or scrape and store data from websites into databases. Getting some of the initial work performed by a freelancer helps a company see how much time and money a project will cost and whether there is a need to hire a full-time employee.

      Contract work also provides freelancers with some valuable benefits. Even for full-time coders, doing some contract work is a great way to build up skills in a new programming language or framework. Also, because coding