DEV Community

Discussion on: What would you like people to know about programming?

Collapse
 
nestedsoftware profile image
Nested Software • Edited

It's relatively easy to come up with a core curriculum for a computer science degree, but much harder to say what "all programmers should know." It's totally possible to have a fulfilling career in a particular area and not know very much about other areas.

I guess I would say, on the more technical side of things, there are two general things that one should strive to improve: 1) Problem solving and 2) judgement.

Problem solving is about finding solutions to problems, whether that's designing a load balancing strategy for a web app, reducing frequency of access to flash memory in an embedded device, or figuring out how to graph some data in excel.

Judgement is about evaluating whether a given solution is a reasonable approach to a problem. Is this code clean and readable? Is this optimization needed? Is this design too complicated?

But how to teach these things? I can't think of anything other than just doing and having good mentors: The more problems one solves, the better. If one has access to mentors who instill good values, that also helps a lot.

I know you're good at finding simplifications to solve problems. Maybe you could write a book of case studies where you were able to simplify a problem relative to whatever solution was previously proposed or considered...

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y

I'm not sure about the "easy to come up with a core curriculum" part. I've unfortunately interviewed a lot of people that came from colleges, of various types, and were unfortunately not introduced to a lot of core concepts.

I don't think a program should focus too much on the soft skills, but they also seem lacking in technical skills. This seems to depend on the school a lot.

Collapse
 
nestedsoftware profile image
Nested Software

Sorry - I meant that listing the subjects to cover is easy, not teaching them effectively. But the big question is, sure, listing a curriculum for cs should be pretty easy, but does everyone who works as a programmer need to know the material that ought to be covered by a cs degree? I think it would be nice if every programmer had a solid knowledge of all these subjects (acquired via a degree or just learned independently), but it's probably not realistic. A lof of people don't get cs degrees, and most of those that do, as you suggested, don't actually have a very strong grasp of the subjects they took...

Thread Thread
 
mortoray profile image
edA‑qa mort‑ora‑y

No, you can be a career coder without being exposed to all of programming. If somebody is happy with that, then fine. Not everybody needs to be everything. But for those that want more, I'm not sure there's a clear path now.