But if you showed me a single UI, I highly doubt I could improve it.
Some of us explicitly don't want the UI to give off the impression that the software is more finished than what it really is, so we sometimes intentionally keep the UI unpolished while we know that we have important things not yet implemented.
However I have come to realize that there are several downsides to this line of thinking;
1. If the app looks bad then it might permanently put off would-be users.
2. By not giving the UI enough attention early on, discoveries of UX problems that could have been caught early are not made until much later, delaying the project and potentially leading to more work as well because there will be more things that need to be rewritten or remade in order to fix the UX problems.
3. If you think feature X needs to be completed before you do the UI, then what is going to keep features Y and Z and so on to make you think the same way when you get there? Software is often never "complete". If you think it needs to be "complete enough" before you can give it the UI it deserves, how will you know that you've reached the stage of complete enough?
Furthermore, I have come to realize that often we don't know what we want exactly. We might think we know, but as we work on implementing our ideas things turn out to not be quite as we'd imagined them to.
But I also think that grand parent was on to something. When we build software, we should strive to implement features that are useful but not only that, the software needs to make the most common tasks as efficient for the user to perform as possible. And in order to find out what that means, we need to consider the UI from the very beginning.
Rarely all stages are reached, but in open source projects, anyone can cook their favorite dish for this dinner.
Design shouldn’t be an afterthought, it should be THE thought.
My focus is on full stack, so I do care a lot about UI/UX, and improving my skills there.
However don't ask me to do anything related to NoSQL or Deep Learning, I would be a lousy contributor.
> My focus is on full stack,
I'm sorry, imo those are two contradicting sentences.
But it might be related to a personal pet peeve of "full stack" developers claiming to be expert in most moving parts of the stack.
Only to post on medium this amazing db hack they found, to be called out in hn comments for not reading the basic docs of one of the core items in their stack.
I always look at Doctors for a bad analogy; why full stack developer is a bad idea. Sure the heart surgeon will be able to diagnose your broken leg. Might even be able to assist you with a cast. But trust him to operate? There a specialist for that!
Is this not the same for dev work? Designer, Developer split into 4 fields(desktop, mobile, frontend, backend), database admin, sys admin. All possible to be done by a "full stack" developer.
But I don't see you become a specialist or expert in any of the fields of your stack, if you don't dedicate to a few.
He knows best than having people searching for specialist by themselves.
As for myself, if you prefer a more descriptive example, I specialize in everything related to Java, .NET and Web (VanilaJS) stacks.
There's a ton of tools out there to help you with these, and as a developer, I like tossing around a lot of the design stuff that gets regulated until an app or site is totally functional, when I feel like most of the design work stuff should be done prior to getting your app working.
Design is the hard part, coding it? For me, that's the easy part. I feel like once I've got some decent font's paired, a color scheme worked out and other design elements nailed, the rest is easy.
We aren’t talking about the color of the paint, we are talking about the way the parts fit together.