Live data from Hacker News

No CS Degree – Interviews with self-taught developers

nocsdegree.com

361–370 of 480 posts

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

#361

Since these articles seem to be putting a cash value on the word "success" (or at the very least an instagram buzz value), I would point that IMHO, most of this success comes from people skill. You can have a degree or not, even bad developpers can hop from one job to another, making more and more money in the process, given they're good enough to manipulate the recruiters/clients into hiring them. Making money does…

> You can have a degree or not, even bad developpers can hop from one job to another, making more and more money in the process, given they're good enough to manipulate the recruiters/clients into hiring them. Making money does not mean your product is good,useful or well-designed. It means you're a good salesman.

Good developers can also hop from one job to another and make more and more money in the process.

Job security is a thing of the past, whether you went to school or not.

The "ideal" developer isn't some kind of monk who dedicates his entire life to one firm.

Making money doesn't mean your product is bad, useless or badly designed. It also doesn't necessarily mean you're the best salesman.

Sometimes experienced developers without a CS degree and without sales skills still get paid a lot because:

A) the requirement doesn't call for advanced computer science knowledge

B) the requirement does call for a significant amount of practical experience and business knowledge

C) it's a highly profitable industry and the specific work being done will generate the company profit and/or cut costs

It can be perfectly legitimate to perform jobs like this without having a CS degree or ever intending to get one.

It can be perfectly legitimate to work your way up the ladder of such jobs and jump from job to job in the process.

Some of us want to raise a family and/or be able to retire one day. Why should we put our careers on hold to pursue a degree?

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

#362

Make peace with this fact: you can most definitely build businesses and add value to any organization. But you won't be able to optimize Twitch's video codec or any other very low level, uber-specific, high impact code. Business need both types in this world. No shame in that, but don't lie to yourself into thinking that you can do _both_ with no CS degree. You can't.

How would a CS degree help with any of that? I'm someone with experience in weird uber-specific, low-level areas of computer graphics/imaging with no CS degree, and none of the CS graduates I know have been taught those things at university. Some PhDs and math students yes (at least, with regards to the algorithmic portions), but otherwise you have to learn the low-level esoteric stuff on your own, or be lucky enough…

I agree. Nothing in a typical CS degree would help with this. Maybe if your Masters was specifically in this obscure part of the field. On the other hand, I used to work in the video game industry where degrees (used to be) relatively rare and I probably knew 12 different guys who could optimize this kind of thing in their sleep.

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

#363

I had been a graphic:web designer since I was 14 years old. I taught myself Photoshop and Dreamweaver and became proficient with creating layouts with frames, tables, and of course eventually css. I graduated from college with a degree in Philosophy where I was focused on logical systems. I recall one of my favorite professors being intrigued to know whether I could program and disappointed when I confessed that I on…

With your background picking up algorithms and data structures shouldn't be hard. It's just a matter of studying them like anything else. (I program and my degree is in science.)

Thanks! I hope so too. My current learning material is “Designing Data-Intensive Applications” which seems to involve some data structures.

On algorithms, I think being able to use the work of others is already very empowering. Perhaps one day I’ll get into it deep.

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

#364

Earlier quoted context omitted.

> 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…

Good 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).

At what point do I get to call myself a computer scientist? I dropped out of college halfway through.

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

#365

Earlier quoted context omitted.

Agree 100%. Not to mention, having a degree opens up a lot of opportunities in case you ever want to leave the field. Many people get sick of coding after doing it a while due to its highly repetitive nature. Having a degree essentially gives you a pass to enter a myriad of fields that still require one.

I'm not sure that makes complete sense. I don't have a degree in CS as I was self taught and actually bothered to follow online courses and read documentation. If I get sick of coding and want to move elsewhere I still have the option to go to university. I don't see why you would want to get a degree on the off chance you wont end up liking the job and want to go into a different field. In my situation I learned how…

In my situation I thought I learned to code at a young age. That's a great way to phrase it too. If one (cough, OP's article) is using phrases like "learned coding [in x months]" then they have the same misunderstanding that I did when I packed up and went off to college thinking I was hot shit at 16 with 4 years of BASIC and PHP web dev under my belt. In my case it took college to expose me to a whole universe of new ideas and really get the point across that "coding" isn't a thing you can "learn" in some number of months. Given that nerdy teenagers are notoriously both cocky and stupid, I suspect that this is a common experience.

Of course there are the Peter Deutsch wunderkinds and the people who get a really good secondary education and can jump into CLRS on their own without hand holding from college, but I don't think there are very many of them out there.

