Decaflon

Welcome to Decaflon! Where the geeks hang out: Signup or Login Here
Decaflon is proudly hosted by (mt) Media Temple.  We recommend them for your web hosting needs.
Clips: Popular Clips Upcoming Clips Notes: All Notes

In my decade+ web experience, and epescially in the past 3-4 years of agency work, I've grown to find that the best programmers are those who don't have Computer Science degrees, and never went to college for anything systems/programming related. For every 1 rockstar that went to college for it, I find 10 rockstars that didn't.

So i'm curious, what the hell are they teaching over there? It doesn't seem that they are teaching:

1. Importance of optimization / light codebase
2. Importance of flexibility
3. Importance of consistency
4. Importance of putting your presentation layer first (HTML should be able to be HTML)
5. Importance of simplicity

Just a little bit of a rant... it seems the "professional" programmers out there are far less competent than those who learn it themselves. Which seems totally backwards.

i agree

One of the main reasons I didn't like HTML or any web-related classes was that everything they were teaching was so outdated (even back when I was in high school). And I bet you some of them are still teaching the same exact stuff that I thought was outdated 5 years ago.

My theory is that they teach you how to do it, but not how to implement it.

e.g. "This is how you create a SQL db. Go pass your exams." But they don't tell you how to effectively manage it, keep it lightweight, etc.

Many people that get CS degrees are people that just enjoy computers and think that it would be interesting. Those that work in the software development field without pursuing a degree are presumably more passionate (a given considering they are self-taught). Many CS majors I know don't do any software development or bother to learn anything outside of school.

I'm not convinced that CS people learn anything that can't be self-taught, but I don't have a CS degree...However, I have friends who do and I've worked with people straight out of college who do and they are more or less useless, for a little while at the very least.

There is education worth pursuing though. I have a degree in Software Engineering that was well worth the hard work. My degree was more about software process and theory than the actual programming, but it gave me the knowledge and experience in many things that a CS or self-taught individual may never achieve (or it might take them an additional 5-10 years to get there).

I'd recommend getting a degree anyways though, it looks much better than nothing on a resume. Web development is quite a bit different from normal development though, the best people for web are the people that keep up with the constantly changing issues and environments.

I spent 3 years in college until I finally got fed up, and I'll say that if you are dedicated, you can learn far more by just raw experience (and a good bit of surfing) than you can in college.

This is a given, of course... Experience ALWAYS outweighs education. But I think that people with a degree often (not always) lean too much on their degrees and what they learned there. I'm not just talking about CS degrees, but Graphic Design degrees too.

A lot of GD students can design perfectly well when they know what their teacher wants, but when they go out and try and get a job doing something more specific like web design, they don't have the same edge that someone who has spent the last 4 years actually DOING web design.

College Degrees of course, very important. But the fact of the matter is the web moves faster than colleges ever will. Experience helps keep you on your toes and on the edge of this rapidly changing field.

I went to school for computer sciences and computer engineering.

I didn't learn anything useful. The programming methods they taught I had taught myself in middle and highschool. I got a good bit of math out of it, but aside from that I feel it was a collossal waste of time and money... and I had a full scholarship.

Spending the years I did in university was probably held me back from success far more than any other mistake I've made in my life.

I think it depends on whether you mean web programming or other programming. At my school... like it or not those are two drastically different things and even when they mixed, the approach was different depending on the background of the teacher.

I was a CS major up until I realized that (a) it was not the path to being a web diva and (b) calculus is the bane of my existence.

In the CS dept I learned how to program basic data structures in C++ and how to construct programmatic circuits (don't remember why) and one class where we talked about modeling... Oh and can't forget... I learned everything I know about Sun and *nix systems.

The two web related classes I had in CS were one where the teacher brushed us through html then turned us loose to make a "site" for a client and the a database class which was called web applications with java. yuck. it focused on normalizing databases. I don't remember even hearing the word java which was no loss.

I guess my ultimate point is that while there is some root skills that crossover. my experience has been that programming for the web and programming for all else are treated as two animals of different species in the university environment.

I have to disagree with the hypothesis that because you found programming success through an alternate route and aren't surrounded by quality CS degree-bearing programmers that a Computer Science degree must be useless.

There is a misunderstanding here as to what a Computer Science degree is. Obtaining a CS degree isn't about learning everything there is to know about PHP or HTML/CSS separation -- there are community colleges and other degrees for that. It's about creating knowledge that can be applied to any programming situation. Computer Science courses teach one the foundations of information, computation, and programming. CS majors take a variety of theoretical, programming, and math courses so as to learn the building blocks of programming and computation. Certainly, there are many courses on specific topics (which are great) but the whole point is to create building blocks of knowledge.

I have data structures like queues, deques and linked lists swimming around in my head that I can apply to a variety of programming situations. I've learned the foundations of programming languages making it easy for me to pick up about any new language I choose because, really, they all have the same basic pieces.

If a CS degree-bearing programmer doesn't understand (or care about) simplicity, flexibility and optimization in code then they weren't paying attention or, unfortunately, chose a bad comp. sci. program.

In the end, one gets out of formal education what one puts into it. In my opinion and experience, people who felt they were short-changed didn't put enough into it.

As I was previously seeking a computer science degree I couldn't agree with your rant more... college, especially in regards to web design or computer programming is bullshit. It cannot keep up with the constantly updating nature and pace of the industries.

One thing that it really missed in the programming courses in College that doesn't mirror the real world is Peer review/code review. In college I'd basically submit a zip of my source code and get a grade for it -- never really taking the time to find out how I could have done it better. At the time though there's so much else going on, and you're usually worried about the next assignment, so going to the TA/professor to get a full explanation of how things could be improved isn't a priority. The people are doing this because they love it, or are just the kind of people who want to know why they didn't get a 100% are the two types of people who seem to actually learn enough to be in a good position when they get out of college. That probably rules out 9 out of 10 right there.

Nicole: I think you misread my post, because those are *exactly the skills* I was looking for. How to create a string in XYZ language is programming... I'm talking about core values. I'm talking about 100% theory ideas, like the idea behind writing code for the future -- not just today. The idea of analyzing a problem and deciding on a data structure that best suits it. These are the points I see failing in people.

Please Login To Leave A Comment

Decaflon Sponsors Get in touch if you want in.

Hot Notes (View all »)

 

Decaflon is part of the Chawlk Network of sites.

9 Great Places To Visit, Hang Out, & Meet New People

What's new and interesting at other Chawlk Network sites: