I just find these odd. Does anyone struggle with this stuff? They just make it all look so easy. I for one struggle quite a bit with coding, design, theory, and other aspects. I just don't get how so many people think coding is as easy as "reading a book" or "doing a tutorial".
No CS Degree – Interviews with self-taught developers
181–190 of 480 posts
Re: No CS Degree – Interviews with self-taught developers
#182Re: No CS Degree – Interviews with self-taught developers
#183Earlier quoted context omitted.
> The problem with being self taught, at least in my experience, is that you end up being very strong in whatever areas it is that interests you This is absolutely key. One of the main advantages of a solid undergraduate curriculum is that it forces you to work your way through things that are important, but don't interest you as much. And this path is designed and supported by people with a much better broad view of…
I think it depends on the person and the experience. It's easy to say that a particular course was helpful, because it often is. But what's the opportunity cost? What other things didn't you learn because of all that time learning about, say, OS schedulers? Also, it assumes that you have access to a very high quality education. In lots of cases, the teaching might be mediocre (perhaps even at elite universities that…
I wasn't even talking about the course quality (which as you note, is very variable) but about the curriculum.
One thing you can do as an individual teaching yourself CS, say, is to try and follow the curriculum of a known good CS program. There are issues with this, too, but at least you are getting some guidance.
The opportunity cost issue is a good point. One problem with following undergrad programs, say, is that only part of what they are doing is teaching you material, the other part is learning-how-to-learn stuff. If you are an independent learner of sufficient skill, some courses will be way too slow for you.
It would be optimal in some sense to have high level "key concept" material that you can survey efficiently and then decide when and where you need to dig deeper. It's a bit of a chicken and egg problem though, because if you are insufficiently skilled you will do poorly at the second part...
Re: No CS Degree – Interviews with self-taught developers
#184I work with a twenty-something year old right now. He graduated from high school. Had his own non-tech company for a while after high school. Decided he wanted to go into coding. One of the best damn coders I've worked with in 25 years. Gives the toughest, most consistent code reviews. He's the type of programmer you can build a startup around. In another comment a few days ago, I mentioned a 10x engineer I knew. Gra…
Re: No CS Degree – Interviews with self-taught developers
#185Earlier quoted context omitted.
CS is more than abstract theory. It gives you a foundation that you otherwise are unlikely to get. Self-taught means learning things useful for your existing job or things you find interesting. I'm work almost exclusively on the frontend, but my CS degree gave me enough foundation that I'm fairly familiar with compilers (I wrote one in college for a required course). I don't necessarily enjoy writing compilers. But t…
> But the fact remains that I can write a compiler. I can program in C or C++. I do understand pointers. None of this may hold any real value, but I wouldn't be able to do any of them if not for the degree. I liked your initial point, but the argument weakens... People absolutely have learned all the above things (and very well), on their own, outside of a CS degree, and I bet you could've.
Re: No CS Degree – Interviews with self-taught developers
#186I sometimes feel like I have a leg up based on when I learned computers (self taught mid 80's to early 90's). At that time, everything was more low level, and there were fewer, yet higher quality books on the market. So I started off with W. Richard Stephens, K&R, Pike, Sedgewick, and others that you either had to really get it, or you wouldn't get anything. Not that this was the best way to learn, but you knew comin…
Maybe a few years later I started delving into 'hacker culture', and I picked up C with K&R (since it was almost universally recommended and easy to read), I also at some point picked up UNIX Power Tools (recommended in Linux Format) and The Practice of Programming. At some point after that I became really interested in Compilers and Operating Systems.
When I went for my first internship three years ago, the interviewer said I knew more about the things we talked about, than most other bona fide engineers they interviewed. The university-hired interns that sat next to me couldn't read the Erlang manual or documentation because it just didn't click with them, which while I can appreciate on some level that people have different sources of information that suit them best, it's still astonishing to me.
Consider that programmers started out as secretaries learning how to program the machine from the specification and the schematics given. A lot of the programmers I have met, probably wouldn't be able to cope with such a task, I include myself in that category.
I agree with you about the quality of books. A fair chunk of the books on my bookshelf from that era are 80s/90s to early 00s because those books are just an order of magnitude better written, with a high signal to noise ratio.
Can you imagine a modern language like Swift or Rust being taught to the same level, in the same space as K&R? I can't!
Re: No CS Degree – Interviews with self-taught developers
#187I'm 39 years into a coding career with no CS degree. But as a compulsive auto-didact (probably a common syndrome among HN readers) it hasn't been a barrier. Self-learning is a continual, daily requirement for coders. If you can continue your education as needed for this job you probably also have the skills and interest to learn from scratch. I studied the same books and did the same exercises as my brother the CS ma…
Re: No CS Degree – Interviews with self-taught developers
#188No one second guesses a CS degree, but a good chunk of CS grads (your future coworkers and hiring managers) will second guess a self-taught education.
Re: No CS Degree – Interviews with self-taught developers
#189I'm an engineer. No CS degree. I coded for fun on various side projects from 2006-2012. I didn't consider myself very good. I worked at a couple startups from 2012-2013. During that time, I became very proficient in Coffeescript and a couple popular frontend frameworks. I was very productive in terms of pumping out lines of code (that somehow resulted in a working product). However, I didn't know how to write a for l…
I've taken to offering three pieces of advice to these people:
1) Go through the basic language tutorial of whatever language you use (e.g. how to declare variable, conditionals, loops)
2) Go read through the essentials guide to your languages (will be slightly higher level stuff)
3) Go read the sections on Data Structures, Concepts and Algorithms and Knowledge Base in Cracking The Coding Interview skipping the problems that aren't answered in chapter. Why? Because it's a solid primer for CS Concepts that people just don't pick up unless they have to, and most importantly short enough (I've had a lot of success with this method. It's not a formal cs education by any means but I've found it's enough to get people past the constant beginner part.
Re: No CS Degree – Interviews with self-taught developers
#190Earlier quoted context omitted.
> And it gives employers confidence that you have the skillset to handle whatever they throw at you. Blindly having confidence in someone with a degree vs. someone with no degree is a bad mistake in this industry, IMO, sadly it happens. It really comes down to the person, self taught or not, if you don’t pursue continuing education (which is a must in this industry) whatever CS knowledge you learnt with your degree w…
I think you’re missing the point your parent was making... In a good CS program you will be presented a series of challenges below your “depth”.... “wait, you want me to WRITE a data structure? I usually just use a good one from a library” “wait, you want me to fix a compiler? I have only ever run a compiler” “wait, you want me to write code that CREATES processes out of nothing? I am used to letting the OS create pr…