Chapter 4
IN THIS CHAPTER
Figuring out where you want to work
Learning what jobs are available and where to find them
Finding unadvertised jobs
If your mother ever complained about you being picky at dinner, your pickiness was good training for finding a job. It’s important for you to be picky! After all, where you work isn’t just where you spend a lot of your time — your job defines you as a person and your work experiences echo through the rest of your life.
Now that we’re done being profound, it’s time to search high and low (and near and far and …) to find your next job. This chapter starts by telling you how to choose the best method for finding your next programming job. You also learn how to find the best type and size of companies that will give you the best chances of not only of getting a job but also being happy working for your new employer.
Then, you have to be profound yourself and answer a deceptively basic question: What type of job do you want? For example, do you want to work for a company in a specific field such as rocket science or in brain surg — er, healthcare?
Next, you learn how to get the lay of the land locally and beyond if you can’t find the job you’re looking for that’s (reasonably) close to you. After your tour, this chapter ends by telling you about the benefits and challenges of each of the three ways to find jobs: using job search websites, hiring recruitment agencies, and networking with people.
It’s time to sound the bugle, get your ducks into a row, and snap them to attention. (If you prefer to use cackling geese, we won’t judge you.) It’s time to send them on their mission of finding you a new programming job at a company you’ll love so that you won’t have to worry about interviewing again for a good long while.
The mission includes answering a number of questions:
Answering all of these questions may seem overwhelming, but as your guides, we’ll help you and your flock get closer to the answers by the time you finish reading this chapter.
The first question about where you want to work doesn’t refer to a company. Instead, we’re talking about the physical location where you want to work.
Do you want to work only in your local area or in a metropolitan area that’s closest to your home? Your current life situation will go a long way toward answering that question. For example, if you’re married with a family, you may not want to move. Even if you’re single, you may want to stay where you are because you like the life you’ve built there and other factors, such as the distance between you and your family.
If you’re working in an area where there’s one large company, you’ll likely find a large number of other companies in that same area that help support that large company’s systems. For example, if there are one or more large healthcare systems in your town or region, you’ll likely find a number of large and small technology companies that provide the critical hardware and software systems needed for the system(s) … and they need programmers.
If working locally isn’t a necessity, you have more options to consider. One option may be to work in a different city and commute between your current home and that city because you don’t want the hassle and expense of moving closer to where you work.
Before you commit, however, consider the expense of commuting. If you drive, you’ll have varying vehicle expenses depending on the price of gasoline and if you have to take your car in for maintenance more often — or for repairs if you have an accident on the road. What’s more, if you drive over toll bridges, you have to add the cost of daily tolls or monthly passes offered through services such as the San Francisco Bay Area’s FasTrak system.
Commuting will also change how you approach negotiating your salary after you’ve been offered the job. You may want to find out if the company will compensate you in whole or in part for your driving expenses. (The answer is likely no.) And if you take the train, a ferry, or even a plane to get to work, you’ll have to factor in the costs of train, ferry, or plane tickets. (You’re right: The answer to the company reimbursing you for these costs is also likely no.)
The costs of moving to another state or even to another country, as exciting an opportunity as that is (unless you’re moving to Elbonia), may also prove dauntingly expensive. Moving across the country or across the globe for a new job will affect the questions you ask interviewers. For example, you may ask if the company will help you with moving expenses.
The prospect of moving will also change the way you approach applying for jobs. More specifically, you need to establish a strong relationship with the company and its workers to make sure you and the company are a great fit because you may be living in that other state or country for years to come.
Moving to another location may not even be necessary. If you have the tools to work at home and you can work uninterrupted in your home office, is that something you want to do? And will your desire to work remotely keep you from applying to companies you really want to work for because those companies don’t allow remote workers?
When you figure out where you want to work, you need to look at the area and see what the job market is like. If you want to work in a big metropolitan area, you’ll have a lot of choices … and a lot of competition. The size of the company you want to work for also brings you advantages and disadvantages.
Working for a large company means there are plenty of opportunities for advancement, which is good for your résumé if you ever decide to leave or the company decides it’s time for “realignment.” You may also have more freedom to do other things depending on the culture of the company. For example, Google allows its employees to move to different departments when employees feel they need a change or a challenge. Larger companies tend to be more stable, too.
There’s always a catch, and in a very large company you may soon learn that you’re going to be limited by bureaucracy. For example, you may not be able to write as much code as fast you want to or can because the product has millions of people in its user base and the company can’t afford the media scrutiny (not to mention revenue lost to a competitor) from products that don’t work. That being so, the company may only allow you to write small amounts of code and have it reviewed and tested repeatedly.
You may unearth another unpleasant discovery: Some of your team members may not do much for the company because they have very little to do. Some of them may not be monitored that closely, and you might find that they’re just coming in to work to basically do little company-related work, pick up a paycheck, and work their side hustle on company time. They may do this because the company’s red tape keeps them stuck waiting to get work done, or because they’re literally taking advantage of the bureaucracy and doing as little as they can possibly get away with.
If you work for a smaller company or a startup, you have a bigger chance to make an impact … and a bigger chance to screw up in a way that can damage the company.
In a startup or small company, you may be required to wear many hats. You may find yourself doing many different jobs in the company such as web design, graphic design, project management, marketing, and customer relations. All that work can be very helpful for your career, and you can see that you’re making a difference in a company. Another key benefit from wearing all those hats is that you’ll probably be given complete freedom (or nearly so) to do everything your way, from choosing what technologies to use to how to market the software.
However, the problem with the term “making a difference” is that it can be connotated negatively as well as positively. If you start finding that you can’t do one or more of these additional jobs in addition to the programming you’re supposed to be doing, or you’ve been inspired by George Costanza and modified your desk to take naps under it, your performance will likely suffer. So, eventually you could lose your job not because the company doesn’t like you, but because you couldn’t get all your work done and the company is going bankrupt.
Given these two choices, you may decide on the Goldilocks approach: Work for a small- to medium-sized company so you can focus on programming and don’t have to worry (usually) about the firm’s stability.
Wait a minute! you say. This wasn’t helpful at all! I’m not any closer to deciding what to do! As your Yoda and Obi-Wan, our goal is to make you succeed at what you want to do — not become a Jedi Knight (though that would be cool), but to find the job you want. Only you can decide what path is best for you based on your needs, wants, and circumstances.
When you know the type of company you want to work for, you should be as picky about the type of job you want. As we say earlier in this chapter, some of your choices may be dictated by circumstance, but you still have a lot of control over picking the right job for you.
Start your journey of discovery by answering questions about the technologies you want to work with:
Once you figure out which of those jobs you’d like to have, then you have to answer another set of questions to find out what kinds of structure and social exposure you like:
The answers to these questions will rule out some job opportunities. For example, if you want to work for Spaceman Spiff’s Rocketry, you’re going to be in a very structured environment where you have to come in every day on time. You’ll be in oodles of meetings, and your code will be tested thoroughly because the lives of the astronauts onboard Spaceman Spiff’s rockets are in the balance.
If you’re looking for a specific role within the company, do you know what that role is? If you’re not sure, these questions will help you figure it out:
Your answers may tell you that your skill set is lacking to fill the role. The good news is that free education on the web is plentiful so you can make yourself an expert. Once you’ve planted your flag atop your conquered mountain, you can hone your résumé and cover letter to those jobs, show that you’re an expert (as we discuss in Chapter 3), and give yourself a better chance to not only get the job but also a higher salary with it.
Now that you have an idea of what technology you want to work with, the work environment you prefer, and the role you want, you have just created a Venn diagram with areas in each of the three circles intersecting in the center, as shown in Figure 4-1. Now you need to fill that magic intersection area with jobs that fit neatly within it.
One good way to find out what’s available in your local market is to regularly scan job search sites and recruiter websites to see what’s available. Those listings can give you a sense of what’s happening in the local job market and what you may need to study to meet those needs.
The benefits of job search websites are that they are easy to search, and you can see what jobs are available in your area and what companies want. Job search sites also make it easy to submit your résumé. The biggest drawback is that other programmers are doing the same thing you are. And if you decide to submit your résumé, you have no control over whether it will even be seen, let alone if it’ll stand out.
For example, a company may be inundated with several hundred applications from its job posting on a job search website. Even if a human resources (HR) company uses software that allows it to filter applications from the system that don’t meet certain criteria, there may still be hundreds of applicants who have passed that first test. The company may then resort to other filters that may or may not whittle down the number of qualified applicants further.
The sheer number of applications works against you because you have no way to stand out, and the company doesn’t have enough manpower to manually look through each application. In this case, the company may result to a lottery system and just pick out résumés at random from its database. Or, for all you know, the hiring team may have just printed out all the résumés and had members close their eyes and pick them one by one out of a large box until they reach the number of résumés they want to review.
Some companies may only hire through a recruitment agency, and companies that advertise for opportunities on their websites will include this information in the job description.
Recruitment agencies act akin to financial brokers: If they find a match and the applicant gets hired, they get paid. They’re not interested in presenting your credentials in the best way possible; they just want to find a match and hope their candidate gets the job so they make money.
So, why go to a recruitment agency instead of to the company website directly? One good reason is if you are offered the job, you can negotiate with the agency instead of the company. The agency is compelled to negotiate the best rate possible because either it’s paid a lump sum for each hire and wants to get you hired as soon as possible, or because the agency receives a percentage of your pay as commission.
In Chapter 1, we talk about networking to find out about unadvertised jobs. In this chapter, we want to focus on strategies and examples of how you can network to get those jobs. Let’s start by recapping the most visible places to build networks and talk about a couple of places that may not be so obvious.
Before you start networking, take the time to listen. (You know it’s important when we italicize the words.) As your mother may have told you, you have two ears and one mouth, so listen twice as often as you talk. When you talk to a person, don’t just come up to her and say how you can help and if she needs someone to give you a call. If someone did that to you at a networking event, chances are that all you remembered about that person was that you were annoyed by her.
Instead, ask questions about the person you’re talking to, listen to his answers, and understand what problems he’s facing. For example, if you work as a front-end programmer and the person you’re talking to says he’s having user experience issues, provide helpful feedback and advice he can use. If you show that you not only know your stuff but also you’re willing to share it, he’ll remember you in a much more positive light — and be more inclined to keep your business card.
Networking isn’t a magic wand, and it may not result in you getting your dream job … at least not right away. If your mother told you that you were also stubborn when you were a kid, this is a good opportunity to tell your mom you put that trait to good use.
One method you can use to keep showing your interest in working for a particular company and its programming team is to find blogs written by as many programming team members as you can. Then, follow their blogs and comment on their blogs so that you stay in front of the programmers’ minds and build a rapport with them. The same can be said of LinkedIn groups that these programmers frequent and contribute to.
You never know when another programming position will open up at the company, but when it does, don’t be surprised if one of the programmers approaches you and tells you that he has a job that would fit squarely in the center of your Venn diagram, and that he and other programmers would be happy to recommend you.
Persistence beats everything else when you want to succeed.