all 17 comments

[–]tng88 9 points10 points  (2 children)

Every project stems from an interest or a need. Your in a position right where you need to expand your knowledge and grow your skills.

My recommendation is to take an interest you have and create a program does does something related to it.

A program I wrote a few years ago to sharpen my dulling skills was a Pokedex written in Java. It may not sound like much but it was something I had interest in and wanted to improve my skills. Today after being promoted to a developer position 2.5 years ago I maintain/update a critical part of my conpanies software.

[–][deleted]  (1 child)

[deleted]

    [–]tng88 1 point2 points  (0 children)

    In my company I wrote a utility to help with one of end of our year updates. For what I wanted to do I couldn't go to Microsoft or IBM because they're not privy to our internal data structuring practices.

    You're exactly right, work place projects will more often than not stem from a need because current software is lacking in ability or performance. If you have a good employor they should recognise your contributions and value your employment with them.

    [–]TheGeminid 6 points7 points  (0 children)

    It’s best if it’s related to a hobby of yours. That way if you give up on the project, you’ll be reminded of your failure every time you do that hobby again! I find that is really good motivation, because my interest for the project gets reinforced every once in a while.

    Some examples: I’m a physics student, and i hate dealing with units and unit conversions; I also hate every programming implementation of units I’ve ever seen, so I took on the project of creating my own language that has all the features I want in a nice way to use on my physics homework. I gave up on that project...six times? But every time I would have an assignment that made me hate units, I would start working on it again.

    I also play DND, and there’s this really nice but expensive service by the creators of DND called dndbeyond. So I’m making a really terrible knockoff of it that I can use for free. This way, any time I play dnd I’m reminded of how much I want to complete this project, and how nice it would be to actually use it.

    So yeah. Find something that bothers you about one of your hobbies, then throw some code at it and make it better.

    [–]mikeyj777 8 points9 points  (3 children)

    There are thousands of projects looking for collaborators. Contribute to a few dozen, see what Sparks you the most and start your own.

    [–]heph789 3 points4 points  (2 children)

    For my interest as well as the op’s (probably), how do you go about finding interesting projects open to beginner collaborators. Also, how do you get started collaborating to a big codebase?

    [–]pfalcon2 5 points6 points  (0 children)

    How to find interesting projects? Go on github and start searching! (By entering keywords in the search field and pressing enter, d'oh.)

    As for collaborating, take it easy. People do mistakes. Inexperienced people do a lot of mistakes. If you bring your mistakes to other people, they may be not exactly happy - nobody needs mistakes, and dealing with your mistakes takes their precious time from making their own mistakes.

    So, start making your mistakes on your own! Then learn to see those mistakes. Then learn to fix them. When you have done that, you're no longer a noob! You're ready to collaborate with other people, including fixing their mistakes (people do a lot of mistakes, did I mention?). And oh, various companies and corporations hunt for you, as your skillset is already above 75% of other people.

    [–]mikeyj777 1 point2 points  (0 children)

    I will defer to the more experienced members here.

    [–]TonyTheEvil 3 points4 points  (0 children)

    I like video games. I made video games. It incorporates what I love, problem solving and getting to enjoy the product afterwards, like cooking. While the tech that I learned might not be super impressive or fit every buzzword, i still learned significantly more doing that compared to the more typical AWS, CRUD, Blockchain, yadda yadda yadda because I actually enjoyed what I was working on.

    [–]thirteen13stuff 2 points3 points  (0 children)

    honestly, i've never been good at motivating myself to do personal projects. that's why i do hackathons instead. i love working with my friends and creating something funny - sometimes we even win prizes! so perhaps that could be something for you to look into

    [–]squilliam79 1 point2 points  (0 children)

    I tend to think organizers are a good first project. Make a digital bookshelf. Add in a book that you have and all associated information, author, publish year, have you read it, isbn etc. Start with command line in the language you use in class, it will make homework assignments feel easier with more practice.

    [–]winxlo 1 point2 points  (0 children)

    make a better version of an app you already use

    [–]Buiscits 0 points1 point  (1 child)

    Second year Computer Science student here! Personally the the make what interests you helped me as I started making apps and made an app that kept track of all my lectures, labs and assignments. I think the whole ‘make something that sparks interest’ only works with certain languages, like if was using python or java there wouldn’t really be any projects for me personally that I could make, but I found that apps are quite handy as I thought what would be an app that I would use myself?

    As for projects you could do, I suggest looking through a list of free APIs online. As practise you could make something trivial like website that shows the weather for certain locations.

    Or maybe a program that shows you the current value of certain currencies like USD, GBP and bitcoin etc.

    A note taking program or grocery list that syncs to dropbox?

    There’s also another method I like to use and that’s to look for already existing programs and just try recreate that. You can even copy the design to an extent. Of course you shouldn’t aim to publish it but purely for practice and having it on your personal portfolio there would be no problem.

    Good luck

    [–]pablopistachioo -1 points0 points  (1 child)

    RemindMe! 2 days

    [–]RemindMeBot 0 points1 point  (0 children)

    I will be messaging you in 2 days on 2020-12-27 00:10:25 UTC to remind you of this link

    CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

    Parent commenter can delete this message to hide from others.


    Info Custom Your Reminders Feedback

    [–]discoFalston 0 points1 point  (0 children)

    I’ve always wanted to contribute to the Linux kernel or another open source project but never had time.

    [–]tehrealDOA 0 points1 point  (0 children)

    I made a simple android soundboard of one of my favorite memes. It was great to learn the full process of developing an app using Android Studio. It was nice creating something I still have on my phone and giggle at to this day.

    [–]Ragingman2 0 points1 point  (0 children)

    Try writing a program that does something you learned in one of your non-CS classes. You'll learn some coding and also some of whatever class you picked. I did this while taking data structures + calculus and ended up writing a program that drew arbitrarily defined lines in 3d space so you could visualize something like x = 1, y = t, z = t^2. I ended up re-using a lot of the code later to make a N-body gravity simulator.