Finally got a job

Well, it finally happened: I got a developer job. It’s not my dream job, but it pays well (more than I was expecting), will let me build some cool stuff, and is a stepping stone to an amazing future. It is an entry-level developer React Native developer in a large trucking company. The downside is that I have to move to Fayetteville, Arkansas. [sigh] I don’t know, I’m a “look on the bright side” kind of guy. The cost of living is amazingly low (about 1/3 of San Francisco), it’s beautiful country up in the Ozarks, and having fewer distractions will be good so I can focused on getting up to speed on my coding. Unfortunately this means I’ll be away from my wife for at least a year, but there’s skype and flights are cheap.

Some of you may remember my difficulties with this job some weeks ago, an unexpected hair test for drugs. Being from California where weed is legal, this presented a problem. The company is very conservative and would not budge. But the manager and the recruiter worked out a scheme where I work as a contractor through the recruiter for three months (when I’ll be clean) and then I can get hired on officially. The contractor only requires a urine test, which I passed. I lose some of the benefits for the three months, but they gave me a slight pay boost to offset that. I still think this is BS (again, I have no problem being clean while I work for them, but don’t think it’s fair for legal activities I did before I even knew they existed.) But still, it was nice of them to find a solution – it would have been much easier for them to go to the next guy on the list.

It’s been an amazing struggle. I have some semi-pro coding experience in C for 6 years from 20 years ago, and began FCC at the beginning of 2017.

For this particular job I was contacted by a recruiter. I did a phone interview with the recruiter, then a coding test on Hacker Rank. The test was a few not too tough JS algorithm challenges, and some general internet questions (like HTTP, etc.) I aced the JS stuff and did pretty well on the internet stuff. There was also a section on some low level Android stuff and SQL. I guessed at that stuff and got a few. Amazingly I got one of the SQL scripts right.

Then came technical/coding interview. I was on the phone with 5-6 people from the company – intimidating, but they were friendly enough. They asked me to tell my coding story, then asked me about some of the projects I was working on, specifically React and React Native as those apply to the job. They said there were impressed that I had some good projects. Then they had me do some coding (alla HackerRank problems). The first problem was a simple, common problem (actually a variation of one of the ones from the HR test they’d given me). The second problem was an intermediate level problem and I did pretty well. The third problem was an advanced problem that probably should have been solved recursively (not my strong suit) and I couldn’t solve it. But talked about what it would entail and came up with a suggestion of a non-recursive solution. (I later looked it up and found that my “creative”, non-recursive idea for a solution was actually one the preferred solutions.) Then there was a bunch of technical questions, ranging from intermediate to advanced. They were mostly about JavaScript, like ES6 features and some of the prototype methods.

About an hour later the recruiter called me saying that they were considering a 6-month contract-to-hire. I said probably but I’d have to check with my wife first, because that was outside the parameters of what we’d discussed. (It’s a bit of a risk because I have to quit my job and move.) And then I got a call back from the recruiter an hour after that saying that they were now prepared to offer me a direct hire, the original things discussed. I accepted. Then that mishigas with the hair test. On reading the offer letter, there was mention of a drug screening, but being from California, it didn’t even occur to me that anyone would care that much about a little weed for a programming job. But it’s an old, conservative company and their drivers have to do a hair test so I think they just apply that to everyone.

====

Some thoughts on the hiring process in general.

  1. Get a portfolio site. A lot of people liked that I had projects they could see.
  2. Work on your resume. This is probably the part I did the least well.
  3. Have a cover letter. It would be best to custom tailor the cover letter for each employer, but in reality, when you’re applying to 10 places a day, this isn’t possible. At least have a nice, generic cover letter. If you have a job you really, really want and think you have a shot at, then you can customize it.
  4. Have three copies of each – pdf, Word (docx), and plain text. There will be sites/people that specifically only want one.
  5. Build lots of projects. Practice talking about them with enthusiasm.

