Photo by luis gomes: https://www.pexels.com/photo/close-up-photo-of-programming-of-codes-546819/

3 Lessons I Learned from my first coding pet project

Miguel Andre Repatacodo

--

Everyone coaching “breaking into tech” is saying

“Build a portfolio” or “Do a pet project.” It’s a bit daunting to see the hundreds of lines of code from other people’s projects, so I’d like to share my experience doing a pet project for the first time. Maybe the value I gained is enough to entice people to take the step. Before that though,

what is a pet project?

According to Nixstech, “A pet-project is an individual (less often a group) project that you do to test your own hypotheses and/or put into practice a newly learned technology or approach. You can do this on your own, or involve friends and colleagues”

From my standpoint, doing a pet project is to practice and showcase proficiency in technology. It’s a way to build a portfolio to eventually gain work opportunities.

Here are 3 lessons I learned from doing my first pet project:

# 1 Development is multifaceted

Ever wonder who designs the websites you use? or who makes the sometimes-satisfying click effects on buttons you press? Or how a feature is programmed to work the way it’s supposed to? Me neither! End users like us won’t care how a piece of software is made, but all those tools are made by people who took the time to make useful software available. I learned, as someone who made a project solo, that I don’t like some areas of development (like Android UI). I think it’s important to learn these things about yourself to make better use of time, making sure to focus on projects you enjoy. At the end of the day, a pet project is supposed to be something you also enjoy. Who would stick with an unsatisfying task?

# 2 You’ll fill the gaps in your knowledge in a “practical” way

I say “practical” because I’m speaking from the perspective of someone who aims to break into tech. Before starting coding, a lot of you, or at least people like me would try to learn as much as you can before venturing into development. In my case, I first finished Caleb Curry’s Java Tutorials, (mostly) Headfirst Java, and Headfirst Android. This was the right move for me. Instead of scraping knowledge from every tutorial, book, and article when I came across a challenge, I knew enough background knowledge to understand problems and attempt to fix them myself. But I realized this: no matter how prepared I think I was, there’s bound to be gaps in my knowledge hindering me from solving things on my own, it’s reality. But I took a step back and reviewed. Why did I encounter the problem? Going through projects lets you identify the gaps in knowledge that matter to a developer; they’re problems that will occur. Before learning obscure high-level concepts, these skills matter just as much, if not more.

# 3 You’ll get a better idea of where to specialize

People say that niche equals value (i.e. higher pay). I have a different reason for trying to specialize.

The great thing about doing pet projects is that you have full control of what you do. Try to find tasks you enjoy, and see what kind of job it translates into. In my pet project, a simple Android app, I realized I liked (for the most part) the Android Ecosystem and SQLite. I liked using pre-existing components like Activities and Recycler Views for my projects; learning about the quirks of the ecosystem excites me. I like SQLite because I seem to enjoy managing databases in a similar manner. So my next projects will build on these two areas. For example, I’m looking into building a game on Unity with a friend. Much like the first lesson, there are some areas of technology you’d be more accustomed to and drawn to use.

By the way, if you’re wondering about what my first pet project was, it was an Android app called ProfFile. It’s not much, but I’m proud of it! I am open to criticism if any experienced devs would like to share their thoughts in the comments.

These are the lessons I gained, but people’s experiences differ from one another. Your experience might be different, so care to share yours?

--

--

Miguel Andre Repatacodo

I'm Computer Science student interested in Software Development and Data.