DEV Community

Discussion on: 5 Things I didn't learn in college studying Computer Science

Collapse
 
cubiclesocial profile image
cubiclesocial

UI is how you let people know you care about your product.

There are products out there that have really nice looking UIs but don't function at all. I know of several SaaS products that qualify.

Of course, a product can work poorly and look terrible too.

Functionality matters more to users than the UI when the product doesn't work well or even work at all.

On the flip side, using fancy UI widgets in a fully functional application tends to: Consume lots of system resources (CPU, GPU, and RAM) and exclude underserved people such as impaired users who navigate applications using assistive technologies like screen readers.

Working with Legacy Codebases

Code maintenance of existing code and backwards compatibility are more important things to do than adding shiny, new features or using shiny new language XYZ. However, those are concepts that are hard to teach. They are also not the words most students want to hear, "Hey, you're going to be working on optimizing the performance of existing software and fixing bugs for most of your working life to make money to put food on your table, a roof over your head, and to pay off your school bills. Now doesn't that sound like a lot of fun?"

Collapse
 
kennethcassel profile image
kennethcassel

Great points on UI.

I think though in general, programmers tend to underestimate UI. A great product with great UI is a killer combination. If you can do this without consuming a tons of resources too, then you are on a path to win.
Functionality should be a given. Your program should work and that should be de-coupled from having a good looking UI. It doesn't take a ton of effort from having your UI look in the bottom 10% to being a pleasant visual experience.

Also, great points on legacy codebases haha. It doesn't really sell the software career that great if you focus on teaching that to people.

There is so much content to learn in software engineering so it'd be impossible to teach them all in college. It's really about lifelong learning.

Thanks for your insightful comments!