How I Secured An Internship With One Amazing Side Project

Dalvin Josias Sejour
codeburst
Published in
7 min readDec 16, 2017

--

Update: After 26K people viewed this post, I got the courage to go ahead and create a survival guide detailing my journey into tech along with tips and tricks to secure internships. The book is called “The Guidebook To Securing High Profile Internships” you can find out more on my companion website www.SecuringInternships.com . You can also grab a copy from Amazon & Barnes and Noble.

Courtesy of Giphy images

The hardest things as a beginner trying to learn how to code and get into the industry is starting.

In a world of startups and tech giants, programming has become the go to skill that everyone has been trying to get under their belt. Whether you are looking to make a pivot in a career, a student just starting out, or just need some encouragement, this post serves to show the power of a good old side project.

You Need Passion

I was just like you; I would go on sites like Codecademy, Udemy, or Youtube and have a burning desire to code. However, you get busy, your flame disappears and you fall off. Then, you realize it’s been a month and you barely learned anything!

Your first thought is to blame the tutorial, so you find another tutorial and the cycle continues.

The reason why this happens is because you lack passion or incentive to continue coding.

The primary purpose of coding tutorials is to take the basic knowledge and concepts and use it as motivation to create something of your own. However, many beginners spend their time doing tutorials, but shy away from taking off the training wheels and starting from scratch.

That was my problem, I am an Information Technology major and I had nothing to show for my “passion” for technology. I went the first three years of my college career with an empty Github account. This is equivalent to an artist not having a portfolio to show off their craftsmanship. With an empty repository, recruiters will not even give you the time of day because it indicates the lack of passion.

You Need A Project

In order to make programming interesting, like any other thing in life, you have to make it relatable.

In my case, I was waiting for my professors to make me a master programmer. However, when I realized that was not possible without effort on my part, I began to be proactive and start doing tutorials in my spare time.Then, I found myself in the tutorial trap. After that I discovered Application Program Interfaces (API).

Many of your favorite companies allow developers to use their products by connecting to endpoints, which you can use and manipulate. Using an API not only prevents you from reinventing the wheel, but also helps you learn a skill that is used heavily in the real world.

Coming up on my senior year, I needed a side project, so I started researching APIs that I can manipulate and have fun with. The worst thing to do is have an idea, but the API does not have the functionality to support it, so do your research, find an API and have a field day!

You Need To Be Dedicated

You cannot expect to be a programmer if you do not invest the time and hours to learning the skills. Like the CTO (Chief Technology Officer) of my previous internship always told me, “You got to put in those 10,000 hours.”

With a strike of inspiration and research, I came up with an app called Smart-Scanner which is an image recognition app that uses Instagram, Clarifai, and Giphy API together. I spent one to three hours a day working on this side project for two months during the summer.

You Need To Be Held Accountable

Feedback is a gift, if you aspire to be a software engineer, collaborating on code is an important skill to grasp. I encourage you to find mentors, peers, or users on forums that can help with your project, whether it be implementing code or testing functionality.

Hearing someone else say your application is awesome is really a confidence booster and helps make a project more solid.

While I was interning during the Summer, I met three engineers that would review my code and help me solve complicated bugs that I could not pick up on my own. I told them that I had a lot of ideas for small applications and that I wanted to fill up my Github Repository.

By telling them, I felt more motivated to keep working because I did not want to let them down and actions are louder than words. I was able to host my own personal website and create three mini projects in one Summer.

You Need To Know Your Project Well

When it comes time to start interviewing, be prepared to talk in-depth about the decisions you made in your code and be able to walk through your project on both a high level and a granular, technical level.

Recruiting season is typically from August to November for many major tech companies and I recently became a Finalist for the Code2040 Fellows Program. Thus, I was having back-to-back interviews with companies on a weekly basis. Most interviews for software engineering internships come in three phases. A phone screening with a recruiter, a technical interview with a software engineer, and a final round with a hiring manager. These rounds require different skill sets, but one common component is talking through a side project that one has done in the past.

You Need To Have an Open Ended Project

What is important about a side project is that it doesn’t have to be complete, but it should always be able to be improved upon. Find a sweet spot where the product is conceptually simple, yet the implementation is complex so you can continue adding on top of it.

If a project can be completed in a few hours you will give yourself a false sense of security that you learned everything about a specific programming language. If you make an open-ended project that is not rigid, you can add new technology and features when the time comes.

During this recruiting season I came across one truly unique company by the name of Stitch Fix. This company uses algorithms and stylists to send their customers personalized clothing options based on the customer’s preferences.

My technical interview with Stitch Fix required me to bring a project of my choice and do a two hour code pairing interview with a software engineer from the company.

Although I had stopped working on my side project for the summer, there were still features and functionalities that I wanted to add. So when it was time for the interview, instead of waiting on the engineer to give suggestions on what I should work on, I was prepared with my own.

Creator of Ruby on Rails

You Need To Seal The Deal

From an interview standpoint, Stitch Fix’s methodology for interviewing was totally different from the norm set by other companies. Most other companies make you go through a rigorous process to see if candidates know core computer science (cs) fundamentals and are a culture fit.

This usually involves a generic coding challenge that is initially sent to a candidate then a follow up timed coding challenge that is done in the presence of an engineer from the company.

Many companies lately have been experimenting with different ways to handle technical interviewing.

Maybe you are like me and had a tough time learning (cs) fundamentals and have a difficult time implementing data structures and algorithms on the fly. By having side projects, you make up for that by showing you are still passionate about the field and will not let a temporary boundary hinder you.

There are companies out there such as Stitch Fix who have alternative forms of interviewing practices that don’t hire based off whiteboarding and give you an opportunity to show off your skills differently.

In all my years of interviewing, this was one of the best interviews that I ever had. While over Skype, I shared my screen with the engineer and we began talking through my project and diving into the code. This form of interviewing allowed the interviewer to see how I coded and the mindset I had for certain implementations in my code.

During my interview, I used the Smart-Scanner project mentioned above and added Instagram authentication on the application live. Fortunately, we were able to implement the feature and I went on to the final round with the Hiring Manager.

After two weeks, I received word that I got an internship offer as a Full Stack Developer in San Francisco, California this upcoming Summer.

Conclusion

As cliche as it sounds, you make time for what you care for.

There is no real secret sauce or recipe to being a master programmer. However, if you want to do big things, you need to start off small and have fun with learning how to code.

Companies like Google or Atlassian give their employees 20% time to work on projects that they’re passionate about. Gmail is an example of what came out of this 20% project work. Let your imagination take control and just channel it into a small project, then you will be on your way to being a programmer.

Instead of starting from scratch, see if you can make a clone of a project that is already in existence and add on top of that. The important thing is when you catch the fire to start coding, you have to continue and put effort into a project that is worth it.

Book Promotion

If you like what you read today please comment, like, or share this post to someone. 💬 ❤️️ 🗣

--

--