21 Job Opportunities  “Don’t be wowed by HR and managers talking up the place — perfect companies do not exist! The best thing to do is write out the pros and cons for each company where you are entertaining employment opportunities. If you haven’t found any cons yet, you haven’t looked hard enough. There are problems in every company.” Gwendolyn Faraday, Author If you have started the job search already, you are probably wondering what kind of company you should work at when you are start- ing out and what type of job would best suit your needs. Throughout my career so far, I have worked at many different types of companies. From my experience, I can tell you one thing for sure: for your own happiness and career satisfaction, it is important that you understand the differences between company structures so you can choose one that aligns with your lifestyle and goals. This chapter will cover the main types of companies and positions you will encounter during your search for the right fit. Note: this chapter covers developer jobs from the perspective of the United States market. Location It is important to determine how far you are willing to travel every day for work. If this is your first job, you may not be able to be as selective. When I started as a developer, I had to carpool 35 minutes every day to work. After I had some experience, I got to work at a company that was much closer to me. In-Person If you live within commuting distance of a city with at least a few hundred thousand people, there will be plenty of tech jobs available to you. This will make it much easier to find your first position. I also recommend working in person for your first job. It is much easier to stay focused in an office and find help quickly when you need it. Most offices have quiet places for you to stow yourself away when you need deep focus, and the majority of tech compa- nies have flexible working arrangements, so you may get to work from home a few days a week once you have been working there for a while. Remote It is rare, but not impossible, to find a remote job when you are starting out. Most companies do not want to take the risk on a brand new developer who will be working in isolation most of the time. It is much easier to train and mentor a new developer in per- son than over chat and occasional video calls. You might also feel lost having to work on your own right away. If you cannot commute or need an extra flexible schedule, then yes, go for a remote job. Just know you will most likely have to work harder to get hired at one. TIP: Relocating for Work There are several reasons why you may want to consider relocating to find a job. If you live in a rural area that is far from any mid-sized or major cities, then you will have much better chances finding your first job if you relocate. As I mentioned above, it is already difficult to find a job as a junior, let alone a remote job. If relocating makes it even 25% easier, it might be worth it, especially if you do not have any obligations tying you to where you live. You might also think about relocating if your past is an obstacle. Maybe you have received negative press about something you did in the past but do not identify with anymore. You could try to clean up your negative image both online and offline, but it might just be easier to move. If you have a felony on your record, you will want to check on regulations and corporate sentiments in your area, and may even want to move to a friendlier place. I completely believe in hiring former felons who have been rehabilitated through the penal sys- tem, but some companies will not even give you a chance if you have a record. Some companies offer relocation packages as part of their benefits package if they are trying to hire a candidate in a certain area. This offering can be rare for a junior developer, but if you are open to relocating to the area they are hiring in, it doesn’t hurt to ask about it once you get to the final interviewing stages. Characteristics of a Good Job Chapter 21 will go over some questions you should ask to determine job fit, but here are some things to think about as you consider any position. As a new developer, your considerations will not only be benefits- and lifestyle-related, but whether the position will be beneficial to you and fit in with your long-term goals. Here is a list of the things you should consider when looking at job opportu- nities. •Mentorship •Ongoing training and education •Growth opportunities •Current onboarding process •Current developer satisfaction (not just general employee satisfaction because how employees are treated can vary widely between departments at some companies)  TIP: Ignore the Fluff Do not buy into the fluff that companies put on their blog, social media, and website. Dig into what it is really like to work there by networking and asking current and former employees. Read reviews on Glassdoor (take with a grain of salt) and other review websites if you can. Other Tips & Recommendations •Watch out for frequent changes in management: it could be that the company was bought out or has new upper man- agement which would cause the company culture to change. There is usually high turnover when management changes and if it happens often, it is a good sign of much larger internal problems. •Some companies are adamant about monitoring your time. I usually avoid these types of companies as they typically have overbearing leadership. •There is nothing wrong with admitting something isn’t working out, or you have learned all you can, and you need to move on. •Create opportunities and internships for yourself. If no one will make space for you, then you have to do it, and it is usually not that hard. If you really want to work somewhere or just get experience anywhere, ask for an internship with a company! It doesn’t matter if they aren’t hiring. If you are able to work for a vastly reduced rate for a while, many smaller companies will be willing to take you on to get experience. •You just need one job to say “yes”, so keep applying no matter how many times you get turned down.  TIP: When are you Ready to Start Applying for Jobs There is no single point in time where you pass the ready threshold. Learning is a continuous process, so it is hard to say exactly when you are ready for a job, and even though you may feel unprepared, you need to start applying when you are not ready so that you can practice interviewing to prepare to be a serious candidate. I recommend that you start applying to jobs at around 400-500 hours of study if you are starting from scratch. Conclusion All of the details above are generalizations. Some companies do not fit into any mold. This advice is meant to give you a place to start. You will have to research each company individually to find out more about the specific working conditions and expectations. There are plenty of opportunities at each of the different company types. If you do not get your first pick right away, then keep it as a career goal for your second or third job in the industry. Remember that applying for jobs is never a waste of time because you should be learning from every rejection. Your motto should be: keep applying, keep learning. I would love to hear about your experience in searching for the right position. Please let me know through email or Twitter, @faradayacademy. Action Steps:  1.Decide which types of companies and positions you are most interested in. 2.Gear your job search towards them. 3.Set a goal for the number of job applications you will fill out each week.