Other things would be the usual:

  1. Nurture relationships. A lot of jobs come from people you know. The more developers you know, the more opportunities.
  2. Build, build, build. Learn to do open source. Work on algorithms.
  3. Practice answering questions and talking about yourself. I got several compliments about me being able to talk and be personable on the phone. One recruiter interviewer even called me back to let me know they would be hiring someone else but complimented me on the path I was on and said it was so nice to talk to someone that wasn’t “like talking to a piece of wood”. When you’re on the phone, your voice and tone are doing a lot of the selling. I have a few standard jokes. Like when I’m coding for them and I make a stupid mistake, when I find it, I chuckle and say, “You know, the problem with computers is that they always do exactly what you tell them to.” This always gets a little laugh and it lets them know that I can laugh at myself. My goal is to convince them that I would be a fun guy to work with – sometimes that can be the deciding factor.
  4. Keep expanding your knowledge. In that last month, I had three interviews that got to the late stages. Each one was for React Native. They were impressed that I’d taught myself and had an app on the Google Play Store. For this place, I originally applied for a React position, but when they saw React Native on my resume, they steered me towards that.
  5. Wear rejection with pride. The only people not getting rejected are the people not taking chances. Most people are going to get rejected a lot before they get accepted.
  6. Be confident. Too many people get to worried and feel inadequate. I never lied about what I know and don’t know, but I let them know that I was looking forward to the challenge of new techs. Find a balance between confidence and humility.

On confidence: The other day I overheard my managers talking about an interview they just did. They explicitly didn’t like that he didn’t sound confident. They admitted that he probably had the skill for the entry level position, but his lack of confidence was a concern. Think about that – the thing keeping him from the job isn’t his skill, but his lack of confidence in the skill he has. Lesson: Don’t be too self-deprecating. Be confident in what you can do. Don’t lie about what you can do and be willing to admit what you haven’t learned, but also be confident about what you’ve learned and be confident that you can learn what you need to. Don’t just be confident that you can learn new things, be eager to learn new things.

A word on recruiters: I break them down into three categories.

  1. Recruiters that work directly for the company or have a special relationship. These are the best. This is the one that got me the job.
  2. Recruiters that are hustling lots of different positions for lots of different companies, but kind of know what they are talking about. These guys can be a little bit of a pain but can’t be completely discounted.
  3. Recruiters that are just scraping lots of resumes for keywords and spamming lots of people in hopes of getting a commission. Unfortunately, these are the most numerous. And at the risk of being offensive, these people often (but not always) have Indian accents, presumably working out of a call center overseas. In fact I know that they’re in a call center because I can hear the racket in the background. Unfortunately they often put you on speaker phone so you hear all the noise in the background and the echo of your own voice. Once I even heard a guy in the background selling aluminum siding. These guys often have no idea what they’re talking about – I have one trying to get me to try for a Java position because JavaScript was “close enough”. Unfortunately (especially with the background noise) these guys’ accents are often very difficult to understand. They also tend to spam you with email. You can often spot them because they have the word “urgent” in the title. They also seem to also have a long list of generic questions in each email, most of which were answered in the resume. If I had to do it all over again, I’d probably skip these guys all together.

I just finished my first week. They were really nice and let me spend the first week just getting ready. They gave me a new Macbook (which I’ve never used before) and had to spend a day getting it set up with all the software I needed. I spent most of the rest of the week doing tutorials and research about some of the new techs I needed. They gave me my first assignment this week for the next sprint, but it’s a pretty straight forward one and they made it clear that I shouldn’t feel too pressured. They’ve been very supportive. I have a nice little cubicle with two large monitors. I have to learn some new thinsgs (Redux Saga, Jenkins, etc.) Eventually I’ll get to learn the rest of their stack – Java and SQL – but they’re patient. It’s scary, but they know where I am as a coder and selected me anyway, so I’ll put faith in that. I still don’t have a place to live – I’m in a hotel at the moment.

