Ask HN: Formal education or self-taught?
There are consistent posts on HN from people wanting or offering advice on what types of math, algorithms, marketing, business, etc. books to read.
I'm curious how many HN readers consider a formal education to be the biggest factor in their ability to pursue the projects they are interested in, versus having a strong tendency to learn stuff on their own.
Or perhaps a healthy mix?
My own situation is that I'm mostly self-taught with respect to programming and algorithms and have learned most of what I know by working on projects "on the job".
I'm currently interested in some areas that involve heavier math and algorithms and I wonder how much a formal educational background (i.e. an MS in computer science) would have accelerated how quickly I could get into this stuff.
Thoughts?
5 comments
[ 3.3 ms ] story [ 25.7 ms ] threadWithout it the bootstrapping would have been a great deal harder.
Being a self taught software engineer, such as yourself, and making a pretty decent salary I've had a hard time really understanding what a degree could do for me. I get job offers left and right (and yes I ask for a fair bit more than the "average" salary for my area and fellow programmers tell me they want to work with me or convince me to come work with them.
Why do I need a degree? I'm creating a name for myself in my community, presenting at code camps and Alt.NET and being a leader, right?
There are a couple things that changed my perspective.
1. My Goals- I've been realizing I want to be a technical leader in my field. Most likely I want to pursue AI. I don't want to be wanted for my knowledge of a framework or programming language. I want to be wanted because I can do anything anywhere. I want to make the impossible possible. Well two things regarding this: First is that I've noticed that the most influential people I respect can back up their claims with formal reasoning and concrete evidence. I'd like to learn to do that better. Second is that innovators in computer science typically utilize a large foundation of knowledge to create new solutions. I'm thinking Google, Genetic Algorithms, etc.
2. Honest Reasons I Haven't Committed to a Degree Yet: Ego and Money/Time. Now that I make a good salary money is no longer the excuse. I've learned better time management as well so neither is time. The only thing really holding me back is that I was proud that I was self-educated up to this point. What I've realized is that I'll always be learning more than what I need. If I have a masters I personally expect that I'll be at more of a doctorate level. Getting a degree doesn't mean I'll plateau it means I'll sky rocket.
3. I took inventory of all the classes I'd need to transfer to a university. By this time next year I will have taken multi-variable calculus, possibly differential equations, calculus based physics, and more. This is just for my A.S.! I am excited to go even if I didn't get a degree at the end. REALLY excited. There's no way I will have taught myself all of those things on my own.
4. Whenever I want to brag about the place I work or my mentor (which is my boss) I mention that my boss has his M.S. in Computer Science. I finally realized that the degree does still mean something to me.
5. I don't like mooching. If I'm gonna self-educate I really need a mentor. But here's the thing, my current mentor has his M.S. and I would want future mentors to have at least that as well. So really... I'm admitting I want the college education but without paying for it and by having someone give away and devalue their time for my personal betterment. I just read Atlas Shrugged, and I don't want to be a moocher.
I'm only 27. So I figure even if it takes me 10 years to get through my Master's I'll still have plenty of time to enjoy that knowledge and leverage it to do some awesome things. For me it's not about money or fear of job loss, it's really just about I want to be as awesome as I possibly can be and just going for it.
My background has been quite a mix. Most of my formal education is related to electronics (my degree was an embedded systems engineering) whilst my outside interests were in CS, programming and the internet (and some sociology thrown in on top :D). All of my programming and CS knowledge is self taught.
Career wise I've been more successful in the CS side of things - but there are large portions of that success which come down to things brought out of formal education. Stuff like essay writing really helped my form filling for example (and I seem to do a hell of a lot of that! :D) as well as technical handling and critical thinking (part of the engineering blitz they gave us!)
Now I am just starting out on an Open University (who provide degrees through distant learning) after my Dad advised it as a good route. This is the best of both worlds because it requires a lot of self teaching from the provided material but with the formal aspects of tests and essays thrown in on top. Im doing it alongside my work in related fields so it really is a complete learning mix and it's been an enlightening experience - I really think more people should be encouraged to take this route from the get-go.
Im finding it a real joy to do because it doesn't matter if you drift off into an aside - that is almost the point (at this level at least - Masters, one imagines Bachelors and non-degree level is a bit more rigid) of the exercise.
So, I don't think that a formal education is the biggest factor in one's ability to pursue interesting projects. However, there are some cases where a college degree could come in handy. At least in the initial stages of pursuing your dream you'll probably need a day job. Unfortunately, many employers dismiss out of hand resumes that do not meet their education requirements. Granted that employers that do so are probably not the best to work for, but sometimes you just gotta do what you gotta do to pay the rent.