Settings

Theme

Ask HN: What projects should be on every developer's "bucket list?"

11 points by FireSquid2006 a year ago · 20 comments · 1 min read


By this I mean what project should everyone build not because its useful or new, but because the process of building it forces you to learn something new. Some examples I've heard are your own programming language or a simple implementation of a database.

austin-cheney a year ago

* Recursive file system management tools. Most developers cannot navigate a tree model and cower in great fear

* performance analysis/monitoring tools. Most developers are astoundingly bad at performance and then lie about it with weird unfounded guesses

* markdown to html parser or the opposite. Most developers have no idea the actual cost of involvement required for basic string parsing and wrongly believe it’s free

* network proxy. Aside from authentication this is mind blowingly simple. Most developers will supremely over engineer this

* API documentation. In a world where the average developer struggles to write an email actually describing inputs, purpose, and outputs clear enough for a stranger to follow can be quite the impossibility

ostaquet a year ago

A video game. Any kind of video game.

It is fun to develop, rewarding and the dynamics inside the code are always interesting (input from the player, performance, graphics, etc).

Even a simple game that can take an afternoon or a day to develop bring some fresh air.

mooreds a year ago

I think writing a book about something technical. Either self-published (I like leanpub) or through a publisher. Doesn't have to be long, even a 30 page ebook is a big effort.

I have done this a few times and you learn so much and appreciate so much.

Other than that, I think it really depends on where you are starting. If you are a webdev, building an MVC framework. If you are a system programmer, building a basic HTTP.1/1 web server.

  • FireSquid2006OP a year ago

    How do you know that you know "enough" on a topic to write a book on it?

    • mooreds a year ago

      My process for any book I'm thinking about writing is:

      - write out 10 titles for blog posts on the topic

      - write 1-2 blog posts (this lets you see if you have interest/expertise)

      - do a bit of research to see if someone else has written on the topic (some googling or reddit searching

      - write the rest of the blog posts

      If you can't write 10 blog posts about a topic, then you don't have either:

      - the interest in the topic

      - the knowledge in the topic

      If no one else has written anything about the topic, it might not be worth writing about, but you also want to make sure your take is unique enough to be worth your effort.

      -

    • brudgers a year ago

      Maybe by researching until it feels like you do? I mean sometimes writing can be a learning process, not just a teaching one.

dgunay a year ago

Doing a programming language/compiler was very educational and did a lot to demystify computers for me.

I would also second the recommendations to write a game. If for no other reason than the fact that it is some of the most fun programming there is, you usually get to flex muscles you'd never get to in a boring web dev job.

Lionga a year ago

A ProjectContractChargingPeriodProjectAccountReferenceVMFactoryBuilderStrategy Implementation

mikewarot a year ago

Text editor, compiler, BASIC interpreter, virtual machine emulator, CRUD application, web server, Lisp interpreter, Forth Interpreter, SQL database application.

Repeat the above as gui applications, and on the web.

meiraleal a year ago

An ERP and a blog engine with the first post being about it

readyplayernull a year ago

Automation tools for your own use. I did my own job offer web scraper. I've saved lots of time and pain automating work.

jryan49 a year ago

A video game engine

yen223 a year ago

An overdesigned, overengineered personal website

  • usbsea a year ago

    Make that 6 iterations of such a site, one using wordpress, one using HTML and VIM and no tools, one using an SSG, one using k8s on 4 solar-powered rpis, one using a home-made CMS, and one written in Rust from scratch. Each one with a blog post "Why I...".

fluffyspork a year ago

JPEG codec

MPEG 1 codec

Minimal HTTP server of actually used features.

bjourne a year ago

A raytracer and an emacs mode.

chistev a year ago

An ecommerce website.

Hashex129542 a year ago

Bots

coldtrait a year ago

A Todo list /s

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection