Preparation for a Technical Interview in 30 Days - Day 0

Earlier this week I was contacted by a recruiter on LinkedIn to discuss my background and my future career goals. I was quite taken aback, because I dreamed of working at this company one day, but did not think that I had not yet developed the skills that were required to be considered for employment there. I always felt that I was disadvantaged because of my lack of a Computer Science degree, although I have completed a few technical courses. Two days later, I spoke with the recruiter and passed the initial phone screen. I was then scheduled for a technical interview that would take place in a month’s time.

It’s been a very long time since I posted anything on my blog, so I will try to summarize what I have been doing during my period of hiatus. I graduated from Hack Reactor, and took a vacation to Trinidad and Tobago. I’ve posted that I am an Electrician with the US Navy, but never mentioned that earlier in 2015 I fell 20 feet while attempting an electrician qualification while on active duty. I sustained quite a few injuries, which were aggravated during my trip to Trinidad and Tobago and caused me to be on crutches upon return, so I delayed my job hunt so that I could get the medical attention that I needed.

Girls Who Code

Although I decided to halt my job search, an opportunity presented itself that I could not resist. In February, I applied and was accepted to be a Lead Instructor for a Summer Immersion Program at Girls Who Code. I had heard of Girls Who Code some years before, but was never able to participate since I was never available during the prior summer months to do so. My doctors and physical therapists aggressively worked with me to ensure that I could perform my daily activities on the job with minimal pain and discomfort. Some months after, I wrapped up an amazing summer instructing 20 high school girls to code in New Jersey.

Over the course of 7 weeks (with the help of 2 teaching assistants), I was responsible for teaching the girls Python, Web Development and Scratch, and Robotics. At times I doubted that my knowledge and delivery was sufficient to get them to where I wanted them to be by the end of the program, but in the end, they created beautiful Web and Mobile applications as final projects that blew my mind. On the last day of the program, they assured me that I did my job. Many expressed that I was the best teacher they ever had. They loved my integration of fun and learning in the classroom, my ability to include everyone, as well as the dedication I demonstrated to ensure that all their questions were dealt with.

New York on Tech

My experience with Girls Who Code made me realize how much I forgot how gratifying teaching could be. Although the time commitment can be daunting, there is no other feeling in the world than knowing that you have done your part to help empower someone to be the best that they can be. While I do not want to pursue a full time career in teaching, I want to continue to equip young people with the skills that are necessary to lead successful careers. Motivated by my experience with Girls Who Code, I applied and was accepted as a Volunteer Instructor for the 2016-2017 school year with New York On Tech (NYOT). Similar to Girls Who Code, NYOT is a program in which High School Juniors and Seniors can learn the fundamentals of Computer Science and Web Development.

Hear Me Code

Before starting the summer at Girls Who Code, we had to complete a training with core staff members of the organization. During this time, I heard about a group in Washington DC called Hear Me Code from one of the staff members, who explained to me that she learned Python from this group when she lived in DC. She also told me that it is an all women group, and members were encouraged to teach what they have learned to new members as they progress to higher levels of the course. This was the punch line that made me sign up to me a part of Hear Me Code. I wanted to be able to develop my skills in explaining technical concepts, and being a part of a community like this will help me do so. Although I live in NY, I travel to DC to participate learning Python when classes are available, and would soon start giving back to the group as a Teaching Assistant and Teacher in the next few months.

T-30: Interview Prep Plan

Although I have not been blogging, I have been somewhat busy and had distractions that kept me away from developing in JavaScript. Reflecting on this made me realize that I have a hell of a lot to complete in the 32 days prior to my interview. I spent the past couple days researching how I should go about preparing for this interview. I have even planned my daily activities for 30 days and entered them on a calendar, so that I can visualize my progress. These activities include the review of technical concepts in JavaScript, Algorithms and Data Structures, and Web Development.

September will certainly a rough month for me since I have an impending surgery in the next couple of weeks coupled with the pre and post-op doctor visits, but you know what? I know can do this! Time to get cracking!

Resources

Below is a list that I have compiled in the last couple of days. I am certain as the time goes by this resource list will change, so look out for the updates I make, hopefully daily, about my preparation for the technical interview.

Online Guides and Tutorials

  • Haseeb Qureshi’s post on studying for a technical interview: I first heard about Haseeb at a NY Javascript Meetup I attend from time to time. He presented on a few algorithm topics, including Big O, Scalability and Recursion. I was blown away by his ability to articulate the concepts, and intrigued by his story, so I reached out to him in a direct message on twitter for some advice on how I should go about preparing for this interview in a month’s time. He was really quick in responding, and passed along this blog post which I found quite helpful. I will be referring to it daily, checking things off concepts as I complete them.

  • Princeton’s Algorithms Course on Cousera: This course was recommended on Haseeb’s blog.

  • Python for Data Structures Algorithms and Interviews Course. As an instructor for Girls Who Code, I had to be prepared to teach courses in Python, and purchased a beginners course on Udemy that was taught by Jose Portilla to help me with the fundamentals. All I can say is that Jose Portilla is the man! This Data Structures and Algorithms course is a sequel to his beginner’s course, and no words I use an explain how impressive this course is. Although this course is delivered in Python, his explanations of the concepts are so concise and easy to understand.

  • Advanced JavaScript Course: This is a Udemy course that is taught by Asim Hussain. I purchased this course sometime ago, and was really impressed with the content and structure of the course. Asim does a remarkable job on touching the “nitty gritty” nuances of JavaScript that are sometimes difficult to explain. Since my language of preference for the interview is JavaScript, I want to be as much prepared as I can be for any JavaScript curve ball questions.

Books

  • Cracking the Coding Interview: 189 Programming Questions and Solutions by Gayle Laakmann McDowell: The first time that I heard of this text was when I was a student at Hack Reactor. It seems to be the bible for anyone who wishes to have successful technical interviews. This book was also one of the texts highly recommended by Haseeb and the recruiter of the company that I will be interviewing with.

  • The Algorithm Design Manual by Steven S Skiena: This was one of the texts that was recommended on Haseeb’s blog post. A few other posts from other sites praised the organization and delivery of content of this book, so I decided to rent an electronic version of the text from Amazon. I am not sure how much of this book I will be able to cover in the short time frame I have, but I definitely plan to peruse its contents from time to time.

  • Learning JavaScript Data Structures and Algorithms Paperback by Loiane Groner: Many of the algorithm books are written in C++ or Java. I wanted a resource that can help me visualize concepts in JavaScript, hence my reason for purchasing this book.

Other

  • RescueTime: I plan to track the amount of time I spend studying using the various resources. RescueTime is an app that tack the amount of time that you spend on particular websites, and editors such as sublime. I hope this this app helps me to stay focused as I plow through the remainder of my prep time.

  • Typing Club: Typing speed is crucial to being successful in this type of interview, since I will have a certain amount of time to answer questions. I decided to commit 1 hour a day to learning to touch type so that I may improve my typing speed. I know that I tend to be shy when typing in front of others and that tends to slow down my typing. In general, I will also try to talk loudly as I type so that I get into the habit of doing so before the interview.

  • Resource materials that were sent out to me by a recruiter of the company.

Today, is officially 30 days prior to my interview, and I plan to spend it by reviewing some JavaScript concepts, just so that I start thinking like a JavaScript programmer again. Tomorrow, I will let you know how it went.

Comments