“Now, how am I actually going to do this?”
By: Kate Christensen
Tags: Technology, Development, Data Science, Software Development

“Now, how am I actually going to do this?”

You’ve got your great project idea, now what?

Photo by Med Badr Chemmaoui on Unsplash

In my last post, I talked about how I arrived at a project idea for my similar knitting pattern finder. This week, I’m going to talk about the next steps after you’ve arrived at a solid project idea.

Great, you’ve now got your project idea! That can be a remarkably hard step for a lot of people, so pat yourself on the back. Now, you have to think about how you’re going to answer your question or build your program.

Research

The first step is research. There’s no need for you to go reinventing the wheel. If someone has already written an article about how to do a specific thing, it’s better for you to find it now than for you to work weeks on your project just to find out someone’s written a nice, tidy tutorial you could’ve just followed. In my case, I started by reading about collaborative and content-based recommender systems, and how they all worked. I also started looking at the Ravelry API documentation to see what data I could access through the API.

Now with all this said, there is something I need to point out:

Do not spend too much time on this step

We’ve all gone down Wikipedia wormholes and wasted hours reading about all the unsolved problems in linguistics. While you certainly don’t want to dive in blind, you also don’t want to hide behind your research so you never actually start coding. Ideally, you want to be at the place where you can complete this next step:

Create a roadmap

Right after you came up with your project idea, your project roadmap might have looked something like this:

Find data Clean data Try models ???? Profit

It’s ok if that’s where you start, but you’ll definitely need to do better than that if you actually want to get past the idea stage. When you’re in the research stage, your objective should be to figure out how to make those steps more concrete. For example, instead of “find data,” that step might turn into, “make these API requests,” or, “scrape data from these websites.” The more concrete you can make each step, the better off you’ll be.

With that said, you don’t have to figure out every step along the way. It’s ok if you’re still figuring out how to clean your data while you’re collecting it. As long as you have a concrete idea of your next steps and a clear picture of your desired outcome, you have enough figured out to start working. The goal of a roadmap is to focus your work (so you don’t spend two weeks on something you end up throwing out) and to make a potentially intimidating task less intimidating.

While it is important to have a project roadmap, that list of steps cannot be a rigid, inflexible list. Unexpected errors come up, there’s some weird data feature you didn’t know about when you started collecting data, the data you’re collecting doesn’t have all the features you initially wanted, there are so many ways a project can get sidetracked and potentially derailed. For every step you complete, there’s bound to be at least three issues you have to solve. That’s why you have to have an adaptable roadmap. Even when these issues come up, you still need to have that map so you don’t get lost in the details and lose sight of your project goals.

I’ve got my roadmap, now what?

Now that you’ve got your project roadmap and you have at least a general idea of how you’re going to complete your project, you have to do one of the hardest things of all:

Actually follow through and complete your project

We’ve all got abandoned side projects in our repos, next week I’ll talk about how I made sure this project didn’t become one of them.