29 votes

Topic deleted by author

15 comments

  1. nacho
    Link
    I think the best personal projects to show off are things you use yourself. The process from idea to implementation as a way of simplifying or enhancing your own life is what shows that you use...

    I think the best personal projects to show off are things you use yourself. The process from idea to implementation as a way of simplifying or enhancing your own life is what shows that you use code to solve real needs.

    As you say, of course it's even better if you make a personal project that not just you, but someone else also benefits from. Example: on reddit a lot of the folks who code reddit bots/scripts/tools while modding use that as a professional platform. One of the subreddits I've moderated has its own chrome extension with a host of different tools and an associated web portal. Even if only the mods use such a portal, that's something amazing to put on your resume.


    Data visualization or interfacing is always both useful and seems very impressive. That's the most useful way for most people to have large data sets become accessible to them. It's also often a way to cut huge costs or risks.

    For example, I developed a testing environment for seeing the impact of different regex expressions to actual conversations. How do you prevent an internet fight by cutting the comments that cross the line and spark them?

    If you can gauge false-positives for automod conditions on reddit, and identify phrases that cross the line and lead others to do the same, that's powerful stuff for a mod team. My testing environment is visual due to the volume of data: A display of a bunch of reddit comment trees with a simple but powerful interface that shows what branches would have been prevented by your suggested automod conditions. It also lets you filter and sort the comments affected by a condition in other ways, like by the phrases right before and after a tag, number of users using each phrase, upvote counts, number of children etc.

    I could present the working framework, and how this in real life actually functioned and impacted a large subreddit's moderation. I pitched the idea for expanding the test environment to my employer. The idea went up the corporate ladder and they bought the code/idea I'd written on my free time.

    A development team has essentially built it into a proprietary testing environment for various moving parts of our code as we deliver complicated tech/networking solutions to business customers. None of this would ever have happened unless I had both a real-world application to show to, and code working in practice. The benefits weren't a pipe-dream; the proof-of-concept was right there.

    Needless to say, both the initial sale and then ensuing raises/promotions at work have helped my career quite a bit. Pretty much whatever I'll do in the future or however many employees I oversee/manage, this story is what'd be the topic of future job interviews.


    Creating something you use yourself is what will make a project fun.
    Data visualizations are a huge area where almost any company could benefit from proprietary tools to quantify and make use of information they already generate.
    Real-life applications where others use/benefit from your project are a big strength.
    This means that you'll have to find a project idea for you.

    10 votes
  2. Celeo
    Link
    I find myself in the same boat all the time. The best times I've had programming were when I fixing a problem that I myself had. The main place I've drawn ideas from for projects is my hobbies,...

    I find myself in the same boat all the time. The best times I've had programming were when I fixing a problem that I myself had. The main place I've drawn ideas from for projects is my hobbies, namely gaming.

    I first started programming for other people by making Minecraft service plugins for Bukkit. I started with a simple plugin that punished people who logged out in the middle of a fight to get past getting killed, and moved on to more complicated things, eventually to a plugin that allowed creating scripted events (i.e. user hits block, some other blocks move, message is played, etc., before command blocks were a thing). I spent years and years working with EVE's multiple APIs, which is also where I got into webdev.

    Use programming to further you other hobbies.

    8 votes
  3. [2]
    mrbig
    Link
    Maybe an awesome mobile app for Tildes? Or a command line interface, like the Reddit Terminal Viewer? I don't know if those are sexy enough, but they'd certainly be cool for tilders (I'm referring...

    Maybe an awesome mobile app for Tildes? Or a command line interface, like the Reddit Terminal Viewer?

    I don't know if those are sexy enough, but they'd certainly be cool for tilders (I'm referring both to you and your potential users).

    5 votes
    1. [2]
      Comment deleted by author
      Link Parent
      1. Celeo
        Link Parent
        There is no API at this time. It's planned, but there's a lot of work that has to be done before it enters a planning stage.

        There is no API at this time. It's planned, but there's a lot of work that has to be done before it enters a planning stage.

        5 votes
  4. ave
    Link
    Are there any projects you wrote before that you look back and think "oof, that thing was a big mess of code"? If so those might use a rewrite. That's not always fun, but it's rather satisfying to...

    Are there any projects you wrote before that you look back and think "oof, that thing was a big mess of code"? If so those might use a rewrite. That's not always fun, but it's rather satisfying to see how much you improved since then.

    In addition, I always found it to be fun to work with game modding and console hacking (as long as you don't interact with the toxic communities). The techs you use and plan to use don't make this as easy, but if you're okay with learning C, C++, C#, Lua etc, you can get pretty far and have tons of fun.

    Perhaps look through your daily workflow and see if there's anything you can simplify. I noticed one today: Authy is great (esp with the backups to server and sync between devices), but it's not open source and doesn't support custom icons, search or folders. So I might make a project like that that solves my problems. If you want to make something like that, go ahead.

    3 votes
  5. Vadsamoht
    Link
    What do you enjoy doing outside of programming?

    i just, for the life of me, cannot think of anything i want to build that actually excites me or that i actually want to work on.

    What do you enjoy doing outside of programming?

    3 votes
  6. moocow1452
    Link
    Maybe you can take your coping skills and tinker with Robotics? Pretty wild stuff going on with Raspberry Pis, Beaglebones and other intergrated computers, plus it's fun to show friends something...

    Maybe you can take your coping skills and tinker with Robotics? Pretty wild stuff going on with Raspberry Pis, Beaglebones and other intergrated computers, plus it's fun to show friends something that you made that's not entirely on a screen.

    3 votes
  7. bme
    Link
    If you use a computer for work and don't have a million things that you hate about your own workflow then you need to get mad. Then get on solving those problems.

    If you use a computer for work and don't have a million things that you hate about your own workflow then you need to get mad. Then get on solving those problems.

    3 votes
  8. spit-evil-olive-tips
    Link
    Sorry, but a buzzkill answer: the things you can build as a junior dev are mostly not fun. If you read Hacker News or anything similar, it's easy to get overwhelmed by the "check out this amazing...

    Sorry, but a buzzkill answer: the things you can build as a junior dev are mostly not fun.

    If you read Hacker News or anything similar, it's easy to get overwhelmed by the "check out this amazing thing I built!" posts and think that's what most development consists of.

    For every 1 "Show HN" post that hits the Hacker News frontpage, there's 10 projects that are just as interesting that don't hit the frontpage, 100 projects that could be just as interesting except the developer doesn't have time to finish them, and 1000 projects that never even get off the ground because a 9-5 developer has an idea for something to work on but no time to work on it because of other priorities in their life.

    So honestly, if you're a junior dev, my advice to you is build crap. Build things that are unoriginal. Build things you think are boring. Build projects where you'll look back on them in a year and think "wow, that's terrible". That's the essence of growth, to look back at your own past self and realize "holy crap, I had no idea what I was doing".

    Build a twitter clone. You think you understand how twitter works and that re-implementing it would be boring and simple - but until you write the database query (or queries) that actually expresses "here's how to figure out what to show user X for their front page", you don't really know how it works. It's more complicated than you realize.

    Your first project, or maybe even your first 5 projects, won't be "Show HN" material. They won't be "show your friends and they ooh and aah and ask how to install the app" material. That's normal. The key difference is, most junior devs go through that at a company, where their crappy first attempts never see the light of day.

    Hacker News and other forums will give you the impression that if it doesn't get 100 upvotes it's wasted effort and why even bother. Don't let that mentality infect you.

    3 votes
  9. [2]
    nic
    Link
    Track who opens your resume!

    Track who opens your resume!

    2 votes
    1. [2]
      Comment deleted by author
      Link Parent
      1. s4b3r6
        Link Parent
        PDFs are an interesting point of attack. Well, kinda. You can have some PDF readers execute javascript if the user click a link or button of some sort. However, most PDF readers will give your...

        PDFs are an interesting point of attack. Well, kinda.

        You can have some PDF readers execute javascript if the user click a link or button of some sort.

        However, most PDF readers will give your users scary warnings if you include such a feature.

        Tracking PDF reads without user interaction isn't supposed to be possible, but is possible ocassionally when security bugs appear in reader implementations such as Mozilla's PDF.js.

        Tracking downloads on the other hand, is dead simple.

        1 vote
  10. jlpoole
    Link
    Open source projects that needs some love in the area of video surveillance. Looking into Shinobi which appears quite immature over Zoneminder which is mature and set in their ways.

    Open source projects that needs some love in the area of video surveillance. Looking into Shinobi which appears quite immature over Zoneminder which is mature and set in their ways.

    1 vote
  11. panic
    Link
    Why did you get into programming in the first place? What excited you about it? You could try working on something like that.

    Why did you get into programming in the first place? What excited you about it? You could try working on something like that.

    1 vote
  12. [2]
    Crespyl
    Link
    There's been a lot of good discussion already, but I'll add that a project doesn't have to actually be useful to anyone other than yourself to be fun, informative, or make a nice addition to a...

    There's been a lot of good discussion already, but I'll add that a project doesn't have to actually be useful to anyone other than yourself to be fun, informative, or make a nice addition to a resume.

    My favorite personal projects are things I've done purely for my own education and entertainment, like implementing some procedural tree-growing algorithm I read about in some paper, or later re-implementing the same program in functional Clojure instead of Java. To me, projects are most interesting when they have the capacity to really surprise me as I work on them, or go off in different directions as I find new angles to explore, so I tend to find that procedural generation, simulations, and chaotic systems make for good subject matter to pick a project from.

    Interested in web development or some front end framework? Maybe try implementing a 2D game of life engine, and then generalize it to other 2D cellular automata, you can focus on slick presentation and styles, or clever technical solutions to detect recurring patterns or improve performance for extremely large simulations. Bonus points if you decide to try letting multiple users interact with the same running sim via websockets or similar, or go out of your way to be slickly responsive to mobile and desktop browsers.

    3D graphics or game development? There's lots of material online about procedural content generation, ranging from simple textures to complex maps or 3D models, and the generator can be as simple as a command-line utility spitting out a PNG or as fancy as a real time interactive simulation. Ray tracers are a popular project for good reason, and if you've never tried to make one it's a fun experience to see everything coming together.

    The most important thing is that the project is rooted in some topic that you find deeply interesting, or else you may find it becoming tedious well before you've invested enough time to feel that it's worth showing off to someone.

    1 vote
    1. hoefijzer
      Link Parent
      Some added bonus points for the 3D graphics idea: Blender uses Python as its scripting language. I'd love a plugin that makes adding a grass field as simple as pushing a button.

      Some added bonus points for the 3D graphics idea: Blender uses Python as its scripting language. I'd love a plugin that makes adding a grass field as simple as pushing a button.

      2 votes