1,005 karma · joined June 11, 2008
Contact: paulm at mgn dot tc
The big thing that I don't hear often is about where complexity lives. Complexity is like a pile of receipts you need to hunt down to do your tax - you can have it distributed all over your house, you can sweep up into a pile, or you could file it. The first is by far the most complex, and I've worked on codebases that looked like that. Even the most trivial of changes takes a long time.
Don't give up. And for the love of all that is holy, don't work municipal IT, it would only demotivate you further. Keep at it, improve your skills and keep applying.
Food for thought, at least.
After all an interface is, by definition, where two things meet and interact. There are too many unknowns otherwise.
Colin is criticising your idea, but is also trying to understand how you formed that idea in the first place, in an effort to hedge against the possibility it has good reasons he can't see. He's not just saying, "your idea is garbage".
The inherent complexity can be taken on by the solution (and the inherent complexity may be hidden behind a simple interface, or it may be introduced in the interface, but that's another problem), or it gets removed of the problem domain, and then needs to be dealt with by the user.
There's no correct answer; half the problem is defining the appropriate problem domain, and even then there are only better or worse solutions. The incidental complexity of the system comes purely down to the implementation, which often comes down to how well the problem domain is defined in the first place.
How much work have you put into this so far?
If Bill Gates had manufactured or stockpiled basic medical items, someone would be complaining about why he didn't do it sooner, or accusing him of profiteering, or somesuch. It shouldn't be up to one person to be responsible for the foibles of the human race, even if they have outsized resources. They just become a scapegoat for our own lack of responsibility.
On the other hand, you can have no minimum wage, and end up with a class of working poor who have no time to educate themselves, thus condemning them to a life of constant work with no hope of social mobility.
I don't see how a minimum wage is harmful.
Eventually, to get started, I settled on doing a small command line app in Python/Click. It was a utility I actually needed (even if someone else didn't really need it), and it's the kind of thing I could iterate on without too much trouble.
It's usually much easier to start small.
Unfortunately there are people who complain that pipenv makes the ecosystem as bad as npm, which frankly is an improvement.
However, "better" is dependent on the situation. If the data is unlikely to change, stay the course. If not, then while a database might be more maintainable over the long term, even if not as efficient.
I'm continuing as a software engineer to pay the bills, but I pursue music, games, and at one point in my career was a graphic designer and illustrator (though perhaps not very successfully; I'll get back to it at some point).
I'm about to start learn electronics as I'm interested in building robots and making custom guitar pedals. I don't think I could ever be laser-focussed (95% sure I'm ADHD; used to think I was bipolar but not sure about that diagnosis anymore). Embrace your neurology.