Live data from Hacker News

What skills do self-taught programmers commonly lack?

quora.com

151–160 of 161 posts

Re: What skills do self-taught programmers commonly lack?

#151

It's interesting that this question implied the negative -- not what's the difference between , not even what are the strengths and weaknesses of , but: > What pieces of the whole are missing? The implication being that without a formal CS education, it is an impossibility to obtain a whole. As if whole matters; how does one obtain whole , anyway? This is a very loaded question and perspective that betrays a serious…

Read SICP, do all exercises. No, don't simply read the book, you have to do the exercises.

Read Knuth's Concrete Mathematics, do all the exercises you can, but this time this is not a requirement.

Forget about Java related design patterns.

Now you know more about programming and CS than 99% of population. Problem solved.

Re: What skills do self-taught programmers commonly lack?

#152
"Doesn't have a CS degree" isn't the same thing as "self-taught." Though I don't have a CS degree and I suppose I learned the basics on my own, I was largely taught how to write software by my peers. I learned a lot by working with really talented developers, and finding places to rub shoulders with them - mailing lists, conferences, blogs, HN etc.

That said, I think the hardest thing to learn outside of academia is the big picture, the general landscape of computer science and software development. It's really useful to know what you don't know, but it's hard to get that without actively seeking out something resembling a CS curriculum.

Re: What skills do self-taught programmers commonly lack?

#153
Isn't this kind of a dumb question? To break it down in simpler terms:

Would someone who's gotten a formal education know more about certain topics in a specific domain than someone who hasn't?

Of course, but as several other observant posters've already noted - there are many things you learn in the field that you don't learn in school. The real question, however, is does it matter?

People in a variety of fields practice at different levels, and programmings becoming more of a "prosumer" activity anyway; note the number of "easy to use" frameworks that've come out in the past few years. Plus, any ecosystem has it's ingénues - or a "magician's magician", like in that movie The Prestige. Haha. Some are inegenues, some are practictioners, others highly theoretical, some are shamanistic. There are a number of archetypes that exist within said ecosystem. It really depends on the person and what they make of programmatic ability more than anything else.

Re: What skills do self-taught programmers commonly lack?

#154

Earlier quoted context omitted.

I feel the same. Inferiority complexes for the self-taught?

I, for one, feel incredibly inadequate for lacking the stuff that you'd get on a CS course which I think actually matters - stuff like algos, operating systems architecture, etc. I think lack of confidence is a huge factor and it's one that's plagued me for a long time, though I don't want to project my issues with it onto all self-taught programmers. I had a somewhat unique situation when it came to choosing my degr…

And look at startups. Many startups are a lot more flexible in this regard.

Re: What skills do self-taught programmers commonly lack?

#155

Earlier quoted context omitted.

I think you've actually got no clue how complex and hard the average database/object driven application can become. Nor do you seem to have any idea what is actually entailed in a large CRUD application. You claim that GMail isn't complex. Jeezus, a tiny % of programmers are capable of recreating that well. Or Microsoft Office! Go get the source code to OpenOffice and say that again. Think about the problem a bit har…

Sorry. Those examples are admittedly more complex than I made them out to be. I mentioned scaling to be a more difficult problem. There are some master architects in all those projects, who deal with hard problems, but a large code base is not the same as a complex problem. Large pieces of software are many small and simple problems held together by a complex glue. The architects deal with the glue, but category one…

No, there generally aren't master architects. I'm surprised to hear you talking about master architects, in traditional programming circles the term is usually met with scorn. There's a perception that people who call themselves architects or talk about architecture tend to suck at programming. That they like talking about code, but in general are not actually capable of doing it.

Hearing someone say they're a software architect or that a company has a software architect is usually a big red flag to run like hell.

Also a large code base is identical to a complex problem. Check the definition of complexity. A complex problem can be broken down into simple components.

Finally the best glue is not complex, it's simple. Complex glue tends to result in brittle magic, a poor abstraction, like traditional asp.net compared to something far more elegant and smaller like ruby on rails.

Re: What skills do self-taught programmers commonly lack?

#156

Peeling back the clearly insulting bias in the phrasing of the question, I do believe in programming as a craft. By that I mean that it's possible to become pretty good at it by just screwing around on your own, but you're fooling yourself if you think that you don't have something to learn from the academy. To use an analogy, I think of myself as a decent carpenter, but I'm always blown away when I watch "This Old H…

I agree. I think the apprenticeship model would work far better for programming than the lecture/assignment/exam model. Solving real world problems and learning on the job under the eye of a mentor would be invaluable.

The person/company offering the apprenticeship would get cheap labour for a few years in return for helping the young apprentice learn everything they need.

Re: What skills do self-taught programmers commonly lack?

#157

I started programming at the age of 8, and went on to study CS at the age of 20. So, I count myself a self-taught programmer with a Master in computer science, and I have an opinion: The formal education didn't teach me any skills I couldn't have picked up on my own. It did however, teach me to ask questions I didn't know existed, lovely abstractions and a lot of useful theoretical concepts. Instead of constantly bei…

That reminds me of an anecdote a friend of mine told me... she was studying computer science and this one guy in her class, when confronted with a new concept, would always ask "...but how would you do that in Visual Basic?"

For him, Visual Basic was programming. Everything else had to be translated to VB for him to understand it.

This is one of the pitfalls of being self-taught, at least if you only learn scripting languages. You don't see the forest for the trees.

(This might be different for people who are self-taught with C, because it's so close to the machine, they instead might be asking the question "but how does the compiler translate that into a machine representation", which is a MUCH better question to ask.)

Re: What skills do self-taught programmers commonly lack?

#159

Earlier quoted context omitted.

Sorry. Those examples are admittedly more complex than I made them out to be. I mentioned scaling to be a more difficult problem. There are some master architects in all those projects, who deal with hard problems, but a large code base is not the same as a complex problem. Large pieces of software are many small and simple problems held together by a complex glue. The architects deal with the glue, but category one…

No, there generally aren't master architects. I'm surprised to hear you talking about master architects, in traditional programming circles the term is usually met with scorn. There's a perception that people who call themselves architects or talk about architecture tend to suck at programming. That they like talking about code, but in general are not actually capable of doing it. Hearing someone say they're a softwa…

Then I stand corrected. Thanks for the insight.

Re: What skills do self-taught programmers commonly lack?

#160
post #9

I grew up on computers, and am exclusively self-taught, yet I have an in-depth knowledge of how computers actually work from spending time learning how to crack programs. A decent understanding of some fairly complex algorithms from writing RTS, Chess and other games and working on some awesome ML applications professionally. And a good understanding of FP from playing with langs like Haskell and implementing a lisp…

I concur. I'm self-taught and would agree that "we don't know what we don't know". I'm not sure that's exclusive to programmers. Give me a tip about what I don't know that though and I'll research it obsessively. That's just my nature.
Post reply on HN