The Job Search

The job search… the big question mark at the end of every coding bootcamp.

“Will I really be able to get a job after this?”

“What does that 97% hiring rate that Fullstack Academy advertises really mean?”

My job search was postponed when I became a teaching fellow, so I was able to watch some of my former classmates go through it from a distance. Some of them were lucky and landed dream jobs within a few weeks. Others, the majority, I think, seemed to struggle more.  The anticipation built.

I told myself that I would start my own job search on January 1st. This would give me 6 weeks before the end of my fellowship (and looming last paycheck). I procrastinated. I submitted my first job application on January 3rd. I received my first job offer on January 27th, and my second offer on February 1st. I accepted an offer on February 2nd. The whole thing was over and done with in less than a month.

This was, obviously, a favorable outcome. Do I know what I did to make this happen? No. I must have done something right, but other things I almost certainly did wrong. Here’s a bulleted list (yay!) of facts about my job search. I think it serves as a nice contrast to some rather frantic posts I have read about the post-bootcamp job search, although I do not propose that any of these things are “lessons” or in any way indicative of what is typical or will work.

  • I applied to a total of 10 jobs. I found all of them through online job postings. This is not recommended.
  • The only two sites I used to find jobs to apply to were Angel List, which has a collection of job postings at start ups, and Tech Ladies, which is a community of women in tech that has a job board.
    • The great thing about Angel List is that, once you fill out your profile, applying to jobs is very easy. You simply write a short message to the employer, no long cover letter. I did write personalized messages for all of my Angel List applications, but each one took only about 10 minutes.
    • The great thing about Tech Ladies is that it provides contact information of someone at the company for each job post. This allows you to reach out directly to a real person after you send in your application. I got a pretty good response rate from my applications through Tech Ladies (3/4 of my applications through that site got responses).
  • I played up my previous non-technical experience as a teacher A LOT. I genuinely learned a lot of valuable lessons from teaching, and I know that I have more to offer because of it, even if the “hard skills” are not the same.
  • I made a portfolio site and linked to it in all of my emails with employers. I used an html5up template for my site, because I wanted it to look very clean and professional (and be mobile responsive), and I didn’t have a lot of time.
  • I keep a blog, which a lot of employers mentioned (too meta?)
  • I didn’t go to any meetups (not recommended).
  • I limited my search to smaller companies, since I hate bureaucracy.
  • I sent thank you emails after literally every conceivable interaction.
    • In the company at which I accepted an offer, I tried actually sending thank you emails to every person I talked to during my onsite (I talked to 4 or 5 people within the company). I didn’t actually have everyone’s email addresses, so I sort of creepily guessed their emails until I found something that went through. I wasn’t sure if that would work out, but apparently it did.
  • I wrote new, personalized cover letters for each company I applied to.
  • I applied to jobs even if they said they wanted several years of experience.
    • The position that I accepted said it required 3 years of experience. LOL.
  • I had my cute story about how I became a developer down.
    • Something like: I took my first comp sci class in college, and I really liked it, but I didn’t become a major. When I graduated, I started teaching math, and I was teaching myself to code on the side. I started to spend more and more time on it, until eventually I found myself sneakily coding in the teachers lounge when I was supposed to be doing my real job. And I realized that, if this was what I wanted to be doing at work, I should just make it my real job.

In any case, today is my second to last day of work at Grace Hopper, and I start my next job next Wednesday. I am very excited to get started!

Allergic React.js-ion

I can’t believe it, but the students are currently in their final week of Junior phase. This past 6-week session has felt quicker than any so far.

When I was a student, we spent the last week and a half of the program learning Angular.js, and, as avid readers might remember, I was very fond of it. But technology changes quickly, and Fullstack/Grace Hopper has already updated the curriculum to teach React.js instead of Angular. This means I have been learning a brand new technology, and then pretending I know enough about it to help other people learn it a few hours later.

React has been a bit of a tough sell for me. One thing I really like about Angular is the emphasis on separating concerns. The problem with this is that, in a large scale app, things can become very disorganized. The codebase of Learndot, the website used by Fullstack students, is an excellent example of this. Usually everything works, but when there is a bug it can be very difficult to track down. I have read that Angular is easy to write but hard to maintain for this very reason.

I am surprised, however, how much React seems to solve this problem by taking the exact opposite approach. At least in the workshop that the students have been working on this past week, there is a great deal of shared information between disparate apps. While this makes things clearer, to an extent, I can also imagine this structure getting out of hand in a large-scale application.

I am still very much in the process of learning React, and maybe I will be sold once I have a better sense of typical application structures. But, as of now, my opinion is that one can write clear and maintainable code using either React or Angular. One can also write terrible code using either framework.

 

Tessel, Again

One of the highlights of my week was being a team leader for this round of the tessel hackathon, helping to bring in another victory for Grace Hopper.

