Ask HN: Non-CS/EE hackers?

9 points by rmundo ↗ HN
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 ] thread
How about those that don't have degrees in anything?

Computer programmers (good ones and bad ones) come to programming from all walks of life.

My personal collection of 'interesting' prior subjects are:

  - a dentist

  - a psychologist

  - a biologist

  - a banker (and pretty high up the ladder too)
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).

How true this is; deep domain knowledge in a field that is nominally filled with wealthy people who (a) don't program, and (b) spend money to fix problems is like an express ticket to success.
I think it held true in the past, but I'm not so sure about putting that in to practice today.

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.

I may not be the type of person you're looking for, as I started with programming when I was a kid. Then again, I decided that being a geek was 'uncool' after grade school, and didn't really start hacking on stuff again until the end of high school.

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.

My degree was in Philosophy, and I'm able use that "domain knowledge" in any situation, but that knowledge is generally more useful to me in a much more abstract/indirect way than my software engineering knowledge.

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.

"I'd like to hear stories about people who "switched" or caught the start-up bug after investing in an un-related degree."

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.

I've got a BS in Econ w/minor in finance. I didn't take CS or engineering in school because it didn't really seem interesting - I do it all day anyways, and wanted to learn something outside of my normal scope of activity, that would still be relatively useful.
Mech E here also. Spent two years as a design engineer until I made the jump for web programming. I didn't leverage any domain knowledge though. Light bulb design doesn't have much to do with fantasy football :)
A lot of people get the CS degree and stop learning or lose the drive to write or create anything interesting. Who knows, maybe they never had it: It's easier to take a creative person and teach him engineering than it is to teach an engineer to be creative.

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.