A few things that I wish that I’d realized when I started – things that are obvious to experienced devs but took a while to sink into this old man’s brain:

  1. This is not a sprint, it is a marathon. I came into this expecting to work hard for three months and land an entry level job. That was of course, ridiculous, but there are a lot of people on the internet saying exactly this.
  2. There is no direct path. I thought it was a simple thing, like a checklist, learn this seven things and you’re good to go. Nope. It’s a complex mosaic of complementary and overlapping techs. Every time you think you can see the scope of what you need to learn, there are another three techs you need. FCC offers a pretty good path to the MERN stack, but it won’t be enough – there will be other things you need to learn.
  3. Just learn. Don’t focus on getting the job, focus on learning. If you keep learning, eventually your skill will catch up with the job market.
  4. Don’t just learn code. Also learn about ancillary ideas. Read a book on agile. Find a book a book on UI. Take one of the free introductory CS courses. Find out about startup culture. Even having a basic knowledge on things like this will make you seem more knowledgeable and confident.

Well, that’s my story. I’ll probably be a little incommunicado for a few months while I get up to speed but hope to be back to share more of what I learn.

78 Likes

Congrats Kevin! Happy for you!

Congratulations Kevin, and thanks for the journey details. You’ve added some great advice in this post.

Good luck with Redux Saga… I’m currently using it in a project I’m adding features to… It took a while for me to get my head around it, but I didn’t know Redux when I started this job either, so the curve has been steep!

Thank you for sharing your experience.

Really cool that you got the job, well done. I also am surprised that you found a company willing to put up with so many little hassles and be accommodating to your situation. Far too many companies just don’t bother, and look for the smallest of reasons to reject someone. I think you made a very good impression on them.

I also hypothesize that they may be one of those old school businesses that believe in upliftment of their employees as opposed to maximising profit. Either way, good luck in your future!

1 Like

I live in Texas, and Fayetteville AR is supposed to be a desirable area (for a small metro) due to the cost of living and quality of life. That is near Wal-Mart Corporate headquarters and all the auxiliary companies that follow. Wal-Mart is planning to make a run into some of Amazon’s territory. That’s not the worst place a person can be.

Welcome to the company, bro.

I work in Infrastructure at the company that hired you. I was going to skype you, but it looks like you’re offline. Anyhow, I am ultimately trying to get into the Apps group as well. I have a few friends that work in that general part of the company, and (from what I know) you have a good manager.

As someone who has been here for a little bit longer, and had a little more kool-aide than he would like to admit, this is not a bad place to work. Our company is searching for a technical identity and eventually will try and position itself as the leader in logistics in the form of a comprehensive SaaS kinda thing. What that means practically is that you and I have an opportunity to create the new culture that will eventually become characteristic of the company.

It’s not perfect. As with any transition there are some awkward phases. Most of the difficulty we have is essentially from growing too fast for our own good, which I guess is a good problem to have in the grand scheme of things.

But yeah, I’m genuinely happy for you and it’s super encouraging to see us at the same company! I’m still a newb, but maybe someday I’ll get the opportunity to work with you! Maybe when can grab lunch some time.

Either way, I wish you the best during your time here

-Matt

3 Likes

Congratulations on the job, onwards and upwards from here.

Amazing bro, thanks for being so detailed…I will def be using that joke lol

Great story, nice details.

Thanks for sharing!

1 Like

Hi Kevin,

Congrats on landing the new job! Fayetteville is a nice city with nice people, though I know it is quite small and slow paced compared to San Francisco.

Being in a long-distance relationship is tough so hang out there. My advice is to fly home as often as possible.

Don’t focus on getting the job, focus on learning. If you keep learning, eventually your skill will catch up with the job market.

Thanks for sharing your insights here. These are all good things to keep in mind during the run up to the job search.

Keep us posted on how things go and how your skills expand. And thanks again for everything you’re doing for the freeCodeCamp community.

7 Likes

Wow! First off - congratulations! Also, thank you so much for sharing your helpful information back to the FCC community. Your words are encouraging; but more importantly, the details are so informative for future hopefuls (like me).
Again, congratulations on obtaining your programming job, and enjoy your new coding career (using React - yes!).

Congratulations Kevin !!!:man_technologist:

Congratulations Kevin and thanks for sharing your experience

Congratulations Kevin!

Congratulations brother… Your stories give us reasons to continue working harder

Thank you for sharing this inspiring story, and congratulations to your new job.

Congrats, and thanks for all you do here.

Congratulations Kevin!

May I see your portfolio site?