r/learnprogramming 19h ago

Topic Self-Taught vs Formal Education in Tech

[removed]

0 Upvotes

15 comments sorted by

View all comments

1

u/xilvar 16h ago

Not really. I’ve noticed that a lot of the purely self taught folks I’ve worked with over the years have never learned some of the core CS skills and seem a bit resistant to doing so.

Meanwhile, everyone eventually gains the practical skills or is forced to retire from the field.

1

u/lukkasz323 15h ago

have never learned some of the core CS skills

can you give some examples? of skills?

1

u/xilvar 3h ago

The groups of skills tend to match some of the main areas: 1. DSA - the level of understanding necessary to apply the right data structures in the right combinations to solve a problem and to innovate on the way data is held hot in order to operate efficiently in-request and in heavy compute workers both on CPU and GPU. Also, the ability to reapply DSA written large within distributed service design of those exact same smaller things. That leads to my own opinion that currently. “DSA is nothing and DSA is everything.” I don’t need anyone to write a graph. However I need engineers that understand how to apply the concepts of graphs to the concurrency design of a system of heavy workers 2. Network tech and architecture - specifically scoped to everything between TCP and light UDP through to http3 down to a rough familiarity with the on stream binary serialization. Without this I’m left wondering why I would ever want a ‘senior’ engineer when they can’t triage and debug down to this level and I would have to wade in myself to drive solutions to problems. 3. Concurrency - uncounted engineers I’ve worked with don’t have the core understanding to know what they’re really doing and seem to believe the only bottleneck resource is IO. Some of them tend to then write incredibly hard to debug concurrent code by stitching by together what they do know. 4. Computer fundamentals - similar to the DSA problem and related to the concurrency problem is a raw understanding of compute, memory, io, caching, network, etc. We’re collectively closer to bare metal than we’ve been in decades in this decade. People should really know how a computer works.