Training Computer Scientists

  • I definitely agree with the idea that higher education...shoot, education, in general (if you consider pre-school, private schools, etc.), is WAY too expensive nowadays! Having gone to private (junior and high) school myself and then seeing how much younger folks in my family pay to go to the same school I went to, I am in awe at the increase!!!

    There was an interesting documentary that I saw about how much of a business higher education has become and how much competition between schools drives the business. In the documentary, I think that it is called "Ivory Tower", there is a part of it that details how students at Cooper Union staged a sit-in to prevent the new Administration from instituting tuition at the school. They were successful! Fascinating! Reminds me of another documentary I watched, "Sicko", where a contributor in the film mentioned that "...Government should be afraid of the people...not the other way around...". So, we are in control of these escalating costs.

    As for your question on whether or not it would be best to skip the last 2 years, I think that it is all up to the individual. If you believe that you have learned enough and have found your calling/passing in another arena, then go for it! I started a graduate degree and decided that I did not want to continue, and I have been successful in my career, to this point, without completing that degree.

    Additionally, I think that it is rare that individuals end up in careers aligned with their degrees. Even if you do, you rarely apply all of the theory learned. I have an undergraduate degree in Mathematics, and I rarely, if ever, use any of that knowledge. So, I echo my main point, the goal of higher education, and education, is to help you to become a critical thinker -- obtain all the information that you can and make the best decision. And communication is also key, as you and others have mentioned. I do use those tools daily!

    There are merits to both approaches -- learning in educational institutions or on the job. I think that schools offer more of a conducive environment for learning without dire consequences -- you won't be fired and without a paycheck to cover expenses, although you may fail a course. However, there is more of a buffer/cushion. Is that good or bad?! Again, up to the individual. Some may not be able to get up from a firing, whereas others may use it as a learning experience and thrive.

    - Chris

  • That's a reasonable question, but it might be instructive to pharse it a little differently: If you are looking to be a programmer, do you need education or do you need training?

    The answer isn't really simple, because it depends on what sort of programer do you want to be. It also depends what kind of education is available, and at what cost, and on what kind of training is available, and at what cost.

    If you want to be a programmer who does what he's told and nothing else and programs only in the languages that have grabbed a chunk of market for no other reason than outrageous hype (eg Basic, C++, APL, etc) or languages which survive mainly because there is an enormous legacy of code in them because they were in comon use before anything was understood about principles of programming language design (eg Cobol), then all you want is basic skill training. There are some universities which will provide such training and spend 4 years and a lot of your money for something that should take about 8 weeks and a lot less money. Such university courses could usefully be abolished to save their victims from wasting their money. So people whose idea of programming is this should not go to university for their training - but if they can afford it they should go to university and study something unrelated (music, French literature, Organic chemistry, Civil enginering, Literae Humaniores, or whatever they choose - it might even be CS or Maths) that they will enjoy studying because (provided they pick a decent University and course) they will enjoy it and it will improve their interpersonal skills.

    That's hitting the nail on the head. Education vs training. I see it as a spectrum. Some jobs require more training, some require more education. If not initially, then perhaps to allow for growth. And some people really grow and succeed with an emphasis on one or the other. As the parent of one daughter halfway through a 6 year Doctorate program and another looking into engineering (biomedical), I want them to have both. Graduates today need skills (training) and education. D1 will certainly have her pick of job opportunities when she finishes her program as she is at the top of her class and is getting experience in her field through summer jobs and rotations. D2 is looking at colleges that offer Co-op programs. This will mean she'll need 5 years to get a BS, but upon graduation, she will have a year of experience in her field. Maybe this is a result of my own experience with education. After I graduated with a bachelors degree in Biology, I got training through a diploma program in Systems Analysis. My BA got me my first job, my Diploma got me my first dream job.

    Live AND Learn.

  • There's one thing about "Computer Science" that's different from most of the other Sciences/Disciplines studied in Universities. Computer Science is still in its infancy. We've had literally thousands of years to establish what Mathematics, Chemistry, History, etc. are, and what it means to be a Mathmetician, Chemist, Historian, etc. But Computer Science? We don't even have a century's worth of time dedicated to the discipline.

    What is Computer Science, anyway? What does it mean to be a Computer Scientist? How is that different than a Programmer (And I assure you, it is). The answer to that question will determine the degree's worth, and cost. And I don't think there is an answer, yet. Much like a college student, Computer Science is still "finding itself"

    I'm not so bold as to claim to know the answer to these questions, but I have noticed that Computer Science tends to focus on Hows more than Whys. e.g. How do I do task X most effieciently? How do I sift through dataset Y to get the correct answer? It's this study of 'how' that helped me apply my Computer Science degree to jobs outside of the industry I used to be a retail store manager, and I assure you I used my degree every day in training (programming) my staff.

  • I don't agree with this article.

    I've got a BA and an MS in Computer Science and a 20+ year career in IT. I've taught Computer Science at the community college level and have worked multiple jobs as a developer/DBA (never had DBA in any of my titles but have shown those who do have it in their titles how to do some things but I digress. . .)

    While I don't think it's totally necessary for a network admin to have a CS degree, the worst developers I've ever worked with or worked behind didn't have a CS degree and the best developers did. I'm currently working with a guy who has 32 years of programming experience but the majority of it was spent maintaining one application--and upgrading it in different versions of Visual Studio. He's a junior level programmer and it makes for a frustrating work environment when I'm having to go and clean up his mistakes. You'd think that 32 years of programming experience versus 20+ with education that we'd be even in our programming skills or the 32 years would be able to program circles around me but that's not the case.

    I won't even get going on the database aspect of it, particularly with the normalization of databases. When I asked him during the interview about normalizing databases, the response was, "I try to."

    I do see that some CS degrees better prepare others for the job market as developers. Some CS degrees are more geared for continuing on and getting a Master's and then a PhD. Not only is it important for the college to work with employers in their area about what kinds of skills are needed, it's also important for employers to reach out to the colleges--contact the CS faculty, the career center, offer internships, etc.

  • alicesql (7/2/2015)


    That's hitting the nail on the head. Education vs training. I see it as a spectrum. Some jobs require more training, some require more education. If not initially, then perhaps to allow for growth. And some people really grow and succeed with an emphasis on one or the other.

    Very true, though lots of these can come while you're working. Choosing to forgo a degree to start working doesn't mean that if the necessity comes up, you can't go back and get more education or training.

  • TomThomson (7/2/2015)


    Steve Jones - SSC Editor (7/1/2015)


    ZZartin (7/1/2015)


    A math degree is not job training to be an accountant and a CS degree shouldn't be thought of as job training to be a programmer.

    We have accounting degrees.

    I agree with you, but that's not the point. The question is if you are looking to be a programmer, should you go to university.

    That's a reasonable question, but it might be instructive to pharse it a little differently: If you are looking to be a programmer, do you need education or do you need training?

    The answer isn't really simple, because it depends on what sort of programer do you want to be. It also depends what kind of education is available, and at what cost, and on what kind of training is available, and at what cost.

    If you want to be a programmer who does what he's told and nothing else and programs only in the languages that have grabbed a chunk of market for no other reason than outrageous hype (eg Basic, C++, APL, etc) or languages which survive mainly because there is an enormous legacy of code in them because they were in comon use before anything was understood about principles of programming language design (eg Cobol), then all you want is basic skill training. There are some universities which will provide such training and spend 4 years and a lot of your money for something that should take about 8 weeks and a lot less money. Such university courses could usefully be abolished to save their victims from wasting their money. So people whose idea of programming is this should not go to university for their training - but if they can afford it they should go to university and study something unrelated (music, French literature, Organic chemistry, Civil enginering, Literae Humaniores, or whatever they choose - it might even be CS or Maths) that they will enjoy studying because (provided they pick a decent University and course) they will enjoy it and it will improve their interpersonal skills.

    If you want to be a programmer who can pick up a new language (and a new programming paradigm) at the drop of a hat, and can design new languages without making all the classical mistakes and get them accepted (even if only with a very small market share) or to have serious influence on what the companies you work for decide to do (and maybe end up at VP or even chairman level) then you need a technical degree. It could be CS, or SwEng, or Maths, or Mathematical Logic but it must not be one of those courses that just trains you to write Java and a bit of C++ or C#.

    A CS course must cover concepts like type theory including Abstract Types, Existential Types, Universal Types, explicit and implicit type systems, and programming language semantics including Operational Semantics and Denotational Semantic, language paradigms (Procedural Languages, Logic Languages, Process-oriented Languages, Functional Languages, Relational Languages) and code structure concepts and their strengths and failings (Structured Programming, Object Oriented Programming, Spaghetti Programming [the world's most popular and common style :hehe:], cut logic, cut-free logic, parallel logic, Lazy Evaluation, Eager Evaluation, Exlicit Eagerness control, normalisation including normal forms and unnormalised tables, Codd's "laws"), and error management including detection, containment, recovery, and reporting). It must also inlude learning to write some decent code in a range of languages (something like C#, F#, Haskell, one of the MLs, Smalltalk, JavaScript, C++, Prolog, Parlog, CSP, CCS, SQL) but must not degenerate into coder training, and ideally also cover enough mathematical logic to handle the halting problem and the incompleteness theorem and computational complexity of algorithms, which of course will need a bit of recursive function theory and set theory and maybe enough topology/calculus to cover the underlying ideas of Scott-Strachey semantics. Of course (depending on the country) it may need additional courses in things like English writing.

    So I sort of agree with the editorial both because certain degrees are a waste of resource and shouldn't be taken and because some people go for the wrong degrees. But I also disagree with it in that I think a good degree can provide (a) a few years of fun and (b) a backround of knowledge and understanding that will improve a programmer's capability to do new and interesting things enormously.

    +100. If this had been the first reply in the thread there wouldn't have been a thread. 🙂

  • TomThomson (7/2/2015)


    ... SQL developers without degrees were as rare as hens' teeth.

    I saw a stretch of this. It seemed every developer/programmer I worked with had some degree. The last 4-5 years, it seems I meet people regularly that don't have degrees.

  • TomThomson (7/2/2015)


    That's a reasonable question, but it might be instructive to pharse it a little differently: If you are looking to be a programmer, do you need education or do you need training?

    The answer isn't really simple, because it depends on what sort of programer do you want to be. It also depends what kind of education is available, and at what cost, and on what kind of training is available, and at what cost.

    ...

    Thanks, Tom, and a perspective I tend to agree with.

  • mfagan12 (7/2/2015)


    I don't agree with this article.

    I've got a BA and an MS in Computer Science and a 20+ year career in IT. I've taught Computer Science at the community college level and have worked multiple jobs as a developer/DBA

    Fair enough, but the majority of people you've worked with, probably had degrees and were they all excellent programmers? Many people don't have CS degrees in this business. Is that good or bad? Of those with CS, how many make poor programmers for a business? I've seen no shortage of them. I've also seen some amazing developers.

    There will always be poor programmers, and poor DBAs. With or without degrees. My point is that if you want to pursue a career in programming, starting with a degree might not be the best way.

  • Looking at the comment that the industry isn't mature the march of technology is such that some techniques that were put forward as being best practise are not totally obsolete. There are obviously some bits where they more they change the more they stay the same but the rate of change is frightening.

    I heard an IT director say that what you learn in the 1st year of a CS degree is obsolete by the time you get to the end of the 3rd year! There are job titles that just didn't exist 10 years ago.

    I think the university thing helps with the research mindset needed to keep abreast of IT. When I started in IT quite a few colleagues dropped out of higher education because they realised that their IT ability was such they could make serious cash. Bill Gates dropped out of university education as did Larry Ellison, Steve Jobs and Mark Zuckerberg.

    When I think of the great programmers I have worked with the one thing they have in common is a mindset/attitude not an education path. Its more of an innate curiosity and an obsession with producing the best thing they could. Not all of them were business savvy and not all of them produced readable code thought it tended to work extremely well.

    I think it would be worth considering what constitutes a great programmer. Is it necessarily the same thing as a good IT corporate citizen?

  • David.Poole (7/2/2015)


    I heard an IT director say that what you learn in the 1st year of a CS degree is obsolete by the time you get to the end of the 3rd year! There are job titles that just didn't exist 10 years ago.

    There are degree courses called CS that are like that. Of course they are named CS despite not teaching any science (whether CS or any other science) at all. Science doesn't go out of date that quickly. Training in the latest over-hyped technical fad does, and that's what some universities concentrate on in their so-called CS courses, and also what gives CS degrees a bad reputation. I've said before and I'll say it again now: these imitation CS courses (often taught at otherwise respectable universities) should be scrapped, and preferably made illegal since calling them CS is nothing other than fraud.

    Tom

  • Here is my 2 cents.

    I was kicked out of highschool. I never made it to a university. One of the main reasons I failed to succeed in school was because I was programming text-based games on Unix systems when I was 16 years old. I'm about to be 33 years old in a month.

    I didn't enter the job market as a programmer. I used my technical skills to work in digital marketing, specifically, communications and marketing within the tech industry. I knew from the start that I could not develop the next video game engine. I did not have the programming let alone the math chops to take on such a huge task.

    Having worked with large-scale development teams comprised of all levels of talent, I could honestly say that some of the best programmers and developers I've ever worked with had no degrees. This is because of the same passion I had that caused me to fail in high school long ago.

    Passion. This is something I want to highlight here. Now, I've seen a few comments on how some programmers without degrees were actually not so great. Even worse, some had over 10 years of experience in programming and were still junior levels at best.

    Unfortunately, I don't think this is due to just not having a degree. This has a lot to do with not having passion in what they are doing. That's because people with passion for what they are doing will continue on their education without a degree and have a higher chance of being successful due to that passion in what they are doing.

    Sure, education is critical to your success. I'm not saying it's worthless. All I'm saying is that some people are able to be amazing cooks from simply having a passion for food while others discover that passion while in school. Most of my friends found their passions with the help of school.

  • xsevensinzx (7/3/2015)


    Here is my 2 cents.

    I'd rate it a lot more than 2 cents.

    Passion. This is something I want to highlight here. Now, I've seen a few comments on how some programmers without degrees were actually not so great. Even worse, some had over 10 years of experience in programming and were still junior levels at best.

    And you can say the same about some with degrees. Personally, I think it helps to have a degree, but it certainly doesn't guarantee thatyou are going to be any good - and neither does "it helps" mean that you can't be good without it.

    In fact passion is a real driver towards success; I'm good at computer stuff because I'm passionate about it. My degrees in Maths and Math Logic certainly helped, but without the passion I wouldn't have been able to do the things I did, and neither would I always have had people who wanted me to come and work with them.

    At the same time, it's clear to me that passion on its own doesn't always work - there has to be some capacity to understand the stuff as well as being passionate about it. But given the passion and the capacity, a degree is neither here nor there - anything that's needed can be leant (much more easily now than half a century ago, with all the free courses on the web).

    But the important thing to remember is that passion and education tend to go together - those with pasion will usually find some way of acquiring the education, even if they don't use a degree course to do it.

    Tom

  • TomThomson (7/4/2015)


    But the important thing to remember is that passion and education tend to go together - those with pasion will usually find some way of acquiring the education, even if they don't use a degree course to do it.

    Indeed. I personally believe education will lay a great foundation for the road you want to take where passion is going to act as the vehicle that gets you there. Those without that education will have to use passion to lay the foundation instead. Those that don't, normally substitute it with something else like greed and so forth.

    I just think it's silly to blame the lack of education for someone's inability to tackle the basics of their so-called profession or trade. That's just a lack of passion, not just education.

  • xsevensinzx (7/5/2015)


    TomThomson (7/4/2015)


    But the important thing to remember is that passion and education tend to go together - those with pasion will usually find some way of acquiring the education, even if they don't use a degree course to do it.

    Indeed. I personally believe education will lay a great foundation for the road you want to take where passion is going to act as the vehicle that gets you there. Those without that education will have to use passion to lay the foundation instead. Those that don't, normally substitute it with something else like greed and so forth.

    I just think it's silly to blame the lack of education for someone's inability to tackle the basics of their so-called profession or trade. That's just a lack of passion, not just education.

    So long as the job doesn't burn the passion out of you...you can have a great career.

    When the job goes to pressing you into working 90+ hour weeks for months, then you really need to step away or you face the possibility of burnout. I know. I had to do it. I left a software engineering job at a Fortune 500 corporation to go do timekeeping system installs for another company because of the unrealistic workload expected by management.

    And at this point, I wish I'd skipped the CS degree til later and followed my heart and went right into the workforce. I'd probably have been much happier.

    But after 20+ years in programming, I've finally found a good workplace where I'm treated great by everyone...from the guy at the top to all of my co-workers. It's actually a nice feeling.

Viewing 15 posts - 61 through 75 (of 96 total)

You must be logged in to reply to this topic. Login to reply