Live data from Hacker News

The art of over-engineering your side projects

elsyms.com

201–210 of 272 posts

Re: The art of over-engineering your side projects

#201

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"

I have a side project where I'm using the new Crystal language and even wrote a post on my company blog about it but we don't actually use it, nor do I try to get us to use it.

Re: The art of over-engineering your side projects

#202
I recently was thinking about 1). At my current company, I got to know agile methodologies for the first time, I liked it and started planning my side project, but it instantly started to felt like work! I just realized if I write the parts whatever interests me the most, I will be more inclined to finish it!

Re: The art of over-engineering your side projects

#203
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…

I don't think these are mutually exclusive. At work, my goal is to create products that people use (and pay for). At home, my goal is to learn and have fun. Different approaches for different contexts.

Re: The art of over-engineering your side projects

#204
post #191
post #185

Earlier quoted context omitted.

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…

Yup, that's the yin and yang of programming. Programming is an art, but real artists ship.

That's nonsensical, if I produce anything, I'm not a real anything-producer until I ship it?

Kafka didn't want his work to be published, and if he didn't he wouldn't have been a real writer?

Re: The art of over-engineering your side projects

#205
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…

And then there is everyone else in between, including me who both want programming to be fun and enjoyable and on the other hand simultaneously care about getting a product to market.

Re: The art of over-engineering your side projects

#206
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…

> The point isn't to ship code, it's to learn. Honestly I don't care if it ever ships. And even when I do release one, I don't care if nobody uses it except me.

The objectives for a side project are subjective, and so they should be. However I doubt most people truly have no intention to ever ship a side project or "don't care if nobody uses it", as admirable as that would be.

I look back at my naive, recently graduated self and remember how I truly wanted to ship my side projects but loved to play around with new toys so much that I rarely shipped anything. I wish I had read a few more articles like this that would have helped me strike a balance between trying new things but still having enough experience in the stack I'm using to actually ship.

In short, if you have a great idea you want to ship then deprioritise learning to stand the best chance of getting it out there!

Re: The art of over-engineering your side projects

#207
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…

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…

>I had a problem which required finding the minimum distance between an ellipse and a point. If that had been my day job ...

OT: I had the problem as part of my 1st day job in 1990 on Parasolid.

IIRC, there was more than one way of converting the problem into solving a quartic polynomial, which is solvable by radicals and so doesn't need Newton's method.

If the point is inside the evolute of the ellipse then the quartic has four real solutions, which gives two local minima and two local maxima of distance.

If the point is outside or on the evolute of the ellipse then the quartic has two real solutions, which gives one local minima and one local maxima of distance.

Having said that, all methods using quartic polynomials could be unstable if the ellipse was pathological, for example very long and thin. Maybe that would be a time to revert to Newton's method.

Re: The art of over-engineering your side projects

#208
post #121

I have committed almost all of these mistakes with my food side project https://bestfoodnearme.com . Probably the best thing I have come to understand in building side projects is that you need to get it out in front of people as soon as possible. After that, just get feedback, use analytics, and iterate quickly to fix issues. Even more important, go look for existing problems, whether it be in online forums or talki…

Nice! I actually wanted to do something like for my own food obsessed self. Were you able to get good traction with your project? Or did you just do it for fun? My biggest hurdle was friction between using instagram and my app. But may that's not what you're targeting. Either way, I was just curious...

I am still iterating to improve it, but I was doing it for fun and to scratch my own itch.

There is not much traction, the 1% internet rule is real in terms of the number of people that contribute verse those that consume content.

Re: The art of over-engineering your side projects

#209

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…

>I had a problem which required finding the minimum distance between an ellipse and a point. If that had been my day job ... OT: I had the problem as part of my 1st day job in 1990 on Parasolid. IIRC, there was more than one way of converting the problem into solving a quartic polynomial, which is solvable by radicals and so doesn't need Newton's method. If the point is inside the evolute of the ellipse then the quar…

There are certainly multiple ways of doing it. I'm curious, do you remember if the specific quartic had a nice "trick" to the formulation? I played with it a little and couldn't see anything that would cancel in a nice way.

I try to avoid using quadratic solutions in code because of numeric instability issues. Granted I never implemented the direct solution, but the number of opportunities for catastrophic cancellation gave me shivers.

Re: The art of over-engineering your side projects

#210
At risk of a tar and feathering by the 'lean' crowd, I am going to declare that I don't do MVP's at all, and never really have, with any of my projects.

Why? Well, because almost all my projects are designed for businesses and enterprises, and with that audience - things better work well and they better work first time during the demo or you don't stand a chance of getting a customer.

Perhaps if I was writing a social media app for sharing cat pictures, then yeah, I would slap together an MVP and show it to cat lovers. After all - what is the worst that can happen if your cute cat picture doesn't upload? Just try it again or delete the app and walk away, and there are no consequences.

But what if my HR app doesn't send that crucial reminder email to a department manager that one of your electrical tradesmen's license expires tomorrow, and you end up sending him out to a job next week and he makes a mistake that ends up getting your company sued and eventually shut down, putting hundreds of others out of work?

I am sure as sh*t going to ensure that my reminder email system is absolutely over engineered to ensure reliable email delivery and tracking. You don't get ANY chances to blow that kind of stuff with a business of enterprise audience.

Post reply on HN