4 ms·
I don't have a degree and I'm 10+ years deep into my career. What has started to stand out for me in recent years is that there are holes in my experience that
by mental1896 8y ago
I don't have a degree and I'm 10+ years deep into my career. What has started to stand out for me in recent years is that there are holes in my experience that my college-educated peers don't have to deal with. Granted I never had to deal with student loans so I guess there's a tradeoff. But the problem with these education "holes" is that they hit you right out of left field when you least expect it.
- pc86 8y agoCould you provide some examples?
- madeuptempacct 8y agoI can provide some examples for him as a self-educated dev: * What is big O * What is value type vs pointer/reference * How does the internet work * Binary search trees, tries, graphs - u wut m8 (Thankfully, there's this: https://medium.com/basecs/archive/2017/01 https://medium.com/basecs/archive/2017/01) * Basic cryptography, hashing, etc * DNS, IPs, HTTP, etc * TCP, UDP, etc (I still don't know these) * Stack, heap, queue, malloc (Again, very little exposure to this without learning a low level language.) * How modern computers work * Logic gates, clocks, memory, (actual) binary math * Wifi basics (actual physical data transmission) * Linux I can go on and on and on, but these are things you don't pick up at work unless you go out of your way to learn how they work. Regarding the parent post - I have a very generous training budget. And guess where I will never spend it? At the best University in my state. I got a degree in something other than Comp Sci, and 95% of the classes were useless and way-too-drawn-out. So, you might not be as behind as you think. A pretty-smart co-worker of mine with a Comp Sci degree said he didn't figure out the point of object oriented programming until he got his first Java job. This is only related to other comments in this thread, but I do feel that formal education is oversold, and particularly to people who are from poor families with no guidance trying to have a shot at life.
- wonderwonder 8y agoI can second this. Self taught programmer and I am weak in all of the above areas. My math skills (only high school math) are also especially weak which has really bitten me in graphics based jobs (simulation) where I have had to calculate view rotations and similar in 3d. I am lucky enough to have made it to the 6 figure club but I probably could have been here a decade ago with the right education. Also imposter syndrome has been a major limiter at times.
- gregmac 8y agoI've interviewed people with degrees that don't know about many of these questions. In fact I make it a point that if someone puts something like "TCP/IP" or "networking" in the laundry-list of skills/knowledge they have, I ask them a basic question about it -- and a depressingly large amount of time people can't even explain the difference between TCP and UDP. I've also worked with people who can explain what big-O is and yet they'll write completely inefficient nested loops and N+1 SELECT queries, and then wonder why everything is slow in production even though it works great in dev. Comp Sci can teach you theory and concepts, but as they say: there's no substitute for experience.
- ryanmarsh 8y agoSelf taught programmer and I'm strong in all these areas. You can read three books and know all of this. It does not require a college education. In fact the TCP/IP stack and Linux I learned back in high school just by reading two books. It wasn't hard. The Data structures and algorithms I picked up a few years later when I was about college age. Again, you can read books about this stuff. It's not that hard. If anything, a self-study program with a list of books to read and skills to master would save many self taught / self motivated people quite a bit of time, but its absence is by no means a show stopper.
- madeuptempacct 8y agoWhat three books? (Especially interested in data transfer protocols - I got a little bit into it for game development, but never found anything resembling a good source). I learned a lot of these things from taking Harvard's CS50 online, reading the blog posts I linked (and doing problems), and I would imagine this book (https://bigmachine.io/products/the-imposters-handbook/ https://bigmachine.io/products/the-imposters-handbook/) would help out - a friend recommended it, but I never got around to it. https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319 https://www.amazon.com/Code-Language-Computer-Hardware-Softw... ^Covers logic gates and the basics of how a computer is built to an incredible degree, but it's VERY time intensive. Still, I really recommend it.
- echelon 8y agoWhat do you feel are the gaps in your education? Do you think taking an online course would help with them? I suggest learning a little about data structures and algorithms, each are typically one semester courses in undergrad. You might supplement it with operating systems and distributed computing, though data structures should be a primary focus.
- mental1896 8y agoI've tried and failed going back school enough times to know it doesn't work for me. Certification courses & clinics have proven worthwhile in the past though.
- neuromantik8086 8y agoMy mom is a music teacher, and she finds that she often will get new students who were previously self-taught with blind spots. Ideally, one of the main perks of school, which is difficult if not impossible to get with auto-didacticism, is that you get continuous feedback from someone who knows what common mistakes look like. My technical background is largely from reading books and manuals on my own, but I'm under no delusion that I would benefit greatly from some more formal instruction for certain topics, if nothing else because then I would have someone challenge me immediately when I'm wrong.