Skip to main content

The CASE Method - My First Technical Interview

By Jisan Zaman

Case cd14i

The following post was originally published by one of our recent students, Jisan Zaman.

So it’s been 2 weeks since the end of Fullstack and the last two weeks have been a flurry of activity. Right after I posted a status on Facebook that I am looking for a web development job, I’ve had more leads on jobs that I can count and it’s been a struggle just to follow all leads and also keep in focus how to improve as a programmer as well.

Therefore, I’ve come up with a method that’s given me some organization. I call it following the CASE method. Or maybe, taking it CASE by CASE basis. Or other metaphors that can be used with CASE.

Here’s what CASE stands for: C(ode), A(pply), S(tudy), E(xercise). And here’s the breakdown of how I plan to do it every day:

Code – Work on a project and code everyday. Pushing at least 3 commits to GitHub everyday, which would translate to coding at least 3 substantial features.

Apply – Apply to 1 job every day, this includes getting a contact for the company, writing a cover letter, editing resume (if needed) and then sending it out to the company as well.

Study – Studying for the code interview has been hard but there have been some great resources I’ve been exposed to. And my plan is to practice and solve about 5 problems each day in this site: http://oj.leetcode.com/problems/.

Exercise – This is something that I sorely need as I ignored it for the good part of 8 weeks while at Fullstack so I’ve been trying to run 6 miles a day and hit the gym everyday. If your body is good, your mind will be good.

And while I’ve definitely NOT been able to do everything everyday, it’s given me a good structure to the day as I go through this job hunt.

Also, my friend Migi suggested to me a different version than a straight up to-do-list. He suggested the 1-3-5 approach to the daily to-do-list, where I do 1 big thing, 3 medium things, and 5 small things everyday. It’s a great way to prioritize one’s day. But it’s also good to be able to be flexible in your to-do lists as sometimes the to-do-list you make in the morning turns very different as you move through the day.

This is not the best scratch of the to-do-list as I hardly studied today, but it was great to get an application done that required quite a bit of coding and refactoring.

I also think it’s great to have unfulfilled to-do lists because it suggests room for improvement for the next day. At the end of Fullstack, David, one of the instructors, said to us, Go for No as a way to approach the job hunt and be a better programmer. Because if you go for no, or the rejection and the spirit of continual improvement, you’re basically turning the tables on the game and making the job hunt to be a little more fair for you.

This is definitely the attitude I am going to double down on after technical interview, which I basically bombed. After studying for a good two days on the fundamentals of JavaScript, prototypical inheritance, linked lists, binary search trees, and class instantiation, the interview surprised me with a question about how to implement a math function that already exists in JavaScript.

However, this just taught me to be more prepared for the next interview and not make the same mistakes again and now I am looking forward to getting more terrible interviews, because that would just mean I am that much closer to acing it the next time.

Over the last 4 months, I’ve definitely realized that persistence, practice, and iterations are the key to success in programming, and in general LIFE as a whole. And while I am certainly not the most brilliant of programmers, I do believe that I have the capability to work hard, learn fast, and always create a better product after iterating over it more than once.

So here’s to the CASE, 1-3-5, and Go for No approach. Hopefully, I can stick to it.

“Discipline is the bridge between goals and accomplishment.”