Chapter 4

Searching High and Low for Companies

IN THIS CHAPTER

Bullet Figuring out where you want to work

Bullet Learning what jobs are available and where to find them

Bullet 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.

Getting Your Ducks in a Row

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:

  • Where do you want to work?
  • Where should you work?
  • How do you find the job you want?
  • Should you use job search websites?
  • Should you even look for advertised jobs?
  • Should you go to a recruitment agency to get a job?

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.

Deciding Where You Want to Work

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.

Remember If you’re set on staying put in your city or town, then your ability to do so may be dictated by what programming languages nearby companies use and your flexibility. That is, if companies in or near your area use Java and you program in C++, then you’ll have a moment of clarity: Learn Java and have a better chance of staying home, or keep using C++ and either try to find a job that allows you to work remotely — or pack your bags.

Search for a local technology ecosystem

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.

Commute or move?

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.

Working remotely

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?

Remember Even if a company allows you to work remotely, it may still require you to attend meetings in person once in a while. If that requires you to drive or even buy a plane ticket, you’ll need to add those costs to your list of expenses as you figure out whether working remotely will save you money if cash flow is a high priority.

Figuring out the Size and Type of Company You Want to Work For

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.

Large companies

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.

Small companies

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.

Tip If you’re not sure what type of company you want to work for, then bookmark this page, put the book down, and go on a nice walk by yourself. Walking helps stimulate the brain, and if you walk long enough, your brain may finally reveal where you think you should go. More than one walk or other physical activities may be necessary for the answer to pop into your head.

What Type of Job Do You Want?

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.

Step one: Technology

Start your journey of discovery by answering questions about the technologies you want to work with:

  • Do you want to work only with new technologies?
  • Do you mind maintaining old systems? You may be surprised by how many programmers keep old code running because their customers don’t want to upgrade.
  • Would you like to work on a front-end product where you get to design the interface and the user experience?
  • Do you only want to work on the back end so you can maintain and improve the guts of the software?
  • Do you want to only work with databases?
  • Are you undaunted by working on mission-critical software and/or software that’s used by millions of people?

Step two: Environment

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:

  • Do you want your code vetted and tested thoroughly, which results in slower development times and perhaps requires you to make small improvements constantly?
  • Do you want more structure in your job with set rules and processes?
  • Do you like being in a social environment?
  • Do you want to work from home or come in to work (and leave work) whenever you want?

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.

Step three: Define your specific role

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:

  • What do you think are your areas of expertise?
  • Are you working on some kind of stack or platform?
  • Do you want to create a web application?
  • Do you want to create your desktop applications?

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.

Learning What’s Available

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.

Venn diagram of three circles intersecting in the center depicting a perfect job H1:H11in the intersection of technology, work environment, and preferred role.

FIGURE 4-1: The job you’re searching for is in the intersection of technology, work environment, and your preferred role.

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.

Understanding the pros and cons of job search websites

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.

Remember Does this mean you shouldn’t use job search sites? No. In fact, set up profiles on some of the big job search sites like Indeed (www.indeed.com; shown in Figure 4-2) and Upwork (www.upwork.com). Also search for job search sites on the web to see what other sites you think will give you a better chance of being seen. For example, some job search sites like Hired (https://hired.com) uses its “custom matching software” to match your profile with companies looking for programmers with your skill set.

Screenshot of the Indeed home page that makes it easy for the user to search for a job in a specific area quickly.

Source: www.indeed.com

FIGURE 4-2: The Indeed home page makes it easy for you to search for a job in a specific area quickly.

Using and managing recruitment agencies

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.

Tip If you approach recruitment agencies and show them that you’re a rock star programmer, you may convince one or more of them to work on your behalf to find you a job. Many of the ways to convince a recruitment agency is the same as convincing a company to interview you — show that you’re a Jedi Master when it comes to skills and experience, and have website assets that show you’re passing on what you know and that you’re continually growing and learning.

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.

Warning You should ask the recruitment agency how it receives commissions and what markup fee it charges the company on top of the hourly pay you receive after you’re hired. Be careful that the agency doesn’t convince you to take a small pay rate (like $25 per hour) because it says that’s all the company you really want to work for will pay while the agency still charges the company $100 per hour for your services.

Remember In general, recruitment agencies do not work for you — they work for the company that hired them to find a new programmer.

Networking to find the unadvertised jobs

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.

  • Peruse social networking websites where programmers congregate, like LinkedIn and GitHub.
  • Use business calendars posted in chambers of commerce and business publications to find business meetings where you may find company representatives, especially in industries you want to work in.
  • Use the Meetup.com website to find meetings with other programmers in your town, city, or region.
  • Look for user groups in your city, town, or region that specialize in an operating system and/or programming language you’re interested in. You may find these user groups on Meetup.com, LinkedIn, or just through a web search.
  • If you find coding camps advertised on websites like GitHub and Reddit, especially ones that are close to you, sign up and go. The investment will be well worth it because you’ll be surrounded wall to wall with programmers.
  • Consider going to conferences for programmers of a specific operating system ecosystem such as Apple’s Worldwide Developer Conference or a local conference about technical issues. You’ll find not only a lot of programmers there, but also important people from all sorts of companies who you’ll want to talk to.

Remember It takes time to build both your networking approach and your network of contacts. Just because you think (or were told) you’re the Chosen One doesn’t mean you don’t have to put in the work. It takes time to build your connections just like every other network builder.

Listen and ask first

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.

Keep at it

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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.135.246.193