Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What software decisions do you regret and what will you do next time?
6 points by tikkun 10 months ago | hide | past | favorite | 7 comments
I mean related to building software as a developer, and using software as a user. Could also be other kinds of tools/tooling.

What are the ones that you regret and are kinda awkward or hard to undo easily, and what will you do next time?

I regret buying Google Workspace through Namecheap - then whenever I add a new email to a domain I need to first buy more seats through namecheap. For future I'll buy google workspace directly through google.

I regret using Netlify, I've had a much better experience with Cloudflare but I don't like the process of needing to switch hosts. For future I'll use cloudflare.

On a more meta note, there are also instances where I regret building something as a web app first. For future I'll generally start off products I'm building as local python scripts, iterate until I'm happy with the scripts, and then turn it into a web app later.

I have a tendency to add and add features before I've even got a MVP, which often slows down production time until I get it live. I can see the "whole" of the product, but sometimes, adding those extra features takes time and thought. A current program I'm working on... I ended up scrapping at least 4 or 5 projects within the product just because I realize.. who asked for this? It sounds great in theory, but sticking to the primary purpose of the application to bring it to MVP is the real goal and the faster way to get it going.

I've probably spent hundreds of hours working on projects that never went live and I abandoned them before they ever had a chance to be taken live. So it is something I'm working on.

I suppose the only regrets I really have: I have a habit of purchasing domains for 10 years which isn't a bad price: $100 or so. However, now I own a dozens of domains I'll probably never use.

My best ROI investment so far was buying several dozen single word io domains the day I saw the TLD was released. I’ve sold every single one (so far) for no less than $10k each with a number going to $30k. 1-2 are very large companies now and it’s cool to think about. Sadly, I only have maybe 7 or 8 left.

I regret trying to make good looking guis with tkinter and modern tkinter themes.

Making the ui with react in electron is way heavier but much nicer and it’s trivial to make a service that starts a fast api server for your application code, and just shoot json from your electron app to your fast api server.

Then later if you want your tool to be more deployable you just make it a web app instead of using electron.

We have made several internal tools in both ways and the general UX/UI is much better by not using Tkinter.

Pure Python guis are just kind of crap.

Certainly, here are some examples of regrets and potential approaches for the future:

Buying Google Workspace through Namecheap: I regret purchasing Google Workspace via Namecheap, as adding new email addresses became cumbersome. Next time, I'll directly buy Google Workspace from Google to streamline the process and avoid such inconveniences.

Using Netlify instead of Cloudflare: My experience with Netlify wasn't optimal, and I found Cloudflare to be better. To prevent future hassles, I'll opt for Cloudflare for hosting services due to the smoother experience I've had.

Choosing Web App First: There have been instances where building a web app first was regrettable. To address this, I'll adopt a new approach: initially develop products as local Python scripts, iteratively refining them until satisfaction, and then transition them into web apps at a later stage. This should enhance development efficiency and reduce potential missteps.

These insights highlight the importance of careful decision-making and learning from past experiences to enhance future software development and usage.

Furthermore, for valuable guidance and expertise in software development decisions, consider consulting TechnBrains' developers. Their insights and experience can assist in making informed choices and avoiding regrets. Explore their offerings at https://www.technbrains.com/web-application/software-develop... to ensure a smooth and successful software development journey.

I regret not making a more conscious choice about what tech I learned. My first job was a Microsoft shop. I sort of forgot about the Linux/Unix world, and I arrogantly thought that universities were out of touch teaching this and they should be teaching C#!

The reason I regret is not so much because of "M$" reasons, nor is C# a bad language - it is excellent - but because I didn't expose myself to the long lasting software that you learn once and use for 30 years. Like Vim, Coreutils, various Linux utilities, Linux sysadmin knowledge, Postgres. My thought process was "well SQL Server is really easy to install, you just click an .exe and say Yes a few times". I didn't see the deeper thing that open source software lasts because it creates a shelling point. In other words, everyone uses it because it is free, and enthusiasts fix bugs and expand it because it is free, and then it dominates in usage.

To be fair back in early 2000s it was not clear that we wouldn't end up in a world run on the back of Windows servers. It would have been hard to see the future world.

I (kind of) regret making my unnamed Jed translation file editor. I made it due to the frustration I had when I had to edit two JSON files everytime I added a new string in a project. It was easy to use, yes, but really complicated and my focus shifted over to my translation editor instead of my project I was working on. I quickly realized this and scrapped the project entirely. It even destroyed the translation file I tested it on. Luckily, git reset saved the day in the end.

GUI tools like Poedit support JSON translation files, but not JSON translation files for Jed.

Now, I edit the translation files by hand, I don't mind anymore, it's just that it would be a tad bit harder.

I once made the mistake of buying into a certain library before vetting it. Pretty much a rookie mistake. Now I verify I can do the thing I want to use a particular library or tool for, in a separate throwaway minimal verifiable project, before integrating into whatever main thing I need it for. Fail fast in a sense.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact