Live data from Hacker News

Ask HN: What projects did you build to get better as a programmer?

news.ycombinator.com

31–40 of 48 posts

Re: Ask HN: What projects did you build to get better as a programmer?

#31
My answer to this is different to others, so I'm not sure how useful it will be, but here goes:

When I approach a new creative coding project, it is invariably because I want to learn how to use a specific technology that I have heard of.

So, for example, I wanted to build a "real time" stack using RabbitMQ and websockets with Tornado. I also wanted to build a front-end with Backbone. These were all kind of new and cool at the time. So what kind of app would use this tech? How about an app where you can submit a "currently playing" where you are, e.g. in a nightclub or at a concert, and have people within a certain radius get live updates as they are pushed? This was a really fun project and it also gave me an excuse to dive a bit more into PostGIS and nginx than I had in the past.

Years later, I wanted to have a go with some of the cool machine vision tools I had been hearing about. I also wanted to have a go at building a front-end with Web Components. So I built an app that would let you build a specification with a nice UI and send it to a worker that would create a video using six ML models working together. This was a really fun project and also gave me an excuse to have a go building a lightweight Python JSON API backend I would later reuse quite a few times.

In both cases, the driving force was a perceived need that had arisen from my day job. Specifically, I was aware that there was tech out there that was rumoured to be able to solve problems I had or thought I would soon have, and I wanted to get a handle on what the "unknown unknowns" and "gotchas" were involved.

This was also what got me working with VueJS for the first time, a technology that does extraordinarily well at what it says it does, better even than I expected. (I think I built a vanity site for my music work at the time?). Vue became my go-to at my day job for the purposes, so much so that I found myself instigating a rewrite of an existing AngularJS front-end soon before I left the company. I feel very confident their AngularJS code has all been burnt since then.

I'm a Web developer so I don't know if this approach translates to other fields of Software Engineering. Web is one of those things where new tools are cropping up and being hyped all the time, and staying abreast of developments in the tech is kind of part of the job.

Re: Ask HN: What projects did you build to get better as a programmer?

#32
One thing that I'd suggest is no matter what you build, deploy it for real - don't stop after running it locally. Buy a cheap domain for all of your projects, and give each project a subdomain. Put a version of what you build into "production", so you can get a sense for what it takes to release software and update it.

Also, reflect on everything you build and think about what brought you joy. Specific trends ebb and fade, but understanding what you're passionate about will allow you to always apply yourself to learning new skills (while also having fun). Enjoy!

Re: Ask HN: What projects did you build to get better as a programmer?

#33
One recommendation I don't hear often is build something that will stick with you. Keeping with the apprenticeship/tooling idea, I would build something that you will use over time.

You will be forced to keep backwards compatibility in mind, you will see what makes a process have friction, you will see odd bugs from a random edge case you will have to fix or discover. Treat yourself as the customer and build a tool you can use to help yourself out.

It is almost recursive in building tools to help yourself learn, and using those tools to learn.

Re: Ask HN: What projects did you build to get better as a programmer?

#35
Build an automated trading system. It doesn’t have to make you a fortune. But it should be automated, connect to other services, and risk your own money. This captures a lot of programming - consuming market data, making decisions, checking against risk levels and your stateful position, reconciling local and remote state, state machines, etc. But most importantly it puts your money at risk, so you better get it right. That’s the most important thing to learn in programming.

Re: Ask HN: What projects did you build to get better as a programmer?

#36
I wrote games. Originally in BASIC, for the the common 8 bit machines (PET, TRS-80, Atari). But also (hand assembled) machine language.

My early ML adventures were terrible. My early Space Invaders clone was awful. For SI, I couldn’t figure out how to tell one alien from another. So I stuck a different character in the middle of each one. Just dreadful stuff.

Moving on to college, I moved from a lowly 8 bit to a multi user mainframe. And from BASIC to FORTRAN. This certainly alters one’s perspective on what a computer means.

Nevertheless my friend and I tried our several attempts to write a rogue clone. We wrote that at least 4 separate times, across different mainframes and time share systems. Arguably our most successful was in our second Pascal rewrite (our first stab in Pascal was also dreadful). But we kept running out of resources.

Write to your passion. Because when you write to your passion, you focus on making it work. And when you find you can’t make it work, now you can focus on making it better.

None of those projects over all those years were ever finished by any stretch of the definition. We were far to busy making stuff up and breaking things.

Re: Ask HN: What projects did you build to get better as a programmer?

#37
post #33

One recommendation I don't hear often is build something that will stick with you. Keeping with the apprenticeship/tooling idea, I would build something that you will use over time. You will be forced to keep backwards compatibility in mind, you will see what makes a process have friction, you will see odd bugs from a random edge case you will have to fix or discover. Treat yourself as the customer and build a tool y…

I agree. I accidentally ended up using the very basic todolist in my starter kit https://github.com/mcapodici/firestarter for all my todos! And noticed the ui and ux issues as a result.
Post reply on HN