Chapter 17
In This Chapter
Publish your code
Blog regularly
Learn new technologies
Update and refresh your resume
Review your public information
Attend hackathons
Teach yourself a popular API
Build and release something people want
Consult to fix a painful problem
Do a trial engagement
Finding a job in any industry has always required time and effort. However, the strategies used to find a job have changed. The way your parents went job hunting or even the way you did a few years ago is likely outdated today. It has never been easier to publish information about yourself, and successful candidates are writing more about themselves more frequently than ever before.
The strategies listed in this chapter go beyond sending a resume and cover letter to a job site or an email address and hoping for the best. No strategy is a silver bullet, but one or a combination of these could help you get noticed for your next job.
As someone who has just learned how to code, you may feel embarrassed or self-conscious about your programs. Maybe you designed a website for a small business and the code is messy, with pages not appearing correctly on certain browsers. Or perhaps you wrote a data analytics program with many temporary variables and not as well documented as it could be. Resist the urge to keep your files on your hard drive, and instead publish your code to GitHub (or Bitbucket) for others to use and share.
Following are a few reasons why you should post your code:
GitHub already hosts appointment reminders apps, code editors, and cat photo web scrapers, so whatever you’ve built will have plenty of company.
Coding involves setup, installation, and debugging. Perhaps you spent two hours trying to add credit card purchases to your website, despite following the credit card processor installation instructions to the letter. Or maybe you tried but failed to add user logins with Facebook or Twitter.
If you followed instructions but the service, integration, API, or app doesn’t work, you may have found a bug or you may be doing something wrong but don’t know it yet. Documenting your experience helps others who are having the same issue, and also shows potential employers how you solved a real problem. Employers want to understand your thought process — because you could soon find yourself troubleshooting their servers at 2 in the morning, and keeping calm under pressure and methodically working towards a solution are important traits to have. Additionally, employers value employees who stay abreast of the latest changes in the industry and incorporate them into their work.
You don’t need to document only when things go wrong — you can also blog about when things go as planned. Many companies encourage individual engineers to blog about how they solved technical challenges. For example, Netflix engineers have written on the company blog (techblog.netflix.com
) about the algorithms to personalize the video titles shown to you. This might sound easy at first, but remember that each personalized page will look different depending on the member and the size of the device being used to access Netflix.
Programming languages are tools and are constantly being improved. Every week a programmer makes a library faster or creates an easier way to code a common task. Less frequently, programmers release a new programming language. It’s hard to know ahead of time which of these new libraries, languages, or frameworks will become popular, but when something catches on, it can spread quickly. For example, Rails, the popular web-programming framework, was released in mid 2004, and by late 2006 Apple announced it would be included standard as part of the Mac operating system.
Many developers commit to learning something new to stay current despite all this change. Learning a new language or library shows employers that you’re willing to put in the effort to improve your skills. Companies often have custom code written in a language no one knows — a relic from a former employee. Someone on the team has to figure out what the code does and how to maintain it.
After you’ve learned the basics, here are some cutting-edge libraries, languages, and frameworks to add to your list to learn:
Many job seekers are advised to use active verbs, avoid too many acronyms, and include your latest employer when writing a resume. Although these tips are important, it’s far more important to make sure that you include lots of description for each position.
Whether using an internal resume database or an external resource such as LinkedIn, recruiters and HR professionals use keywords to search and sift through candidates. For example, if a company uses Python to create software and a recruiter needs to find more engineers, the first search is likely for developers who know Python. If you don’t list Python anywhere in your profile, your resume might never be seen.
Because you’re just starting to learn programming, use side projects to show your experience with a programming language. After your project is live and running, include on your resume and on LinkedIn a short description of the project, the languages used, and your contribution.
There is no shortage of public information about you. In addition to what you post on the Internet, there is also information others post about you. Personal websites such as a blog or a home page, and social networks including LinkedIn, Facebook, Twitter, Instagram, and Pinterest all paint a portrait of who you are.
Prospective employers can find information about you manually by using a search engine, such as Google. Or they can use a service such as Rapportive and FullContact to find and link all your online profiles to one email address. Now it’s easier than ever for employers to find almost everything about you with just a few clicks.
Many personal websites and social networks used to be just for your friends. However, recent privacy changes mean that unless you specifically exclude people, almost anyone can view your content — and employers do pay attention. Almost 80 percent of employers research candidates and look beyond just the resume, so here are common themes to avoid in your online personas:
Profanity or violence: Avoid profane language in status messages or comments. While you may be talking to a good friend or responding to a sports game, a prospective employer will not have the time or desire to understand the context.
Check code you’ve submitted to any code repositories such as GitHub or Bitbucket for inappropriate variable names or language.
Inappropriate attire: Photos should show you wearing clothes you could wear in an office. Email providers such as Gmail automatically associate your profile picture with emails you send, so form a good first impression when contacting prospective employers.
Avoid swimwear photos in your profile photo, and increase the privacy setting of any beach or pool photo albums so that the general public cannot view them.
Hackathons are events where developers gather to work on an idea from start to finish over a short time frame, typically 24 hours or a weekend. See Figure 17-1. Hackathon are usually organized by a school, a company, or an independent group, such as a Meetup interest group.
Developers typically attend hackathons to meet other people, learn a new technology, or win a prize, which are given to the top app as decided by attendees or a panel of judges. Prizes can include free products, up to $5,000 in cash, and credits for hosting services. In addition, hackathons sponsored by companies have information sessions on how to use their APIs, with company developers on site to troubleshoot problems you might have.
For companies, these events are a chance to spark new ideas for existing products. For example, hackathons at Facebook have resulted in the Like button, photo filters, and tagging people in comments. If you are a developer, even one who has just started learning, hackathons can be a low-pressure way to meet representatives from companies, build another project to add to your portfolio, and generally show your passion for coding and building applications.
Companies build and promote APIs to help expand use of their products by making private programs and code available for public use. For example, Uber has an API to allow anyone to integrate car service into an app. Developers have created or proposed apps that tell users how far to walk to avoid surge pricing, and how to integrate air fare bookings with car service to and from your hotel.
Companies have a fixed number of employees who work as developers on their core products. APIs leverage external developers’ time and ideas to create interesting products the company just doesn’t have time to build or support. Learning an API shows that you are interested in the core technology and have ideas for new product directions.
Additionally, learning a popular API is useful not only to the company that makes it but also to everyone who uses it. For example, Google has a Maps API used by many companies to plot points on a map and show directions. In addition to the Google Maps API, here are some other popular APIs for you to learn:
Many companies ask about the apps you’ve built recently, in addition to or sometimes instead of requesting a resume. The best way to show that you know how to build an app that can handle real users is to do it. And if your app becomes popular, it will attract potential employers.
Deciding what to build can be difficult. Instead of brainstorming ideas you think will be popular, build something you would use and can build in a weekend. Here are some ideas that have been built into apps:
www.isup.me
): You can enter the URL of a website you cannot access, and see whether the website is down or whether you are experiencing problems with your Internet connection.https://nomadlist.com
): Displays a ranking of fifty best cities for remote workers based on weather, Internet availability, cost of living, and safety, as shown in Figure 17-2.www.followupthen.com
): When sending an email, you can add a cc or bcc email address (for example, [email protected]
) to receive a reminder to follow up.While you can’t predict what will become popular, some of the simplest websites can gain traction quickly. In the case of NomadList, over the span of two weeks the site received 110,000 users, 2,000 tweets, and coverage in over 20 media outlets. The site developer also wrote a blog post detailing how he created NomadList, making it easy for anyone, including prospective employers, to learn more.
People repeatedly face many painful problems. As coder, you can often consult on a part-time basis to assist with these problems and gain useful experience. You’ll be paid to learn, and sometimes these smaller tasks can lead to a permanent job.
In web development, businesses use WordPress to quickly and easily create a web presence. However, many users creating a site for the first time experience problems customizing the look and feel of the site — perhaps images don’t align properly, text input fields are not big enough, or the site appears correctly on desktops but renders incorrectly on mobile devices. These tasks all likely require CSS modifications, which are often just out of reach for the nontechnical user.
For data analysis, gathering and cleaning data is often one of the most time-consuming tasks in the entire process. For example, the nontechnical user compiling a list of sales leads often has to look up businesses contact information from an online directory and manually copy and paste this information into a spreadsheet. After copying, the data has to be standardized, especially if multiple databases were used. These initial steps can be automated with a script in Python or Ruby, and much of the information scraped and standardized automatically.
Both these tasks are not glamorous, but they do provide a good opportunity to practice your coding skills. You can usually find short projects like these offered for $50 to $500 on the following contractor websites:
www.odesk.com
): Sign up to be a contractor, bid on jobs that people have posted, and take coding certification tests to show your knowledge.www.freelancer.com
): Similar to oDesk, Freelancer matches clients with short-term assistance. You can participate in contests with others where a prize is awarded to a winner, or work on a project basis for a fixed price or an hourly fee.www.codersclan.net
): Designed for quick, small coding tasks, the average CodersClan challenge was solved in 30 minutes and received a $50 reward.The two biggest questions an employer has about you are “Can you do the work?” and “Will you fit in with the team?” The interview process can help evaluate and answer the first question but not the second.
One way to lower the risk for yourself and a potential employer is to offer to do a trial engagement with the company. These test drives are usually two to six weeks and are more common among startups, where teams are small and attrition is a concern. Although the engagement is temporary, you should not expect to work for free, though the rates may be lower than if the company hired a consultant. For example, at Automattic, the creators of the blogging platform WordPress, all hires go through a trial period and are paid $25 an hour.
The key to a successful trial engagement is to have a discrete task to work on that can be evaluated at the end of the trial. Because of the short time frame, choose projects that are not too complex and depend on input from six or fewer people. Additionally, you should make sure to set up milestones throughout the trial period and regularly check in with one point person, so you receive feedback frequently and can correct the project’s direction if necessary.
Remember that while the company is evaluating you, you should evaluate the company. Try to get a sense of the following:
18.191.152.17