Ask HN: Technical or coding projects that offer more than just 'practice?'

2 points by mattwilsonn888 ↗ HN
Going from a novice to intermediate coder was fairly engaging, and I still find problem solving for problem solving sake an interesting use of time, but its hard to motivate myself to work on a large scale project simply for the sake of practice. I feel I am qualified to be paid to program on at least a junior level, and doing a serious project for no pay which benefits nothing but my resume is not motivating.

It seems common to run into the problem: "If it's useful, it's probably already made by now." What are some projects one can work on worth more than just showing off?

5 comments

[ 3.2 ms ] story [ 27.4 ms ] thread
I usually find something that I use that already exists that pisses me off and make my own version that doesn't piss me off.

I've done this with a couple of things which have worked out usable over time and are part of my daily workflow. Most recent is a simplified browser-based replacement for GnuCash which is based on Sqlite and Go. I will publish it on github when I am happy with it.

I've been enjoying CodeCrafters. No affiliation, just think it's fun. Build your own Redis, Git, Docker, or SQLite in any language.

https://app.codecrafters.io/courses

Thanks for the shout out Jemaclus! What other challenges would you like to see?
That's a fun question. I'm not entirely sure. The only feature request I would have is maybe a few more hints or links to documentation. I'm learning Rust and tackling the Redis challenge, and I got stuck on one point because I don't know enough about how to parse strings in Rust. In Go or JS it would be very easy for me, but since I don't know Rust, I'm spending a ton of time poking around in some Rust tutorials and docs to find what I need.

But back to your original question, some random things that might be fun:

- A search engine (Elasticsearch?)

- A raytracer

- A LZW or GZIP compressor/decompressor

- IRC client/server

- Static blog generator (Hugo, Jekyll, etc)

Can second that those sound interesting to learn more about.