Ask HN: Non-CS/EE hackers?
I got into Mechanical Engineering, stayed in it a few years longer than I should have because I wasn't too shabby at it. Now I write aerospace software for a living and code for fun in my spare time. Probably like many of you, I have lots of itches to scratch and ideas about products people might want. But I'm very aware of my lack of a CS background, and it's a constant factor in thinking about what I'd like to make and what I actually can make.
It seems like the majority of people on HN are CS majors or started programming at a pretty young age. I'd like to hear stories about people who "switched" or caught the start-up bug after investing in an un-related degree. Is there often a feeling of being at a disadvantage? Were you able to find a way to use your domain knowledge later on?
Thanks for sharing!
9 comments
[ 244 ms ] story [ 2453 ms ] threadComputer programmers (good ones and bad ones) come to programming from all walks of life.
My personal collection of 'interesting' prior subjects are:
All of them caught the bug when frustrated with the programs they had at their disposal. Some started with excel (or even 1-2-3) and worked their way to the limitations of spreadsheet models, and decided to take the plunge, others started fixing some small problem in a program they had access to and took it from there.It's really interesting to see how many people were not in to computers in their schooldays that got sucked in to it.
The start-up bug and 'hacking' are two different things though, not necessarily related.
All of the examples above used their domain knowledge in the different field extensively and have made out very well because of that. (especially the dentist, that guy really impresses me, every year he has pretty much all the dentists in the country send him a check).
The period we're talking about was the mid '80s, pretty much the time when the PC took off. Conditions that were present in the market then will probably never repeat, even if you had all this knowledge today you'd find those now two decade+ old companies very well entrenched, and most of those problems solved for good.
If you could identify such a niche it would be interesting to see how you'd fare with todays tools at your disposal.
The dentist guy is a good example, he basically started out writing a ms basic program under dos to do some basic stuff and over time it grew to be the standard package for this region. My guess is that for every niche like that some guy has by now filled it and the company that grew out of it will be very hard to displace.
In college, I got two degrees, one in Math, the other in Japanese, and while there are some areas where I feel a bit behind-the-curve, overall I think that not getting a CS/EE degree was the right decision, for two reasons.
One, because a lot of CS programs focus on writing code to satisfy textbook exercises, rather than in solving real-world problems. While I'm sure the experience of implementing quicksort in Java is useful at some level, it's a hell of a lot less important in the startup world than having experience in solving practical problems in limited amounts of time.
Especially when the solutions to those problems aren't 'known'.
Two, because my college experiences were shaped by a mixture of math and language-learning, I didn't develop a case of correctness paralysis, which is a big problem with CS people, in my experience. They get very stuck on whether or not problems are provably correct, have totally known behavior, and so on, rather than just thinking about the problem a bit, implementing something that works well enough, and then improving it, which is much more an engineering mindset than a CS one.
I think that the most important factors for being a successful programmer in the long run have more to do with personality traits, though: work ethic, curiosity, resourcefulness, inventiveness, etc. than with educational background.
Start-Up are not related to Computer Science or Information Technology. There are health, medicines, nano-technology... startups that don't deal with computers or programming. It's simply a question of "What do you want to do?".
If you want to get a 9-5 programming job, a CS degree will help. If you want to start a start-up, no one will ask you for your background. If you want to have a deeper CS knowledge, you can just read books or watch free courses online.
Me: B.A. English and Classics. I'm getting a masters in CS--only because I already read/have read many of the graduate texts. I started programming at an early age, but I wasn't interested in CS because the universities were still insisting on Fortran and Assembly, and I'm sure Cobol was on the list of requirements too. Lastly, deep domain knowledge is priceless--no fancy algorithm trick can beat it. Someone without specialized domain knowledge can't even envision what he doesn't know.
Success in software and startups is largely determined by one's commitment to keep learning and trying to improve.