News for hackers. Stuff that matters.
Re:Computer science as a lost art (2015) by learc83 on Monday July 30, 2018 @09:46PM (#17649908)
I've worked for years as a self-taught developer before going back to get my CS degree, I've taught at a bootcamp, and I've hired bootcamp graduates.

Bootcamps can be valuable, but they are in no way comparable to a 4 year degree from a decent CS program. The top performing bootcamps are either functioning as an extended job interview that you have to pay for, or they are very good at selecting experienced students who only need a 12 week course to be ready to be productive developers. In my opinion, the reason we've seen bootcamps close or fail to expand is that there is a limited supply of these types of students.

For the vast majority of people a 12 week course, no matter how intensive, is a good introduction, but a lot of training is still necessary to be useful. If you are prepared to invest in that training, they can be great hires. However, you need to be aware that it's likely going to be months before you get real productive work without hand-holding. It takes most people a lot longer than 12 weeks to be comfortable with the basics of moving up and down through levels of abstraction.

Re:Computer science as a lost art (2015) by syndacks on Monday July 30, 2018 @10:26PM (#17650078)
I'm a self-taught web dev, and I want to further my CS education but can't go back to school for various reasons.

I've seen various syllabi eg teachyourselfcs.com and though they seem legit (and I've dabbled is some courses) I don't quite see the application/direct benefit professionally.

Let me phrase in another way; when I got started it was easy to see why I needed to learn front-end and back-end to make a web app (for a CRUD job). Now I want to go further, but where?

I think it would be helpful to see what jobs I could get by furthering my CS fundamentals, and not just "Senior Software Engineer".

So, as someone with your unique perspective, what do you recommend? Should I really slog through ye olde CS curriculum in hopes that one day I'll be able to apply some of it? Can you recommend another approach?

Again, put another way, some of these "top performing bootcamps" sharpen your React skills and whiteboarding skills, which have a career/market value. But they don't appeal to me because they don't seem academically/CS focused.

I hope this duality/constraint came across.

Any guidance appreciated.

Re:Computer science as a lost art (2015) by arcsin on Tuesday July 31, 2018 @02:45AM (#17651046)
Knowing CS allows you to build unique solutions from first principles. In cases where you're tied to applying solutions that have already been decided there will be less opportunity to use your CS knowledge. I think the majority of the time for most jobs you're just applying solutions, so it's much clearer how this would benefit you professionally.

Depending on the kind of work you do, the minority of the time where it would be beneficial to know CS might have a big impact both on the product and your reputation in the company. This could help you move up to higher, better paid positions, but it also might not. Teaching yourself CS is a big time investment and if you just want to maximize your salary there's probably better ways to do it.

I think it's really only worth it if on some level you enjoy it and find it interesting. You can seek out jobs where they use more CS, but again this doesn't guarantee you'll advance professionally. But if you're the type of person who enjoys programming as a creative activity, I think CS can be very rewarding because it opens you up to what's possible.

Re:Computer science as a lost art (2015) by learc83 on Tuesday July 31, 2018 @02:47PM (#17655881)
>I think it would be helpful to see what jobs I could get by furthering my CS fundamentals, and not just "Senior Software Engineer".

This is going to difficult, because getting a job other than Software Engineer (or something related in management or sales) often requires credentials.

However if you'd like to get a higher paying software engineering job at a company like Google, CS fundamentals can definitely help you get through the interviews.

>Should I really slog through ye olde CS curriculum in hopes that one day I'll be able to apply some of it? Can you recommend another approach?

Yes to the first, no to the second. CS fundamentals build on each other. It's difficult to understand algorithmic analysis if you don't understand calculus (at a basic level), and it's difficult to understand automata if you aren't familiar with set notation from discrete math etc...

Learning on your own, it's tempting to avoid the boring stuff and focus on what's fun or seems useful to you right now. The problem is you don't really know what's going to be useful later on.

You already know how to code, so If you are really interested in the learning the fundamentals, first I'd make sure you have a basic grasp of high school math through calc I. Then I'd go through a good discrete math textbook (I'd recommend one that's CS focused). After that I'd work through a data structures and algorithms textbook, then a programming language concepts textbook, a computer architecture/organization textbook, and finally a theory of computation/automata book.

You'd have a decent grasp of the fundamentals by then. After that if you want to go further, I'd go through books on networks, operating systems, compilers, and functional programming.

Re:Computer science as a lost art (2015) by tenaciousDaniel on Tuesday July 31, 2018 @01:36AM (#17650782)
I'm also a self-taught web dev, trying to learn more about the fundamentals. I've been trying to get through this course, and while the going is slow, it has been pretty incredible:

https://www.coursera.org/learn/build-a-computer

Re:Computer science as a lost art (2015) by bhawks on Tuesday July 31, 2018 @12:08AM (#17650473)
Not OP but if you're looking for a way to learn CS fundamentals thru practice I would strongly recommend trying to write a Gameboy emulator.

The project is challening but has a pretty rewarding feedback loop. Along the way you'll understand how high level concepts like grphics are implemented on top of hardware, computer architecture, cpu behavior, memory access, interrupts and timers and so on. It'll also challenge your software design skill and project planning. It might not be the best project if you are more interested in cs algorithms though, but I can't really think of anything that has a more enjoyable feedback loop.

previous hn discussion: https://news.ycombinator.com/item?id=17134668

Re:Computer science as a lost art (2015) by bena on Tuesday July 31, 2018 @11:20AM (#17653868)
If you want to learn the fundamentals of CS (and then some), https://en.wikipedia.org/wiki/The_Art_of_Computer_Programmin... is probably going to contain everything you want.
Re:Computer science as a lost art (2015) by siscia on Tuesday July 31, 2018 @03:31AM (#17651231)
I always enjoyed teaching what I know.

Why you don't send me an email (on profile) or a DM on twitter @siscia_ ? Twitter I believe is the fastest.

Anybody else, feel free to do the same :)

Re:Computer science as a lost art (2015) by scarface74 on Monday July 30, 2018 @10:30PM (#17650091)
Computer science graduates also need a lot of training. If not more, a boot camp graduate has already been exposed enough to modern tech stacks to at least come in as a junior. Too many CS grads have little practical experience to hit the ground running on even the simplest real world projects. Yes I have a CS degree.
Re:Computer science as a lost art (2015) by learc83 on Tuesday July 31, 2018 @02:20PM (#17655644)
>a boot camp graduate has already been exposed enough to modern tech stacks to at least come in as a junior.

From my experience that is not true. Bootcamp graduates (obviously barring additional experience) tend to be qualified to start at the intern level.

>Too many CS grads have little practical experience

Compared to veterans yes, but compared to new bootcamp graduates I disagree.

What CS grads can lack vs bootcamp graduates is the kind of thing they can pick up in a few weeks (as evidenced by bootcamps only lasting 6-12 weeks)--the reverse usually isn't true.

Practically, I've almost never seen this. Just like I've never interviewed a CS graduate who couldn't use a for loop despite all the horror stories that people like bring up. Even the most theoretical CS programs tend to require several sizeable projects.

Bootcamp grads can be a good find if you're willing to train, but in general that's because they are cheaper than CS grads, and for some level of work they tend to be goo enough, not because they are better programmers.

There are obviously many exceptions to this, and I'm only comparing CS grads to new bootcamp grads assuming similar backgrounds ages etc... One advantage bootcamp grads do have is that they tend to be a little older/more mature, but that's really nothing to do with bootcamp vs university.

Re:Computer science as a lost art (2015) by tensor on Tuesday July 31, 2018 @01:42AM (#17650798)
In my experience CS grads to be far far stronger out the gate then boot camp grads. Boot camps tend to get you to intern level generally.
Re:Computer science as a lost art (2015) by zaarn on Tuesday July 31, 2018 @03:21AM (#17651189)
Depends on where you get the CS degree.

I'm currently doing CS and one of the core requirements for finishing the degree is to have atleast one semester-long internship at a corporation in something that relates to your degree. I did backend development for half a year, though the rest of the courses are fairly real-world focused once they have dug through the theoretical meat.

Re:Computer science as a lost art (2015) by robertAngst on Monday July 30, 2018 @11:27PM (#17650320)
It should be a requirement to have each student complete a modern full stack.

Some schools have pitiful results for what they say is a degree.

Re:Computer science as a lost art (2015) by jacoblambda on Tuesday July 31, 2018 @04:52AM (#17651580)
Alternatively many CS grads never end up working in/near the web stack and that requirement in no way better prepares them for their profession.

If you wanted to suggest that they be required to have a significant capstone project (a full stack system, a compiler or VM, an operating system (rudimentary or not), firmware/BIOS, HPC application, etc.) then I would agree but to say that all CS grads should be good web devs is rather narrow minded when looking at the value of a computer science curriculum.

Re:Computer science as a lost art (2015) by scarface74 on Tuesday July 31, 2018 @08:42AM (#17652669)
Why not have a curriculum that focuses on the full stack?

The full stack consisting of assembly, compiler design, C, networking, operating systems, embedded development, data structures and algorithms, databases development and design (including an understanding of the algorithms/optimizations used).

At least one class in functional programming and at least one in and OOP language.

And for all that is holy please teach classes where they have to do presentations and learn interpersonal skills and a few business classes. I am so sick of working with people who argue about technology but can’t come up with a business case for thier idea.

And then let them choose a “track” based on thier interests - after having for lack of a better term “career day” where people from the industry come in and give talks about what they do and the requirements to get a job there.

If that curricula means cutting out some core classes - so be it.

Re:Computer science as a lost art (2015) by badpun on Tuesday July 31, 2018 @08:58AM (#17652760)
> The full stack consisting of assembly, compiler design, C, networking, operating systems, embedded development, data structures and algorithms, databases development and design (including an understanding of the algorithms/optimizations used).

> At least one class in functional programming and at least one in and OOP language.

I think it's pretty common for CS degrees to have all/most of this in scope already? At least I had all of it, with the exception of embededded development.

Re:Computer science as a lost art (2015) by tonyarkles on Tuesday July 31, 2018 @12:06PM (#17654385)
Yeah... maybe I'm out of touch (started undergrad in 2002) but... that sounds like a CS degree to me! Mine didn't cover embedded at all, but if you took the Advanced OS course, you ended up writing an x86 bootloader in asm at the start, which could eventually jump to main() for your scratch-built OS.
Re:Computer science as a lost art (2015) by jacoblambda on Tuesday July 31, 2018 @09:28AM (#17652934)
You are essentially describing the computer engineering curriculum that we have at Virginia Tech and I imagine a number of other schools have as well. Modern Computer Engineering curricula are more or less old school CS programs in that they focus on everything from user space and below.
Re:Computer science as a lost art (2015) by scarface74 on Tuesday July 31, 2018 @04:07PM (#17656619)
At least from looking at Georgia Tech, there is a difference between the Computer Science curriculum and the Computer Engineering curriculum. The Computer Engineering curriculum seems more practical.
Re:Computer science as a lost art (2015) by scarface74 on Tuesday July 31, 2018 @12:41AM (#17650585)
It’s often argued here that the purpose of a CS degree is “not to get you a job” but to “become a better citizen of the world” and if you just wanted to learn something to get a job “you should go to a trade school”.
Re:Computer science as a lost art (2015) by ThrowawayR2 on Tuesday July 31, 2018 @11:17AM (#17653843)
> It’s often argued here that the purpose of a CS degree is “not to get you a job” but to “become a better citizen of the world”.

I can't recall ever hearing that argument advanced for CS degrees on HN (and I read a _lot_ of HN postings). Perhaps you're thinking of liberal arts degrees?

The usual rationale for CS degrees is that one learns the underlying theory behind the systems and tech stacks that they use, making them a more capable developer.

Re:Computer science as a lost art (2015) by scarface74 on Tuesday July 31, 2018 @01:24PM (#17655091)
Here is one discussion that I was involved in.

https://news.ycombinator.com/item?id=17432191

Re:Computer science as a lost art (2015) by AnimalMuppet on Tuesday July 31, 2018 @01:36PM (#17655188)
What's the point of a chemical engineering degree? It's to learn to be a chemical engineer, but it's not a trade school degree. Far from it.

And there's degrees in chemistry, for those whose goal is to study the way atoms interact with each other. That's different from chemical engineering, where the goal is to efficiently produce the desired molecules at scale, without blowing up the factory. Two different degrees, with two different focuses, in the same general area.

In the same way, I think that computer science needs to be a separate, different degree from software engineering. At the moment, CS is trying to be just one area, but I suspect that it's often inadequately preparing those who are going to go on to be software engineers - who are in fact the large majority of CS grads. (They may also be inadequately preparing those who intend to stay in theoretical computer science, but I have even less information about that.)

Re:Computer science as a lost art (2015) by arethuza on Tuesday July 31, 2018 @04:32AM (#17651502)
Getting a CS degree to get vocational training to be a developer is a pretty terrible idea in my view (and I have a CS degree) - having a physics or mechanical engineering degree is particularly relevant to being a plumber so would you expect a CS degree to help being a developer?
Re:Computer science as a lost art (2015) by scarface74 on Tuesday July 31, 2018 @07:18AM (#17652210)
It should help you get a job. No one says that a mechanical engineer shouldn’t be employable somewhere after they graduate.