This is really important advice, especially for anyone dealing with mental health struggles or a chronic illness.

@Lacci

Yes!

One of the most important things I learned in computer science major was the projects tend to get stuck at the 90% completion stage, for reasons. One of the reasons is, that's the easy part

I've taken this forward in my non-computer life, to tell myself, I will just do the easy 90%. Or sometimes the easy 70%. The rest might be nice to do, but it's not as necessary

It takes 2 minutes to wipe down the kitchen counters and get them 90% clean. The other 10% would take what, half an hour?

@NilaJones @Lacci Unoptimized code that somehow works is still code that works. 
@Natanox @NilaJones @Lacci famously, worrying too soon with code optimization is a recipe for disaster
@Natanox @NilaJones @Lacci @lffontenelle Do not care about performance optimizations. Optimize for maintainability first.

@divVerent @NilaJones @lffontenelle @Lacci *do not care too much

There are still unnecessary sins, like throwing binary data in managed lists. Which funnily enough is something AI likes to do. *Not* doing that doesn't require more work though.

@Natanox @NilaJones @lffontenelle @Lacci Also common among Java devs is just annotating your class a bit to be serializable, rather than building a binary or text format.

Config files in XML are bad enough, but nothing beats java.lang.Serializable network packets. And nowadays you won't even get a CVE for that...
@divVerent @NilaJones @lffontenelle @Lacci Just so I understand it correctly: Instead of using a proper networking scheme they just design whole classes so they can be shoveled into network packages through some functionality meant for file transfer and yolo it?
@Natanox @NilaJones @lffontenelle @Lacci Yes. Precisely this.

The main issue is that deserializing may give you
any class - not just the class you want. It can in some cases even call code during deserializing, at which point it's getting highly dangerous.