Live data from Hacker News

No CS Degree – Interviews with self-taught developers

nocsdegree.com

271–280 of 480 posts

Re: No CS Degree – Interviews with self-taught developers

#271
post #29

I'm an engineer. No CS degree. I coded for fun on various side projects from 2006-2012. I didn't consider myself very good. I worked at a couple startups from 2012-2013. During that time, I became very proficient in Coffeescript and a couple popular frontend frameworks. I was very productive in terms of pumping out lines of code (that somehow resulted in a working product). However, I didn't know how to write a for l…

> However, I didn't know how to write a for loop. > If you had asked me what "for...in" was, I > wouldn't have had a clue. And forget about > asking me how setTimeout has to do with > the call stack.

I'm self taught, I started with the C64 in the early 80s. By the time I was 15 I was working in assembly, had an excellent knowledge of what we would now call embedded software development and a working knowledge of algorithms.

I'm glad that you took the step to get a proper education. With the modern internet it's extremely easier and the quality is incomparably better than my experience of the UK educational system. Between Coursera, MIT and the vast number of excellent books it's a dream.

It's an eye-opener to me that someone can be self-taught and not understand something as basic as loops. It has been my experience hiring developers that the self-taught type are considerably stronger than those who are purely college educated. I've also noticed that the self-taught type who consider themselves software engineers all went through a two year period of intense studying of computer science and software engineering in their own time. The combination of a real working understanding of software creation with passion is an extremely strong combination.

What I've noticed is that your type don't get scared of technical changes because you're basically able to learn anything. The "college career" type tend to scare easily and also jump into management the second they get a sniff of it.

All of this said, if I was 18 now I would strongly advise myself to do 3/4 STEM A-levels (Math, Physics and something else) and then go study Computer Science at a university which has a good program. By good program - one where I'd write a compiler from scratch, learn the theory (finite automata etc), machine learning, linear algebra and hopefully something fun like building a 3d engine or game engine or something. You can do it all yourself but a three-year program certainly makes life a lot easier, plus you get to make friends and network. AND you have a nice piece of paper.

Re: No CS Degree – Interviews with self-taught developers

#272
post #258

Earlier quoted context omitted.

It is funny that people constantly mention these supposed developers who have jobs but cant program. Where are these jobs? I have a recent cs degree, did resume coaching, and worked through a couple coding interview exercise books. Still having trouble finding work. Show me one of these mythical jobs poorly trained programmers get, I will blow them out of the water. In reality I think most of those jobs have been out…

> Show me one of these mythical jobs poorly trained programmers get, I will blow them out of the water Unsolicited feedback: I think it should be pointed out that your attitude probably isn't helping in your job search.

It's always a real shock to get an elite CS degree and then be told we aren't as smart as the people who got their job because they were friends with someone at the company and just happened to know Java.

Re: No CS Degree – Interviews with self-taught developers

#273

Earlier quoted context omitted.

It is funny that people constantly mention these supposed developers who have jobs but cant program. Where are these jobs? I have a recent cs degree, did resume coaching, and worked through a couple coding interview exercise books. Still having trouble finding work. Show me one of these mythical jobs poorly trained programmers get, I will blow them out of the water. In reality I think most of those jobs have been out…

Try large boring corporations, such as banks and insurance companies.

Boring corporation jobs are fantastic in these cases. The performance bar is low, and due to inertia within the org, you can usually learn faster as an IC and bounce somewhere better rapidly, versus being somewhere like a startup where the treadmill moves too fast for your own personal development needs.

Re: No CS Degree – Interviews with self-taught developers

#274
post #236

Earlier quoted context omitted.

There definitely are! Eg Jezen Thomas. Hopefully in the future also myself :)

You are sure he was never at a university? And why are you drawn to Haskell? For me I only had to deal with it a bit at university and I found the concept interesting, but could not imagine non math people to use it for anything as a language of choice

I'm not sure he never was at university, I just assume not [1].

> why are you drawn to Haskell?

I just want my programs to work. I've seen too many null pointer exceptions and other runtime errors. Runtime errors = bad. Compile errors = good.

[1]: https://news.ycombinator.com/item?id=20112065

Re: No CS Degree – Interviews with self-taught developers

#275
post #29

I'm an engineer. No CS degree. I coded for fun on various side projects from 2006-2012. I didn't consider myself very good. I worked at a couple startups from 2012-2013. During that time, I became very proficient in Coffeescript and a couple popular frontend frameworks. I was very productive in terms of pumping out lines of code (that somehow resulted in a working product). However, I didn't know how to write a for l…

> The problem with being self taught, at least in my experience, is that you end up being very strong in whatever areas it is that interests you, and whatever areas of CS are relevant to the projects you're working on day-to-day. I think this is the case even if you receive a formal CS education. I picked the most difficult or interesting classes and got As in them, and barely passed everything else in order to gradu…

> College was mostly an exercise in self-learning or learning how to learn for me

Definitely agree with this.

I think my data structures professor spent more time talking about chess rather than data structures.

