4 ms·
When I graduated with a CS degree in 2003, all of my programming experience was in C/C++. After graduating, I went into web development using scripting language
by palehose 16y ago
When I graduated with a CS degree in 2003, all of my programming experience was in C/C++. After graduating, I went into web development using scripting languages that were never taught in school. I would have loved to have had classes focused on web development with scripting languages rather than take classes on operating systems and computer architecture. There is nothing silly about that.
- jerf 16y agoIf you're bashing together some web scripts for your local HR department in a company of 100 people, yeah, OS and computer architecture isn't very useful. If you're a professional web developer that is creating web sites that need to be reliable, need to interact with other computer systems, and need to be performant even under heavy load, you will if anything find that your operating systems and computer architecture courses were merely the beginning of what you really needed. You need everything you can get when you're trying to make a web page that doesn't take 4 seconds to load. Learning another language isn't really the hard part of the problem.
- RodgerTheGreat 16y agoAnd perhaps more importantly, a CS education is applied to programming. Computer Science is a theoretical discipline heavily rooted in mathematics. Computer Science should not be confused with software engineering.
- reubenyeah 16y agoAt my university, Software Engineering is a more theoretical course than CS, with no compulsory programming, and indeed no option for programming in year two, except for a Java module in year one, you do have to build a piece of non-trivial software for your final project though.
- btilly 16y agoI disbelieve. I was debugging performance problems in high performance websites before I ever began to try to fill in some of my severe holes due to not having taken CS. Thus I can say from first hand experience that a little quantitative thinking is enough to debug many real life performance problems. Absolutely no knowledge of operating systems and computer architecture required.
- jessedhillon 16y agoWhat kind of "performance problems" are we talking about here? Taking 2 minutes to write to a database because of some poorly indexed tables? Or trying to serve millions of requests in under 100ms each by intelligently leveraging a caching layer? Maybe these days anyone can just take memcache and use it off the shelf. But the class of solution that memcache represents (or Cassandra, Thrift, node.js or XYZ...) is one that will not typically occur to a non-CS person. There's no basis for even understanding it. As someone involved in hiring, I look for people who possess the capability to engineer solutions to my problems from scratch, starting with nothing but a solid basis in CS (even if they won't be doing that every day). I don't want just another tube connector (someone whose experience is primarily in leveraging APIs to write trivial but tedious code).
- btilly 16y agoWhat kind of "performance problems" are we talking about here? Taking 2 minutes to write to a database because of some poorly indexed tables? Or trying to serve millions of requests in under 100ms each by intelligently leveraging a caching layer? Both, and more. If you have a math background (as I do), it is not hard to pick up enough practical knowledge to be usefully dangerous. Here are a few examples. Let's turn on internal database tracing just for one web page so we can figure out why certain requests are slow. What traffic can we move to read-only copies to reduce load on the main database? We're going to do an Oracle 8 to Oracle 9 migration, let's track every single database request for a day, and then do them again later against a test database at full speed. At the start of each web page our database driver pings the connection to verify that it is still good. This functionality is essential for failover to work correctly, but due to an internal locking issue it is causing Oracle severe trouble under load. Fix the load issue without compromising our ability to fail over properly.
- Zak 16y agoIt sounds like you wanted to study software engineering, not computer science. It's a shame that most universities don't offer both, just as they might offer both physics and mechanical engineering.
- glenjamin 16y agoMy university offers degrees in both Comp Sci and Software Eng. Over the course of a 4 year undergraduate masters programme I think we took maybe 3 different modules (where a module is 1/12th of a year).
- Maro 16y agoBut why? If you went to Uni and learned C/C++, you must have picked up whatever scripting language you had to use very quickly. What would have been the point of spending a Uni semester on it?