The project, called Stop, Teaf! is designed to help to protect the user against the rampant herbal tea theft in the Grace Hopper kitchen. Simply slip a discrete tessel into one of your tea bags, and the  accelerometer module will sense a thief trying to snatch it. This sets off an alarm on your computer, and you will receive a command line prompt, into which you can type a stern message to the thief. Back in the kitchen, the tessel’s audio module will then robotically shout this message to the thief using text-to-speech technology. And if that’s not enough to scare them, there is also a little flag waving that says “Stop, thief!”

This time I wasn’t doing any of the coding or planning (although the result had some things in common with my first tessel project). Instead, I spent my time running around trying to help my team of four debug and refine the plan to fit the time constraints. We ultimately got the project fully functional about 5 minutes after the judges came by, but nonetheless we took home the “Best Campus Solution” award.

 

The Beginning (kinda)

For the past week and a half I have been working as a teaching fellow at Grace Hopper. The transition from being a student to an employee has been pretty smooth. Maybe it’s my teaching background, but it seems perfectly natural that, after devoting three intensive months to learning to code, I should spend another three months helping a new group of students do the same (while continuing to learn myself).

As a teaching fellow, I spend about two to three hours per day helping students with their workshops. This is a very engaging mixture of fun and stressful, since the current group of students is extremely talented. Several of them have studied computer science, and others have work experience in related fields. There are also a number of students who, like myself, have no formal background before Grace Hopper, but on the whole this group is very capable. So far, I haven’t felt like there were questions that I couldn’t answer, but as it definitely keeps me on my toes.

I also spend a good chunk of time each day going over the next workshop that I will be covering. This is something that I always wished that my own TAs had done when I was a student, since it’s difficult to jump in and debug code when you don’t know the context. There isn’t explicitly time allotted to this, but I think it’s essential to doing my job well and helping the students as much as possible.

Another aspect of my job is engineering for Learndot, the website that students and instructors at Grace Hopper and Fullstack use. My first task was writing tests for some methods that had already been written. This was pretty challenging, because the methods were for MongoDB and JSData, neither of which I have any prior experience with. I needed quite a bit of help to get started, but yesterday I finally got my work merged into the master branch, which felt amazing. My second task has been entirely Angular, which, as readers of this blog know, I love. It’s been going much more smoothly.

The final aspect of my job is interviewing candidates to be future students. I am currently still in training for that, and probably can’t talk much about it, but it is something that really excites me.

That’s all for now! Happy election day (let’s hope) and thanks for reading!!

Week 13 – THE END (kinda)

So, yesterday was my official graduation from Grace Hopper. However, since I am staying for an additional three months as a fellow, it didn’t feel like much of an ending. I have already started learning React so that I will be able to help the new students with it (future cohorts are learning React instead of Angular), and it feels very much like, even though I have learned so much, there is still a great deal of new information ahead of me. I am excited that I will get to hear some old material described by new instructors, and particularly excited that I will be a part of the engineering team for the online learning platform that we use at Grace Hopper and Fullstack. I will continue to document my adventures here, possibly adding some new structure to the site.

The entire last week was taken up by rehearsing our presentations for hiring day. We made screencasts that walked through our final projects, and we practiced delivering out demos in front of each other 5 or 6 times. This was a bit painful but I thought that everyone’s presentation ended up being extremely polished as a result, and in general it helped us build the good habits of practicing presentations.

Speaking of presentations, here is a link to my tech talk from week 11!

 

Weeks 11 and 12


My only excuse for not posting in two weeks is that these weeks have been by far the toughest, busiest, and most stressful weeks in Grace Hopper. I feel like I have been working nonstop and only now have time to take a breath. Here are some things that happened since I last wrote:

  • We made Dish’d! In two short weeks, we converted this app from a wobbly lump of code that broke every time we touched it to a robust and usable application. If you tend to have trouble planning out your meals for the week, I suggest you try it out! It’s live at dishd.us (and if it seems to be down for a sec, try again later. I swear it’s worth it!!)
  • My team also worked on and presented our application at the Angelhack “Lady Problems” hackathon. Even though we didn’t take home any prizes, it was a really great place to work and meet people all week. It’s very inspiring to work in a room full of mostly other female developers, and the venue at the AWS popup loft was beautiful! Plus, there was free food and several free t-shirts.
  • I made a stop by Code Camp NYC, a conference at the Microsoft center where I saw a very helpful lecture on Angular 2.
  • We also presented Dish’d at family and friends demo day. Thanks, mom, for coming to New York to see our presentation!!
  • If that wasn’t enough, I also gave a tech talk on components in angular 1. This was for a 10 minute presentation that all Grace Hopper seniors are required to put together. I will post a video of it soon, for anyone who is interested in my take on that topic (anyone?).
  • I applied for, and was accepted to, the Grace Hopper fellowship program! This means I will be staying on for the next three months as a teaching assistant, while also doing work on the website used by students at Grace Hopper and Fullstack Academy. I’m very excited for this opportunity to keep learning (and get paid for it this time). The adventure continues!!

It’s now the last week as a student in the program, and I can’t believe it! let’s do this!!

Week 9 (whoops)

I accidentally published this on my other blog! Whoops. Here’s a recap of last week:

