Hacker News new | ask | show | jobs
by runT1ME 3385 days ago
>t's very easy to learn programming on your own these days, sure. But it's a lot harder to learn public speaking, finance, management principles, marketing, college-level reading and writing, technical writing, time-management, political science, biology, physics, and all of the other stuff that you're taught in college.

Am I insane, or really bad at programming? Because with the exception of biology and physics, the other things you mentioned are significantly easier and more intuitive to learn on your own compared to say, computer science concepts and math.

3 comments

Computer science is hard and I don't know any good place online to learn it for free. Picking up a Rails tutorial, on the other hand, is free and very very easy.

I would say that real, fundamental computer science is one of those things that universities are better suited to teaching. Other comments seem to agree with that.

The point I was trying to make is that college forces you to learn a lot of things that you may choose not to study if you're learning on your own. And those things you're forced to learn end up being more worthwhile than the skills you wanted to learn, whether you realize it or not.

If I waited with learning English till I needed it, it would be too late. I was forced to learn it and benefited from it. If I waited with learning how to write coherent text till I needed it, it would be too late. I was forced to learn it and benefited from it.

I did actually used linear algebra and mathematical analysis on couple of projects and if I did not had math background before, I would not be able to understand what I needed.

I discovered programming at high school. If the teachers did not showed it to me back then, I would not even think about programming as a possible career.

The value of high school and college was in having me to learn things I would not learned otherwise. The things I would learn by myself, I learned by myself.

So true! On the job, almost all of your new knowledge is specialisation on an absurd level of being specific to your job and only to your job. Framework X isn't your specialisation, framework X is the most general knowledge you acquire while on the job. The specialisation is knowing the implementation Y built on top of X and remembering the misconceptions and politics that led to business decision Z which caused module Y to be implemented like it is.

All the education that came before that was to complement that on the job specialization. You start out very general (walking, talking, basic social behavior) and then dive into an increasingly narrow funnel of stuff that is somehow related to your future X,Y and Z that you will learn on the job, but is not not identical with them. Education is for learning the things practice won't teach you (an extreme example: knowing a bit about Plato or Cesar would likely be more relevant to making sense of Z than understanding the halting problem or being good at regex).

It depends a lot on what they mean by programming. Building nice looking small crud app? Technical challenge is rather easy, the hardest is to make it good looking. Making physics simulator or writing eventually connected database first time when they did not existed anywhere else yet is harder.
You're probably holding yourself to too high a standard. If you think about performance before you commit then you're probably doing better than average.