7 ms·
I'm 39 years into a coding career with no CS degree. But as a compulsive auto-didact (probably a common syndrome among HN readers) it hasn't been a barrier. Sel
by hirundo 7y ago
I'm 39 years into a coding career with no CS degree. But as a compulsive auto-didact (probably a common syndrome among HN readers) it hasn't been a barrier. Self-learning is a continual, daily requirement for coders. If you can continue your education as needed for this job you probably also have the skills and interest to learn from scratch.
I studied the same books and did the same exercises as my brother the CS major and do feel that my training would be incomplete without that. But I don't feel disadvantaged by not doing that within a class structure.
The main thing I lack is access to government jobs, which routinely require credentials I don't have. But I've probably had a more diverse and satisfying career as a big fish in small private sector ponds.
Not everyone can learn coding without externally imposed structure. But those who can't probably have an ongoing problem in keeping up with the state of the art.
- blymphony 7y agoNot even government jobs are out of reach for you. I work as a federal employee without any college degree doing web development with React/Node/AWS.
- C4stor 7y agoThat would heavily depend on the (unspecified) country.
- blymphony 7y agoThat is true, since the commenter never specified. I work for the U.S. government.
- tudelo 7y agoI think it's possible but when bidding for contracts I think it matters. When I worked at a smaller company that worked government contracts my lead was always telling me I should work on getting a masters as it looks more attractive.
- dwags 7y agoSame here. I did HAVE to get security+ 501 though
- foobarandgrill 7y agoHow does one find govt jobs using modern tech stacks?
- astura 7y agohttps://www.usajobs.gov/ https://www.usajobs.gov/ Here's one: https://www.usajobs.gov/GetJob/ViewDetails/539439100 https://www.usajobs.gov/GetJob/ViewDetails/539439100 >a custom build of the open-source search engine Solr, a highly responsive UI engineered on top of React, a high performance distributed brokerage system, and cloud-based hosted services with Kubernetes in Amazon Web Services. The primary programming languages are Python, Java, and JavaScript.
- toomuchtodo 7y agohttps://www.usds.gov/apply https://www.usds.gov/apply https://18f.gsa.gov/join/ https://18f.gsa.gov/join/
- nobleach 7y agoYou're lucky. When I worked for the federal government(USDA/USFS), there was no way I was going to get access to non-windows servers for deploying my projects. When we brought up the idea of using AWS, they told is that it was impossible as they had no way to handle reoccurring monthly billing. (obviously, this is a lazy excuse). The only node project I managed to get deployed ran behind Apache on Windows Server 2003... and it performed as horribly as one might expect an event-loop to perform behind a threaded proxy.
- astura 7y agoUmmmm.... Lots of government services run on AWS. https://aws.amazon.com/government-education/government/ https://aws.amazon.com/government-education/government/
- deleted 7y ago[deleted]
- deleted 7y ago[deleted]
- patorjk 7y ago> The main thing I lack is access to government jobs I guess my question would be which government? I do government contracting (US), and degrees are not required. The labor categories are typically written so that if you don't have a degree, you just need an additional 4 years of experience. On almost every contract I've worked on I've met a developer without a degree.
- dx87 7y agoIt depends on the position. It's a lot harder to get work as a government employee without a degree in the US, but contractors seem to have more flexibility. I worked for a government agency while I was in the military, and I can't even get an interview for the exact position I was doing for a couple of years because I don't have a degree. I know a few people who've missed out on jobs because the government position has a hard requirement for a degree, even if it's not relevant to the position (like computer science for a security position).
- hirundo 7y agoA decade ago when I was on the job market I saw lots of ads for government IT jobs, seemingly all listing CS degree requirements. So I didn't bother applying. Maybe it wasn't a hard a requirement then, maybe it has changed, or both. I have an ethical preference for market transactions, so didn't push on that door as hard as I might have if other opportunities weren't readily available.
- mtberatwork 7y agoAs others have mentioned, there are many folks working in the gov world without CS degrees. This is especially true for older workers who graduated at a time when CS departments weren't common place at every college as they are now. However, if it's credentials that you are after, governments love certifications as well.
- GordonS 7y agoI'm in a similar situation. Dropped out of uni because it bored me, easily got a dev job (I was really lucky), worked for years as a developer, and then an architect. I eventually did study part time for a degree, mainly out of belief that it might help with future career opportunities, but also because I might enjoy it. I got a 1st, with honours. TBH, the only part I truely enjoyed was the final project. The rest was mildly interesting at best, and a bore at worst. I found 80% of it easy, 10% difficult (maths), and 10% challenging (the final project, but only because I made it challenging). In retrospect, I don't think it's really made any difference to my career, as I'd proved myself long before getting the degree. I don't necessarily regret it either though - maybe the most useful thing was getting me into the groove of reading academic papers, which had benefited me greatly, both work-wise and in my personal life (health issues).
- nwalker85 7y agoCan you elaborate on some of these books you are referring to? I'm a self taught developer in his first real, institutional engineering role and I am worried I'm in over my head sometimes and would love to read some "must haves".
- tombert 7y agoNot the OP but I am another non-CS degree person. I got into this stuff in early high-school, and those were just "intro to C++" books. The book that kind of changed my life (and a bunch of other people's as well) is one I bought when I was 19 called "Structure and Interpretation of Computer Programs" (SICP for short). It's a bit heavy, but if you know the basics of programming it's not too difficult. This book really teaches you a lot of fundamentals of software, and to me is the must-have book in compsci, and it's available for free of MIT's website. Then I just went on ebay and looked up "discrete math textbooks" and "discrete structures textbooks", and bought a few of the cheaper ones. Then I started finding individual topics that interested me, which largely dealt with distributed computing, weird abstract math, and video processing. For that, I bought the book "Programming Distributed Computing Systems" by Varela, "Certified Programming with Dependent Types" by Chlipala, and random books on Fourier Transforms from eBay. This is over the course of a few years, and it was intermixed with about a million different blogs and tutorials to get me better. I've found if you stick with the more "theory-heavy" languages like Coq, Idris, or Haskell, you end up picking up a lot more of the compsci concepts that you might learn in school, just because there aren't a million people constantly yelling "OMG YOU DON'T NEED MATH FOR <insert language here>".
- a-nikolaev 7y agoYeah, agreed about the language choice. With math-y languages, the overall quality of presentation and material is higher than what you would get if learning the same thing in Python or JS.
- souprock 7y agoAdvanced Programming in the UNIX Environment, by Richard Stevens
- daveFNbuck 7y ago> Not everyone can learn coding without externally imposed structure. That's actually not what a CS degree is primarily about. You learn to code in maybe the first 2 or 3 classes. After that, it's assumed that you can translate ideas into code and you start learning about different areas of computer science. If you just need to learn to code for a job, there are bootcamps that can teach you that in a fraction of the time and cost. > But those who can't probably have an ongoing problem in keeping up with the state of the art. Personally, I wasn't able to learn to code in any meaningful way before college. I had tried to learn from books and online sources but never got beyond basic scripting. After working my way through a bachelor's degree and PhD, I don't have much trouble keeping up with the state of the art now.
- james_in_the_uk 7y agoGood comment. I can code, and I am knowledgeable about computing in general terms, but I am not a computer scientist as I haven't benefitted from the rigour of formal training. (I am a lawyer, fwiw).
- staticassertion 7y agoAt what point do I get to call myself a computer scientist? I dropped out of college halfway through.
- Melkor765 7y agoI think it's fair to call yourself a computer scientist if you do computer science. If I walk dogs I'm a dog walker right?
- danielscrubs 7y agoIf you write papers that is. Doing cs is not coding just to clarify.
- daveFNbuck 7y agoThere's no real fixed meaning to computer scientist, so you can call yourself one if you like. I considered myself one when I was doing computer science research for my PhD, but I don't consider myself one now that I'm working as a software engineer.
- chaoticmass 7y agoThe part about needing to continue your education daily is something a lot of non-CS/IT/programmers people don't understand. I know a lot of friends who want to get into a tech career (say, webdev) who don't get this. They think all they need to do is get a CS degree, or take a course and they'll be set for life.
- shados 7y agoA lot of people IN the industry (especially, but absolutely not exclusively folks who come from alternate backgrounds). Ive been a consultant at several companies where other software engineers REFUSED to learn anything unless: A) it was during work hours B) the company provided a structured environment to learn the thing (usually in the form of paid 3rd party trainers coming on site). Needless to say, those teams were far from successful. There's also more and more folks coming in for the money (nothing wrong with that) expecting it to be a 9 to 5 job. It absolutely CAN be a 9 to 5 job given the right environment/company/structure, but no one in their right mind would pay average west/east coast software engineer salary for a 9 to 5 employee. The extra responsibilities, continual learning, possible on-call, etc, are all baked in those crazy 6 figure salaries everyone drool over. There's totally a time and place for more typical schedule. Just expect to be paid accordingly. In the short term the market isn't quite adjusted to the idea that not all software eng roles are the same, so there's plenty of people who make 200k+ for doing essentially clerical work (that just happens to involve code) but its just a matter of time before that changes (its already happening).
- coldcode 7y ago38 years here, I had undergrad in Chem and part of a masters. Had no college classes or experience when I got my first programming job. Always worked at the leading edge of whatever I did and always had success. Was never an issue. Today I wonder if I would have even gotten an interview.
- Pete-Codes 7y agoSo you think it is harder for no CS degree people now?
- neop1x 7y agoFrom what I saw it is individual and also based on area of CS. There are lots of people who are for example very good in JS, CSS and HTML, doing fantastic UI work while not having CS degree. And there are some with CS degree who can't really solve real tasks effectively. Some people learn only what is needed to pass an exam. And some people continuously want to learn more an be better. I, for one, started doing a degree but dropped due to lack of time and lot of work opportunities. And while school learned me some useful stuff and it could learn that way even more, I continued on my own. I am an introvert, not hating math and having lot of patience. I learned so much over years, for example C, python, PHP, bash, vim, linux administration, docker, kubernetes, mysql, golang, html, css, vue, flutter, http, cors, CSP, opengl, linear algebra in graphics, mutexes, atomic ops, Atmel AVR programming. I also learned abou free software, GNU history, Mozilla/Netscape story, Gopher. Majority of this self-tought because my life is CS, I am reading or doing something CS-related whole days because nothing interests me more. Yesterday I discovered dgraph and I am excited to learn in. There are math-heavy and scientific problems which require more school-type skills. But most real-world work is surprisingly not like this. On the other hand, lots of people lack CS history - I've heard some modern web devs don't even know what a http header really is.
- mrjn 7y agoHey, founder of Dgraph Labs here. If you are interested, we would love to consider you for a role at Dgraph. Feel free to reach out to me at Manish at Dgraph.io.