This week felt very different from the others, perhaps best characterized by the phrase “hurry up and wait.” There was a huge rush to get Grace shopper deployed by Wednesday morning, followed by a lull for the rest of the day while we waited for others to finish presenting and then took our final quiz of grace hopper (which, at this point, didn’t feel like a huge deal since we have been practicing all of our tools very intensely).

On Thursday, we started ‘stackathon’, which is a two-day hackathon where you can work independently or in pairs on whatever you want. I had been planning to try something very ambitious for it, but at the last minute I decided to do something fun instead. I have been working (Thursday, Friday, and through the weekend) on an iPhone app that helps you learn different languages. The app lets you take a picture, and then it suggests tags for that picture in the foreign language of your choosing using image recognition software. It then generates flash cards based on the image, so that you can carry around a deck of clash cards based on what you have seen that day. The app runs on ionic, which allows you to write apps in JavaScript (very cool but hard to debug)! I will try to share some version of it on here soon.

Week 10

Wow, a double-digit week number feels pretty surreal. This week has been, I can’t lie, very stressful. All those earlier weeks where I thought “wow, this isn’t so difficult” are coming back to bite me.

This was the first week of our capstone projects. We were assigned teams of 3 and 4, and we spent Monday and Tuesday brainstorming projects. My group, and every group I think, struggled with this. It is hard to come up with something interesting yet doable, something that feels fresh and exciting but that is also, at its core, just a website. I think my group got bogged down by trying to come up with something that absolutely no one had ever done before. Ultimately we decided to build a meal planner application that will suggest recipe pairings  to the user and generate a weekly shopping list. It’s been done, but we’re going to do it again, hopefully with our own personal twists.

Once we had an idea, we had the additional roadblock of trying to use a new framework. React is becoming an extremely common alternative to Angular, and we initially planned to use it for our project. This resulted in us losing all of Wednesday to powering through React tutorials, trying to get the barebones of our application set up, realizing the instructors and TAs couldn’t really help us with our React problems, and ultimately deciding to stick with Angular. That was frustrating.

Anyway, now we are up and running, and moving right along. The site, in its early stages, is deployed at dishd.us, and will be updated continuously as we work on it (as of publication I think it is just the boilerplate Fullstack website that we are all allowed to use to start off).

Week 8


Above: Ben, the office pup, distracting me from a lecture.

Just in time, here’s my Week 8 Post! We have now officially entered Senior Phase, which is much less structured. So this blog post will be less/differently structured to match.

Senior Phase 

Junior phase followed a daily pattern of lecture -> workshop -> review -> lecture -> workshop -> review. The workshops were very scaffolded and, based on the lectures, we knew pretty much exactly what to expect. The longest workshop would be about 6 hours.

Senior phase is much more open ended. There are only three large projects in senior phase, and we are given basically the entire day to work on them uninterrupted. Although there are still lectures and scaffolding (at times, more than I would like), it has been great to get really invested in a project, make a plan for it, and see it through without step-by-step instructions. On the whole I have felt much more relaxed and engaged.

We also start each day in senior phase with REACTO, a daily white-boarding practice. We are given an algorithm problem, and take turns pretending to “interview” each other, while the other person solves the problem on a whiteboard without the help of a computer. This is a crucial interview skill and has been pretty fun so far, although I’m hoping for some tougher problems!

The Project

This week we are all working on the same project, which is affectionately named “Grace Shopper.” We have been instructed to make an online shopping website (we can be “selling” anything) that allows users to browse, create an account, log in, add items to their cart, and checkout. It is a very thorough review of everything we learned in junior phase, from databases to front-end design.

We were assigned teams of 3-4, and I got lucky with mine. We have been getting along great and working very well together. We have decided to pair program, swapping partners every day or so. Even though that seems like it would cut our woman power in half, it has ended up being very efficient, since we keep each other focused and catch each other’s mistakes, usually, before they spiral out of control. We have decided to make a fake online farmers market, since one of our teammates lives on a farm in New Jersey and has tons of beautiful photos. Look out for the finished project here soon — it is due Wednesday!

Key Takeaway 

By far the most essential thing I have learned this week is Git, a system that allows multiple people to work on the same project, track changes, and merge different branches of work together. As you can imagine, this gets pretty complicated, and I have started to understand some more advanced techniques so that I don’t have to freak out right away when I get an error message. This is a pretty big life skill for a programmer, so I’m glad to be building it now.

 

Goals for Review Week

Week 7 at Grace Hopper is Review Week, a time to take a few assessments and independently study anything that might be useful for the upcoming project phase. This is my to-do list to keep myself on track!

UPDATE: Looking back after the end of review week, here’s how I did.

  1. Complete the ES6 Codeschool course
  2. Brainstorm million-dollar web app ideas
  3. Get to 4 kyu on codewars
  4. Venture above 45th street
  5. Make a Chrome web extenstion
  6. Watch some videos of old Grace Hopper tech talks and come up with a good topic
  7. Blog about how easy and beautiful it is to make a search bar in Angular I decided to write about the beauty of ES6 instead