And adult learners are a whole different matter for whom the decision to go to college for CS is radically different.

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

#366

Since these articles seem to be putting a cash value on the word "success" (or at the very least an instagram buzz value), I would point that IMHO, most of this success comes from people skill. You can have a degree or not, even bad developpers can hop from one job to another, making more and more money in the process, given they're good enough to manipulate the recruiters/clients into hiring them. Making money does…

>Congratulations, you're making money by manipulating someone into giving you their money. Awesome ! Thanks for playing, please leave. It's not manipulation. It's always a sales proposition, but you're either doing it well or you're doing it poorly. Obviously, there is no external, impartial arbiter of what makes a "good" programmer (or products, or services). There is only perception. I used to drift around but I've…

The older I get the more this truism rings true: 'fake it till you make it' and 'perception is reality'.

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

#367

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 thinki…

> I had no trouble understanding object oriented programming Indeed, Object-Oriented Programming is harder to learn for programmers who have experience with other languages already (no pun intended) ;-) When you know a language like C/C++/Java and you learn about OOP you think you understand, but in fact, you don't. So while functional programming was probably the easiest course for me in university, it took me 1,5 s…

These programming paradigms are really all about impedance match with a model that's already in some human's brain -- going from the brain-space model to code with the least amount of transformation. So if you're struggling to get to the mind-model, something is wrong! It definitely doesn't make sense to begin looking at the implementation details. They're only there to facilitate that simple transformation from thoughts to code.

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

#368

Earlier quoted context omitted.

> I had no trouble understanding object oriented programming Indeed, Object-Oriented Programming is harder to learn for programmers who have experience with other languages already (no pun intended) ;-) When you know a language like C/C++/Java and you learn about OOP you think you understand, but in fact, you don't. So while functional programming was probably the easiest course for me in university, it took me 1,5 s…

Do you have a tl;dr you would care to share?

Well, my attempt to summarize OOP:

OOP is a concept. It doesn't care about the implementation and neither should you. So if you are talking about integers, don't care about the implementation which might have limitations like MAX_INT, care about the idea of having a number which you can increase and decrease. That is a concept and it can be implemented in different languages and with different limitations.

Next, understand the idea of 'Everything is an Object'. This means that you have a class hierarchy and at the top is the class 'Object' (so everything can do, what 'Object' can do). Objects can receive so-called 'Messages'. When an Object receives a Message, it calls the corresponding method. So for example, in Smalltalk (the mother of Object-Orientation) the expression '1 + 2' means, you have an Object '1' (always the first thing) which receives a message '+ 2' and when the method '+' is being called, it returns an Object ('3').

This leads to some odd situations like

  1 + 2 * 3
  = 9
because

Object 1 receives message + 2 returns object 3. Object 3 receives message * 3 returns object 9.

I think that is part of the secret sauce that many tutorials are missing. You can read a lot about the class hierarchy (inheritance, class variables, instance variables, ...), but few seem to care to explain what 'Everything is an Object' really means.

So your OOP program is basically sending different messages to different objects.

Finally, what makes OOP so powerful is that there are some attributes which are being enabled by placing your classes in the right spot of the class hierarchy, so that an object of that class does not just inherit all the attributes, but can also be used as one of its superclasses (polymorphism). That way you can write code that works with a wide variety of objects.

I am sure I missed a few things, but for me, understanding the clean syntax of Smalltalk and the implications of 'Everything is an Object' changed my perception of the OOP concept.

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

#369

Earlier quoted context omitted.

But didn't you read the core docs for the language, for loops are one of the basic idioms.

I think a lot of people learn a given language by hacking away at something they either want to create of modify. For example, in web development, I'd say most developers haven't ever read a cover to cover book on JavaScript. I've tended to take the opposite approach, read first so I can at least grasp what I need to look for, then start applying. This of course is a mixed bag for rapidly changing/evolving tech and n…

I take the same approach you do. When mentoring new developers I also start them off by assigning them tasks to read the docs for the core of the language we are working with.

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

#370
post #314

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 thinki…

I just posted some rambling thoughts in this thread about not having a CS degree (or any real degree) and being successful as a self-taught software engineer. I briefly mentioned how my non-formal studies of religion and philosophy have helped to inform me - mainly in the context of "machine learning". Your thoughts about how such studies apply to CS in general, though, are interesting. I noted that there are extreme…

From my (limited) knowledge, CS as a formal academic discipline largely emerged from the renamed Applied Mathematics departments of universities.
Post reply on HN