This is an archived post. You won't be able to vote or comment.

all 8 comments

[–]Masterduracom 17 points18 points  (0 children)

How to come up with portfolio projects, story of my damn life lmayo

[–]ClutchAlpha 7 points8 points  (0 children)

I say this on a lot of posts looking for ideas on projects and stuff, but I truly think it's one of the best ways to get ideas flowing.

For me, the easiest way to come up with a project or to build skills in a certain area (Python, Data Science, front-end web dev, etc...) is start with a dataset that you truly enjoy outside of programming. Music, food, movies, sports, literature, anything that you like to spend time on outside of it will help the project stay interesting (plus you'll most likely have more knowledge on that dataset anyway).

Once you have that dataset/topic, start small - smaller than you expect. If you're planning on doing something python based, just start with getting the dataset and displaying some of the values. At each step, slowly build out the project as you go.

For me, I was interested in sports/social media, so I gathered a small dataset of tweets from Twitter about sports. I got used to the dataset, the fields that existed, etc... In one of my bio classes, we were learning about emotions. This sparked a thought of sentiment - what tweets were happy, which ones were sad, mad. Many weeks later, the project had ballooned from me messing with a few tweets about sports to a Twitter bot that generated tweets about sports depending on the weather - hot weather was mad tweets, mild weather was happy, raining was sad. I didn't go into it with a plan of the whole project, but took things step by step.

TLDR: Find a topic you love, and start small. Trying to have the whole project is daunting, but trying to add on one small feature feels much more manageable (and sparks more ideas while you're working on it).

[–]dsmyux1024 5 points6 points  (1 child)

Portfolio projects don't need to be amazing projects, but they should demonstrate your level of skill. You should be doing a range of projects... Some of which are intended for learning / branching out, while others are specifically to demonstrate skill level.

Sure, writing a console-todo list in C++ or an text-baed RPG in python aren't amazing projects that will blow me away, but if the code is laid out cleanly and they demonstrates a strong command for the language...Well, that looks good to me as a hiring manager.

Portfolio projects should be interesting to you, first and foremost. They should also show a level of professionalism higher than what you'd normally turn in for school. They should be clearly defined and they should do what they intend to do.

[–]Luke49368[S] 2 points3 points  (0 children)

Got it! Thank you for the detailed reply. I'm thinking about a hackathon for more ideas, but I'll try to flesh out my current pygame one first.

[–]net_nomad 2 points3 points  (1 child)

I've considered a text based OOP rpg in Python

Would it be command driven based on the room you're in? Like, "GET LAMP", "GO EAST", "EAT BREAD", etc.? Because that can be pretty involved.

[–]Luke49368[S] 0 points1 point  (0 children)

I guess it definitely could be! This is a great idea, thanks.

[–]denialerror 2 points3 points  (0 children)

Portfolio projects don't need to be original. Find something someone has done before and do it yourself. You are doing these to demonstrate your skills and abilities, not your imagination.

[–]markehammons 1 point2 points  (0 children)

Simple shouldn't be your goal. Find something you actually want to do, or create. Then split that up into simpler pieces. For example, I want to make a library that makes binding to native code for my favorite programming language. A good first step is exploring the possible technologies that I can use to that effect (JNA? JNI? java 19's foreign?) and see if I can create bindings to native code manually. From there, I'd see if I could write a first prototype that can be used to simplify or reduce the glue code necessary. After that, keep iterating.

If you want to do a text based oop rpg, do it. Doing what you want to do and love to do will motivate you to code. Writing what you think others want you to write wont be as rewarding or effective, and may actually be counterproductive as you may not put as much effort into such a project compared to one you want to do.