Live data from Hacker News

The art of over-engineering your side projects

elsyms.com

261–270 of 272 posts

Re: The art of over-engineering your side projects

#261
post #185
post #176

The whole point of a side project is to over-engineer it! The thought of holding myself to deadlines and driving myself to "ship" is totally antithetical to the entire purpose of a hobby project. It's a welcome relief from the 9-to-5 constant necessity to cut corners and finish things without ever properly understanding them because there's no time. For my side projects, I actually want to go down rabbit holes. I wil…

HN is made up of two groups in ever constant warfare, the yin and yang, as it were- the group who thinks that programming should be fun, experimental and enjoyable, and the group that thinks that programming is a means to the end of getting a product to market and nothing more. Whenever a post from one group (such as the article) comes out, a post from the other (such as OP) will quickly appear. And everyone loves it…

Wow!!! this captures the essence of "Two schools of Thought" on Programming, the YIN and the YANG !!!!

> HN is made up of two groups in ever constant warfare, the yin and yang, as it were-

> the group who thinks that programming should be fun, experimental and enjoyable, and

> the group that thinks that programming is a means to the end of getting a product to market and nothing more.

> For what it's worth, I think that both perspectives are valid. It depends only on your goals.

Re: The art of over-engineering your side projects

#263
post #176

The whole point of a side project is to over-engineer it! The thought of holding myself to deadlines and driving myself to "ship" is totally antithetical to the entire purpose of a hobby project. It's a welcome relief from the 9-to-5 constant necessity to cut corners and finish things without ever properly understanding them because there's no time. For my side projects, I actually want to go down rabbit holes. I wil…

Agree fully. Personal projects let you experiment, they let you try things out to see just how hard or easy building that set of features you were contemplating is.

Now, if you personal project is intended as a gateway to your bootstrapping of commercial venture you _must_ make completely different choices in what/how you build (lean, and minimum useful/viable project) tec.

Re: The art of over-engineering your side projects

#264

Lots of times I use side projects as a way to explore new stacks, deployment approaches, etc. The goal of the project is not to deliver anything, it's to learn so that when I go to do my next "real" project at work, I know what works well and what doesn't.

Exactly. When I see a coworker start irrationally focusing on a new technology at work the first thing I think is "This person probably has no side projects to play with"

Or they're bored out of their minds and trying to make their work not be so much of a waste of time.

Most of the stuff I've seen done at typical development companies are intellectually interesting maybe to people who really started learning to code on the job, and generally don't have much experience. They're discovering new things every day, so it's fun! However, if someone has already few languages and various types of projects behind them, then the job becomes much less technically challenging and much more repetitive.

Re: The art of over-engineering your side projects

#265
post #17

Earlier quoted context omitted.

Me too, I think there are two types of side projects, this article focuses on those which I believe people will try to generate a business out of, or at least some form of passive income. But there are also some side projects where you just want to get your hands dirty with some different tech, if you do deliver something then you can showcase it on your portfolio. I know when the app store gold rush first started a…

Exactly - I enjoy side projects precisely because they're not bound by pragmatic concerns. I can delve as deep as I like into getting the CI pipeline working just right, making sure the servers and cacheing are set up ok and all those other things that I usually have to leave to colleagues. More often than not the skills I learn doing this kind of thing end up being very useful to me in the day job. I'd like it if th…

> they're not bound by pragmatic concerns.

99% of the time, if you want to go pragmatic, you should buy a ready-made solution (and then possibly adapt it to your use case). It's efficient (especially if you need the problem solved to make money) - but it's no fun.

Re: The art of over-engineering your side projects

#266

The best thing about side project is that I may be wonderfully inefficient, so I can do it the way I want and enjoy the way. Even mentioning the word 'deadline' or 'planing' or 'efficient' or 'customer' in the same sentence as 'side project' is contradictory to me. E.g., I love to program in assembler. Preferably 8 bit SoCs like AVR. The point is not to finish the project fast or even at all by using a more efficient…

> But for some reason, I seldom meet hackers who understand the fun in doing stuff from scratch.

Go visit your local hackerspace :).

That said, it's probably because in tech, there's much more vertical space for one to pick their definition of "from scratch" from. You go low, to assembly level, but you don't fab your own chips :).

Re: The art of over-engineering your side projects

#267
I can only speak for myself here but I feel that belonging too strongly in either camp is a bad thing.

Ideally, you'd want to understand both worlds.

As such, I feel that the projects I work on in my own time and the crazy things I do in them help me to better understand what kind of things really do need to happen when working under tight deadlines in the workplace.

I.e. It's easier to produce an effective product quickly if you know from personal experience exactly which approaches or things really are essential.

Also, note I haven't read the actual article. I'm replying mostly in response to the comments :)

Re: The art of over-engineering your side projects

#269

Earlier quoted context omitted.

Totally agree. I had a problem which required finding the minimum distance between an ellipse and a point. If that had been my day job I would have settled for Newton's method and hacked around the regions of bad convergence. Instead I spent a week developing to be what I still believe to be a novel numerical method that is much more stable over all regions. Turns out I was wrong in some earlier maths, and the curve…

Can't you just use vector math for this?

Yes, vector math with a bit of number math and symbol math should do the trick.

Re: The art of over-engineering your side projects

#270

Earlier quoted context omitted.

This is mostly off-topic, but being able to identify or root out the value mismatches between people in a discussion (as you've done) seems like an essential ingredient to productive discussion. I've noticed that people who can do this are disproportionately better at achieving their goals than those who can't, especially in engineering organizations. Exceptions of course for zealots and revolutionaries.

Absolutely. This even works at a somewhat lower level... I remember hearing an argument between two cow-orkers, and realizing that each was thinking different (but similar!) things, but assuming the other was thinking the same thing. Angriness ensued...

> Angriness ensued...

This usually only happens when one begins to make personal insults, i.e. "only a poor programmer would think that!"..

Post reply on HN