3 Things I Learned From Starting My First (Real) Side Project After College

http://www.moocsearch.net/#/

I always wanted to start a side projects during my time in school. However, every time I attempt to begin a side project, I will first look at tutorials to try to understand the entire tech stack implementation clearly before actually starting the project. It will take me so long to even start a project, that I end up getting stuck before I even began. Therefore, a lot of these tutorial become my “side project” and I end up with a pile of ideas sitting in my mind that have not been implemented.

In this article, I want to share my experience in creating a side project, what I initially thought it would be, what it actually became, and what I learned from the process, ending in an initial launch of my project MoocSearch.

MoocSearch is a search engine for online courses. It gathers the best searches from sites such as, Udemy, Udacity, and more. It is like Momondo but for online courses.

Here are 3 things that I learned from starting a side project:

  1. Start the side project right away, instead of planning every single detail of the project ahead.

Before I start a side project, I will always look at all the tutorials on the technology that I want to implement in my project, in this case, Udemy and Udacity. It not only increases the amount of time it takes to even start to create a side project, but also demotivates me because I get overwhelmed by the vast amount of information connected to the implementation of a new technology/framework. Moreover, by the time I finish watching the tutorials, I still need to re-watch it again to learn through practice and become familiar with implementing the technology. Tutorials are a great source of information when starting on a subject that you don’t know but relying on it too much when starting a project, will limit the initiation of your own creative ideas beyond the scope of the tutorial instructions. Secondly, a lot of tutorial will start by creating a boilerplate application, such as a To-Do application, and walk the users through step-by-step on how to implement it. This makes the users feel great after finishing the project because they will code along and feel a sense of accomplishment. However, after the end of the tutorial and I start to create my own application, I often feel at a loss of not knowing how or where to start on the application. Instead of watching the entire from beginning to end before starting your side project, watch the tutorial while creating your project to enhance the technical capabilities that you may be missing. This will make you understand not only on how to implement the technology, but also refine your problem-solving approach and skills in various scenarios. When I started on MoocSearch, I did some research on whether I should implement the application starting from front-end or back-end. Then, I created my first crawl on the project while I was looking at tutorials on how to crawl data from websites. Starting from somewhere, sometimes anywhere, decreased the time spent on planning for the project into doing, and I had the tutorial to guide me if I get stuck instead of leading the project that I was supposed to lead.

2. Don’t think too much about scalability (yet).

In an academic setting, and especially in interview questions, we are asked to think about scalability. “Is this algorithm good enough?” else we will try to remedy this and focus so much time on continuous integration, testing, micro-service architecture, etc. I spent hours trying to learn new, shiny JavaScript framework and tools, instead of actually building the product.

I treated my project like a practice for grasping a new technology, and it deterred my focus on executing the overall strategy.

The learning curve is steep, and it decreased my productivity in working towards the end goal for the project plan. Instead, I should utilize technology that is comfortable and efficient, so that I am able to create the side project as fast as possible and push to production, followed by further iterations. If you want to use side project as a playground to learn new technology, I recommend creating a boilerplate application from scratch, so that you can focus more on technicality implementation rather than a project with the purpose of addressing a solution to a problem.

3. Have a landing page and promote your project from the beginning.

I initially thought that showing a landing page or marketing your project to the world is a phase after you finish creating the MVP. However, a project is never perfect, and you will never be 100% satisfied with the MVP. You will spend hours creating the ideal MVP and many more hours coding that ideal MVP to life, but end up finding out that the project doesn’t work with the crowd you’re aiming for. You will lose a lot of potential users because you are not able to show them a finished prototype. Having a landing page makes it easier for users to understand what you are trying to create, either potential users or potential employers. You can also keep an email list of interested users and send out periodic updates on the status and progress of the project. When I was on the process of making MoocSearch, I did not create a landing page. When I attended Dev Week 2018 in San Francisco to network with potential employers, the question I often received was, “What are you working on now?”, “Is there any side projects that you are working on?” I often telling them about the side project that I am currently working on and explain to them what the project is about. However, this is all conceptual, with a landing page they would be able to see more illustrative and concrete ideas of what I am trying to create. Furthermore, a landing page allows you to create an email list and you can send out updates that your project has been completed. Immediately after, you are able to garner instant feedback regarding the prototyped ideas that you created so that you will not waste time on something that doesn’t work and invest your time on suggestions that will. You should talk about your project along the way and understand whether the problem that you are solving is “viable” and “crucial”.

There are still many things left to do in the development process for MoocSearch, including adding user features to rate courses, filter selection, incorporating user accounts in a real database, improved UI design, etc. However, I am proud that I have learned to implement a search engine system launched through a virtual host cloud DigitalOcean. This is a humble article of what I learned from my mistakes and discoveries when creating this side project.

Thank you so much for reading this article and I hope you learn something new from starting your own side project. Comment below what projects you are working on, and things that you have learned from creating your own side projects!

Thank you so much to Aeri for helping me proofread this post.

See more examples of interesting side projects on my personal website!