Re: No CS Degree – Interviews with self-taught developers

#276

It's fun when people assume a CS Degree means you are a developer. Practically all development is self-taught, a CS degree is only handy for those moments where you dig into some abstract theory, which in most development jobs hardly ever happens. You mostly spend (or waste) time on tools, frameworks and interaction (both with humans and other systems). Lots of common development is rather mundane compared to all the…

Effectively a "hard" degree is an IQ test. General cognitive skills exist and they're especially useful in software development.

ITT people are focusing too hard on the content of a CS program and too little on the more general goals of an undergraduate degree:

- expose you to multiple fields of knowledge while focusing on a main thread

- help you develop generic thinking skills that should translate to a variety of fields of application (there are many CEOs with art history degrees)

- lead you through a first approximation of a scientific project, qualifying you for graduate-level research

- signalling to the world that you have the chops and the work ethic to go through with a major project with many frustrating stepping stone

- etc.

Re: No CS Degree – Interviews with self-taught developers

#277
I have a religious studies degree.

I wonder if it’s prepared me better than a CS degree for the actual work I do.

What did I learn with my RELS degree? Hermeneutics— understanding ancient texts written by lots of different authors in their original historical contexts, often which has been deeply redacted over time. Anyone who’s worked on any production code can see the benefit of being trained in that kind of thinking.

The classes I took on theology and philosophy helped train my brain to organize ideas. I had no trouble understanding object oriented programming — Plato would’ve loved it too, I think.

Classes on ethics have come in handy too.

Oh and just, we did a TON of writing in college. Lots and lots of writing, lots of research papers. I had to learn something new, read all about it, and put together a document carefully explaining the idea, with lots of evidence and citations. That skill has come in SUPER handy for everything from bug reports to API clients, to customer-facing documentation, to internal memorandums.

Re: No CS Degree – Interviews with self-taught developers

#278
How many working developers actually have CS degrees? When I began a long time ago it was quite rare. In fact most of my peers had liberal arts degrees. I definitely meet more CS grads among younger devs now, as well as EEs and SEs, but I wonder what the actual breakdown is these days.

Re: No CS Degree – Interviews with self-taught developers

#279
post #29

I'm an engineer. No CS degree. I coded for fun on various side projects from 2006-2012. I didn't consider myself very good. I worked at a couple startups from 2012-2013. During that time, I became very proficient in Coffeescript and a couple popular frontend frameworks. I was very productive in terms of pumping out lines of code (that somehow resulted in a working product). However, I didn't know how to write a for l…

I'm self-taught since age 16. I've been able to write a for- loop since age 16. Maybe it helps that I'm self taught in a pre-google, pre-stackoverflow world. Any beginning programming book will teach for-loops.

I do have gaps in my knowledge but if I lose internet access I can still be productive. I mostly google for how to optimize when some API is slow or remind myself some method name.

I just wanted to pipe up because the top comment is "I couldn't write a for-loop" and I don't want all of us who are self taught being lobbed into that category.

At my last job I regularly had to help colleagues (some who held degrees) solve issues. Strangely they had trouble starting from scratch on something new vs maintaining old code. They found the latter easier. They also sometimes chose the wrong data structures (e.g. looping through an array every time you want an item with id=x instead of just using a hashtable)

Re: No CS Degree – Interviews with self-taught developers

#280
post #206

Interesting. I am starting to teach my siblings to code (they are with non-cs degree) and don't know where to start. Do you guys have any thoughts about this?

I am sure there are people who disagree, but if someone really wants to learn about 'Coding and Computers', my choice would be Go.

Let me explain: When I learned to program, QBasic was the first language I had contact with. I could make the computer beep but never achieved anything useful. Next, I learned HTML and was very happy about creating something. In school, I learned a little bit about Delphi and while GUI programming was cool, I preferred doing things on the web. A little time, later I came across PHP and was finally able to create real websites. So I coded a few projects with PHP and had my first struggles with arrays and the likes.

Finally, I arrived at the stage where I wanted to learn a real programming language. So I learned C. C was great. I mean, it was also very complex, but finally, I had control over every bit.

At that point, I started a CS degree and learned about pure languages like Smalltalk (Object Orientation) and Scheme (Functional Programming). Those languages were beautiful but felt like a step back in terms of practicality.

When the JS frameworks poped-up I learned to use a few of them too and still use some of them today and while JS is a great language to create results, it doesn't feel to me like a language that teaches you how to write good code.

Along the way, I encountered other languages like Java, C++, Python, Rust and those are certainly not bad languages, but I wouldn't recommend them for beginners.

What makes Go so special, in my opinion, is that it reduces the complexity of C while not taking away its purism. It comes with all the tools you need (except a text editor) and encourages to write good code. Finally, it has good support for building web applications so finding a good use-case shouldn't be that hard. After all, good use-cases motivate students ;-)

I am well aware, that one could certainly argue for every programming language to be the perfect candidate, so please remember that this is a personal opinion.

Post reply on HN