Slashdot Mirror


Do Businesses Really Need to Hire CS Majors? (cio.com)

A new article in CIO magazine argues that when it comes to computer science, "few of us really need much of any of it." Slashdot reader itwbennett offers this summary: At the heart of the matter is the fact that most businesses don't really need programmers to be deep thinkers. For them, it's "just as worthwhile to hire someone from a physics lab who just used Python to massage some data streams from an instrument. They can learn the shallow details just as readily as the CS genius," according to the article.
CIO's anonymous author promises an incomplete list of "why we may be better off ignoring CS majors." Some of the highlights:
  • Theory distracts and confuses. "Many computer scientists are mathematicians at heart and the theorem-obsessed mindset permeates the discipline."
  • Academic languages are rarely used. "...the academy breeds snobbery and a love for arcane solutions."
  • Many CS professors are mathematicians, not programmers. "One of the dirty secrets about most computer science departments is that most of the professors can't program computers. Their real job is giving lectures and wrangling grants...."
  • Many required subjects are rarely used. "...it's too bad few of us use many data structures any more."
  • Institutions breed arrogance. "...the very nature of academic degrees are designed to give graduates the ability to argue one's superiority with authority. "
  • Many modern skills are ignored. "If you want to understand Node.js, React, game design or cloud computation, you'll find very little of it in the average curriculum... It's very common for computer science departments to produce deep thinkers who understand some of the fundamental challenges without any shallow knowledge of the details that dominate the average employee's day."

"It's not that CS degrees are bad," the article concludes. "It's just that they're not going to speak to the problems that most of us need to solve."


245 of 473 comments (clear)

  1. Heh by Anonymous Coward · · Score: 5, Insightful

    This sounds like it was written by a non-CS major who has tied all their business processes to wonky VBA macro laden Excel workbooks.

    1. Re: Heh by Anonymous Coward · · Score: 5, Funny

      You forgot the part where they are running production databases on Microsoft Access.

    2. Re: Heh by Mogusha · · Score: 4, Informative
      Sounds more like someone who doesn't understand that computer science isn't a degree in programming. It's a degree in the theory of programming, not in programming itself. So, to say that it's bad that a computer science teacher doesn't know how to code means nothing bad about them if they know the theory. Pretty much the only reason CS majors learn to code is to implement the theoretical algorithms and structures in a way that is concrete.

      Depending on the institution many of the CS departments came directly out of the mathematics Department. Which is one big reason why many of them are highly math oriented.

    3. Re: Heh by Anonymous Coward · · Score: 1

      I am a master in Computer science, and yes, our dept was the mathematics dept. On my second-to-last year at university, we had an assignment to create a simple compiler. So, no programming expertise needed AT ALL !

    4. Re:Heh by Spazmania · · Score: 5, Insightful

      This. You hire CS majors because they know about the problems you don't know you have and can prevent them from becoming business catastrophes.

      Construction doesn't need every carpenter to be an architect but you'd better have an architect.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    5. Re: Heh by Spamalope · · Score: 1

      Ours demanded that storage be added to the VMware server via a Best Buy external USB drive because 'We're doing it my way'. genius...

    6. Re: Heh by admin7087 · · Score: 5, Informative

      100% this. It's a blatant misunderstanding of the discipline to think the main goal of computer science is to enable someone to program. Maybe you could say that being able to program is a prerequisite to start learning CS, though. In Germany the discipline is called "Informatik" which is perhaps a better term than CS. However, in the end CS is a branch of applied mathematics, but one that is important enough to warrant its own discipline. In that respect it's similar to statistics.

    7. Re:Heh by arglebargle_xiv · · Score: 5, Interesting

      Construction doesn't need every carpenter to be an architect but you'd better have an architect.

      Or just a competent builder. My dad was a builder, and almost every single architect-designed house he built needed anything from significant through to major design changes to get it from what the architect wished for to being physically buildable and in compliance with building regulations. There was one house that was so bad he refused to build from the architect's plans when the owner wouldn't agree to him fixing them. Forty years later the owners are still in the house, and they'll be there till they die, no-one in their right mind would buy what they ended up with.

      I've seen the same thing with software, I once did a bit of work for a company where their salesdroids would spend their lunch hour telling me why their Grand Poobah System Architect's design couldn't ever work. It didn't even take a developer, even the sales guys could see why it couldn't possibly work, and they had things like MBAs and BComs.

    8. Re: Heh by Anonymous Coward · · Score: 1, Funny

      Thatâ(TM)s where they keep the spreadsheets.

    9. Re: Heh by ceoyoyo · · Score: 4, Insightful

      The anonymous author of the article has apparently learned (through long and hard business experience) that if you want someone to engineer software you need a software engineer.

      Which has very little bearing on whether computer scientists are useful in industry. Lots of businesses find mathematicians invaluable. Computer science is a highly related field. But if youâ(TM)re using either one as a code monkey, youâ(TM)re doing it wrong.

    10. Re:Heh by Registered+Coward+v2 · · Score: 1

      This. You hire CS majors because they know about the problems you don't know you have and can prevent them from becoming business catastrophes.

      Construction doesn't need every carpenter to be an architect but you'd better have an architect.

      Exactly. Hire people with the skillset needed to do the job. Designing systems and programming are different skillsets, both are needed at the appropriate time. You don't hire engineers to be mechanics, and mechanics to be engineers. They need to work together, using their own knowledge and skills, to build a workable solution.

      --
      I'm a consultant - I convert gibberish into cash-flow.
    11. Re: Heh by Antique+Geekmeister · · Score: 2

      That approach can actually be useful for security and storage migration reasons. Keeping dedicated storage _out_ of the back end storage arrays, transferable as a physical device that can be used without the the rest of the virtualized storage, can have its uses.That used to be a critical piece of some software licensing, especially when the software vendor embedded DRM in a physical USB device. It's been years since I saw that done: I do believe that vendor went out of business.

    12. Re: Heh by Oligonicella · · Score: 1

      That perked up a funny memory for me. When I was hiring programmers for J County Court in KCMo, I actually had some CS major kid promote that he could write a compiler for us. IBM shop. We had a compiler. He was very disappointed.

    13. Re:Heh by Oligonicella · · Score: 4, Funny

      no-one in their right mind would buy what they ended up with.

      So, Frank Lloyd Wright?

    14. Re:Heh by jon3k · · Score: 1

      Kind of like how not everyone needs to hire someone who designs programming languages or builds compilers, right? Most people just need someone who can build simple business applications using pre-built tools (compilers, libraries, etc). In that analogy, the programmer is the carpenter.

      I think for people designing operating systems or working at companies specifically building complex software, you probably do need a CS degree. Although let's be honest, many of the best programmers many of us probably know do not have CS degrees (in my case some of the best have degrees in math). But there is a huge amount of software written for businesses that does not require a CS degree.

      I realize the idea offends a lot of CS graduates, but no one is trying to say your degree does not have value. Just that so much software is written now, and the tools are so mature and easy to use, not everyone needs a CS degree to write all software.

    15. Re:Heh by arglebargle_xiv · · Score: 2

      no-one in their right mind would buy what they ended up with.

      So, Frank Lloyd Wright?

      Someone with 1/100th of Wright's talent, but all of his engineering skills.

    16. Re: Heh by Joe_Dragon · · Score: 1

      arcade games still use usb dongles for security / DRM.

    17. Re:Heh by rastos1 · · Score: 1

      Forty years later the owners are still in the house, and they'll be there till they die.

      To me it seems that the house works as expected.

      no-one in their right mind would buy what they ended up with.

      Oh, was the intent to sell the house once it is built? Well, that's probably a different task, isn't it?

      The scenario is not unlike to the topic at hand. In many cases, the code is cobbled together to scratch an itch. The CS comes in when the project grows too much in size, has more developers, has to scale, has to withstand security attacks, ...

      The whole discussion is about: a) senior programmers say: eventually the project will get complex and you better hope it was designed by CS major b) MBAs say: the project will not get complex and duct-taping it together is good enough, let's move to another business opportunity.

    18. Re: Heh by Anonymous Coward · · Score: 1

      If all youâ(TM)re looking for is teadable and maintainable code then perhaps youâ(TM)re hiring the PhD for the wrong reasons. If youâ(TM)re hiring them to solve hard problems then youâ(TM)re hiring for the right reasons. PhDs donâ(TM)t spend 8+ years of their lives to become coders. What most (successfull) companies do is to pair phds with software engineers without the expectation of one individual being able to wear more than one hat well.

    19. Re:Heh by arglebargle_xiv · · Score: 1

      Forty years later the owners are still in the house, and they'll be there till they die.

      To me it seems that the house works as expected.

      In a manner of speaking, it's a terrible house to live in and they can't get rid of it short of perhaps burning it down. I wouldn't used the word "works" though, more "broken as designed", "close to unliveable", and certainly "unsellable".

    20. Re:Heh by Aristos+Mazer · · Score: 1

      Sounds like the grand poobah wasn't a software architect, just a programmer promoted too far.

    21. Re: Heh by 0100010001010011 · · Score: 1

      I'm a Mechanical Engineer that has programmed since 15 and built my career around it. "Programming" is akin to keyboarding these days. It's just a skill you use to get other jobs done.

      If companies are blindly hiring CS majors because they need programming done, they're doing it wrong. They need to hire the major that best suits what they need done.

    22. Re: Heh by 0100010001010011 · · Score: 1

      GreenHills and dSpace still do too.

    23. Re:Heh by MichaelFlinn · · Score: 1

      SE is like an EE or CE or other E, but for software- an SE is not like an architect. On any large building project, you have a lead engineer, the person that says what the architects have planned is possible.

    24. Re:Heh by Jumperalex · · Score: 1

      Thank you for a very accurate, non-car, analogy.

      When I'm interviewing for certain roles there are many times when my feedback to the recruiters is, "this person will get bored on project X ... send their resume over to Billy Bob who's doing some more exciting almost 'new-science' stuff"

      Bottom line is I'm not gonna ask (or pay) a CS to spend their entire day coding up basic web pages using a nearly 10yo tech stack ([cough] federal [cough]). Instead, go find me someone who just finished a coding bootcamp that wants to build their resume and while showing me how they can take the client's aging tech stack into the modern era.

      --
      If you can't be good, be good at it!
    25. Re: Heh by Anonymous Coward · · Score: 1

      A company needs to hire a CS major if they are developing things like new computer languages, new operating systems, or new compilers. If they are using an existing language with existing frameworks to support or extend existing code, then hiring a CS major is like hiring a heart surgeon to pull a broken tooth. Sure, they can do it, but it's nowhere near their center of discipline.

    26. Re: Heh by HiThere · · Score: 1

      That's interesting. I was given that assignment (decades ago) in an extension class called something like "advanced introduction to programming".

      But the article is largely right. Most businesses don't need more than one or two real programmers. Many don't need any, if they use packaged solutions.

      Back in the day, if you wanted to use a computer, you needed programmers and a systems administer. Then someone wrote a spreadsheet, and someone else wrote a good word processor...and the number of businesses that really needed a programmer took a nosedive. But most people didn't realize that, and didn't realize that systems administers had become MUCH more important. These days (I'm guessing here!!!) the number of real programmers needed is probably about the same number that were needed in 1970, but the number of "power users" needed is immense...but declining. And if systems administration were properly valued, then the number of systems administers needed would be declining, but since it hasn't been, the proper automation tools have not been really developed, much less widely used. (OTOH, just imagine that every smart phone required a systems admin.)

      A part of the problem, though, is that programming is an art, a highly technical art, but still an art. You can't know how good a programmer someone will be until that person has been trained extensively as a programmer. And different programmers will be "good programmers" in different areas of the profession. There are extremely few "universally good programmers". (I'm not claiming that every programmer will be a good programmer in some area, but rather that a good assembly language programmer is unlikely to be a good web page programmer. One *is* more difficult than the other, but which depends on the person. They need to optimize things differently.)

      This makes it a difficult problem. You need to train large numbers of people most of whom will only end up being adequate, and you can't predict ahead of time which will be good at what...and neither can they. But because of the nature of programming (software is easily duplicated) and the lack of a large need for custom solutions, ... (left as an exercise for the reader)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    27. Re: Heh by HiThere · · Score: 1

      That's *usually* correct. But there are places where things need to be really optimized (for something...possibly speed, possibly memory, possibly intelligibility). That the code should be correct is difficult to dispute. There are very few places where that's secondary. But they exist!! That's why some code uses heuristics. (Unless you adopt a definition of "correct code" where code that sometimes produces the wrong result can fit as part of a larger system.)

      OTOH, some quite experienced programmers will argue against choosing intelligible code over concise code, even when there's little advantage to conciseness. And some programmers feel that using their own personal macro library makes the code more intelligible. (And it does...to them.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    28. Re: Heh by Bengie · · Score: 1

      I wish programmers made correct code. Usually "fails" silently. I quoted "fails" because they can't even define how it should work in the first place. It's easy to tell if some code is crap by asking the person who made it "what should your code do if X happens", and they can't answer.

    29. Re: Heh by PaulRivers10 · · Score: 1

      Yeah, many devs with cs degrees can write very readable code, but if you have code that looks extremely fancy but is nigh unreadable it's always from a c.s. major. Unstructered hodepog is self taught, so structured it's incomprehensible is a c.s major.

    30. Re:Heh by jellomizer · · Score: 1

      The real problem is lack of vocational programmer training. So most businesses need people with a CS degree no... But people with CS Degrees are the ones who understand how to program well and make programs that do not fall apart when you look at them the wrong way. Or force you to upgrade them after any small change to the environment or the business need.

      This type of stuff they don't teach as part of CS normally. However if there were more vocational type of training to teach future programmers vs Computer Scientists it may be more adventitious.

      That said this article misses the point and more likely is the fact that businesses don't want to higher an educated high paid workforce. Because such a workforce doesn't just do what you tell them to do, are more than capable to making business decisions themselves. So if a company is used to dealing with low skilled workers hiring people with college degrees or masters degrees is difficult to manage. And requires a different type of touch.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    31. Re: Heh by 0100010001010011 · · Score: 1

      We know this. Hiring managers and HR doesn't. Most code being written isn't new languages, OSs or compilers.

    32. Re: Heh by sjames · · Score: 1

      Certainly, many HR departments don't understand that, just look at the requirements they post. The author is probably writing to that audience.

    33. Re:Heh by sjames · · Score: 1

      More like technically habitable but not salable.

    34. Re: Heh by jimbo · · Score: 4, Insightful

      My decades of experience have taught me that the type of degree is irrelevant when writing maintainable code. It's about experience.

      Almost all the new people in their first job, regardless of background, are obsessed with how clever they are and writing compact ingenious stuff that's impossible to maintain. Writing maintainable code comes with experience and being hammered in peer reviews (by me) so as to be brought into the mindset.

      There are ofcourse older primadonnas too who write unmaintainable stuff, not all companies offer a culture to teach otherwise.

    35. Re:Heh by Darinbob · · Score: 1

      I have made use of almost every single class I ever took in college in my career, including grade level. Software engineering seemed like the least useful to me. I have used theory, algorithms, lab courses, numerical analysis, odd languages, AI, etc. Ie remember the dining philosophers and such, you need that in real time operating systems, even in threaded applications.

      Also don't forget that computer science is a multi-disciplinary subject. It's not about programming.

      There's also domain knowledge, so that those minors and general requirements classes are useful. I do wish more pure programmers could manage to write a set of decent documentation too, so don't skimp on writing classes.

      Anyone who thinks that education is useless needs a refresher.

    36. Re: Heh by Darinbob · · Score: 1

      Also I see too many people who think that the goal of programming is to get an entry level job and stay at entry level forever. This advice also seems to play on parental fears that their children might not get a good job. But what do you do after that first job? Is being an IT help desk flunky the end goal? Giving advice about the shortcuts to take to get a "programming" job doesn't help anyone.

      And CS is more than just applied mathematics, it's multi-disciplinary with lots of related fields glommed together. You have to add in electrical engineering at the very least, which is why in the past before there was a distinct CS major there were competing pulls to have computer types be in the math department versus the EE department. There's linguistics too, we had a solid computing core in our linguistics department when I was an undergrad. Neural networks which has professors in many departments, from math to the medical school.

    37. Re: Heh by Darinbob · · Score: 1

      We have a lot of EE people as programmers in firmware and other low level code. It often works out very badly because they don't have quality coding skills. Sometimes I think they're still doing 1970's style of K&R C. Outside of CS, programming is often taught as a side skill that doesn't need to be honed or improved, similar to that of using a calculator. So the code is good enough to get the job done, which is the goal for most scientists, but ends up being very difficult to maintain.

      It is good to be skilled in both domain knowledge as well as programming, but when the programming gets treated as a lesser skill then things don't work out well.

    38. Re:Heh by Hognoxious · · Score: 1

      itwbennet is Bennet Haselton, second only to theodp and MojoKid for posting retarded shit to slashdot.

      Wait ... third only to theodp, MojoKid and that blue hipster fucktard who used to post the Forbes malware links.

      I'll come in again.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    39. Re: Heh by Darinbob · · Score: 1

      Reminds me of a student in a compiler class who complained that it was pointless to learn how to write a compiler since we already have compilers. In 1984...

    40. Re:Heh by Darinbob · · Score: 1

      Architects may sometimes start out in entry level jobs, but they don't stay there. Why then should a programmer necessarily want to stick around forever fixing bugs and testing other people's code? To move up the ladder you need to have the skills necessary to do that, and for higher tier software designers that means getting the skills you learn in CS.

      Yes, some people learn this themselves without a degree - after all we didn't always have a CS degree so people learned how to write operating systems from experience and without a textbook for it. However the snag with self learning is that it takes discipline to learn about the stuff you don't like and which you don't think is important.

    41. Re:Heh by Darinbob · · Score: 3, Interesting

      Also, when the project gets complex, you will NOT be allowed to start over from scratch. Because it's complex, chances are you can't even disassemble it into workable components that you can reuse. Too many projects like that which eventually get to the stage that the entire team does nothing but keep it limping along until there's a competing product that takes over.

    42. Re:Heh by Darinbob · · Score: 1

      But people will not get those skillsets if they decided to take the shortcuts to get a programming job. People taking the quick path will find their jobs going to the cheapest outsourced workers, whereas people who know what they're doing will become the senior programmers and designers.

    43. Re:Heh by Registered+Coward+v2 · · Score: 1

      But people will not get those skillsets if they decided to take the shortcuts to get a programming job. People taking the quick path will find their jobs going to the cheapest outsourced workers, whereas people who know what they're doing will become the senior programmers and designers.

      Agreed. It's about developing skills that will be in demand and are less likely to be outsourced to the cheapest provider.

      --
      I'm a consultant - I convert gibberish into cash-flow.
    44. Re: Heh by HornWumpus · · Score: 1

      No matter how apparently brilliant or experienced, they all start doing code maintenance. No faster way to learn the structure and experience some maintenance pain.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    45. Re: Heh by HornWumpus · · Score: 2

      BS in CS isn't a qualification for language design, OSs or compilers anyhow, GP is just wrong.

      A PhD who wrote their thesis on some interesting aspect of languages could be useful in a language design team. A BS has likely taken one semester of applicable coursework.

      The PhD in language theory is the last guy you want to hire to maintain a big old stack of SQL backed reports...typical entry level, half test, type work for a recent BS in CS.

      Just never hire BAs in CS. Q: Who gets and 'Arts' degree in a science? A: Someone who went to the WRONG university or someone that missed the BS graduation requirements and took the consolation prize.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    46. Re: Heh by HornWumpus · · Score: 1

      Prospective CS or EE students should all know how to code before entering University. Maintainable code is all about experience.

      Embedded coding is still often about squeezing it all into a small footprint. Hasn't really changed that much at that end. Still hand tuning assembler and C. It might look like '1970s style' to you, but you can't do it...

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    47. Re:Heh by HornWumpus · · Score: 1

      A house built by an architect might fall down.

      But a house built by an engineer should be torn down.

      Old, old joke.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    48. Re:Heh by hey! · · Score: 1

      I have to say that "ignoring modern skills" is about the dumbest critique of CS education I've ever heard. A CS education focused contemporary technology would have a useful shelf life of about ten years. A CS graduate from 2005 would be the go-to person when it comes to XML XSL transformations and object patterns but would be useless at Node.js because that came four years after he stopped learning new things.

      This person is complaining tthat a CS education doesn't make you a competent programmer. Well, no shit, Sherlock; those physics majors who used a little Python in the lab aren't competent programmers either. The only way to become a skilled programmer is to spend thousands of hours with your ass in a chair coding. You wouldn't put a newly minted civil engineer in charge of designing a major bridge, and you wouldn't hire a newly minted CS graduate to be your lead developer.

      Once you *do* become a competent programmer, a knowledge of theory, whether you get it from school or reading, broadens your capabilities and empowers you to tackle novel and complex problems. Without that knowledge you might be a very good programmer, but you're likely just churning out variations of things you've already seen.

      "Modern skills" is a moving target. In a couple of years the hot new thing is legacy technology you want to gte off of. To someone whose understanding of what he is doing is built around the specific technologies he's used, it's a big deal. To a "deep thinker" (I've never heard that as a put-down before) it's just another variation on a theme.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    49. Re: Heh by Darinbob · · Score: 1

      Hmm, when I was in college, almost no one knew about programming as computers at home or in school were rare. Those who actually did know programming ultimately had to be retrained because they had bad habits from BASIC or being self taught.

    50. Re: Heh by Darinbob · · Score: 1

      By 70s style, I mean that they didn't know about 'const' and were strongly opposed to be asked to use it, and they didn't declare parameters to functions K&R style, and a type cast every line even where obviously not necessary. This wasn't due to packing into a small space, they would write code that ended up larger than necessary (ie, declaring auto variables as uint8_t which takes a bit of extra code on ARM).

    51. Re:Heh by Spazmania · · Score: 1

      Anybody can build a building which stands.

      Only an engineer can build a building which barely stands.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    52. Re:Heh by Spazmania · · Score: 1

      Before everything was connected on the Internet, there were code-generating platforms that let non-programmers assemble common cookie-cutter apps without needing any kind of software development skills. Hypercard, Powerbuilder, things like that. The original author bemoans the loss of these tools.

      The problem is: modern software requires security. It must be resilient in the face of somebody actively trying to subvert it. You don't get that from a lego set. You need somebody who has some idea what they're doing.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    53. Re: Heh by HiThere · · Score: 1

      You are being silly. How many times does a spreadsheet program need to be written? There are about five common ones used by nearly everyone, and there's little reason to write another. Much of most businesses fits nicely into programs that have already been written. Many businesses don't have any need for ANY custom programs. That's not the way it used to be, and certainly *some* businesses still need custom programs, but most places only need people to use word processors, spreadsheets, and a couple of accounting and tax programs. But systems administration is still relatively primitive. Everyone who tries to do it on a shoestring ends up with their data for sale all over the web.

      OTOH, there's a lot more computers in use in a lot more places, so I estimate that there's still a real market for about as many programmers as there were in 1970. It's a guess. I don't think anyone knows. My wife's business didn't need ANY programmers. For her business I ended up being a graphics guy and a music entry tech. (Yuck, but that was what she needed, so that's what I did.) She didn't even use a tax program, she kept her books on paper and carried them off the the tax professional once a year. She *REALLY* didn't need a programmer. And there are a lot more businesses her size than there are corporations. But she did need computer work. She would rough out a graphic and I'd scan it in, move it over to Inkscape, trace the lines, make sure the symmetries were correct, ensure that the lines had the correct thickness, etc. It's computer work, but it sure isn't programming. I did do a tiny bit of javascript animation, something called Jake's train, which would go back and forth across the screen and toot the whistle when you clicked the button. Programming? Hardly. But she didn't need anything more, and she didn't want anything more.

      Well, I exaggerate a bit. A decade or so ago she had me cobble up a few special purpose games for teaching note reading. That was back when the Mac was pushing Hypercard, so probably sometime in the 1990's. That was programming of a sort, but don't think of game the way a console game acts. That wasn't the point, and anyway Hypercard was too resource intensive for the processors of that day to do anything fancy. But it *had* to be Hypercard, or some language quite like it, because of the interactions required and the time frame. If I've got my time frame correct, my favorite language at that time was Object Pascal, but I'd have never tried something like this in that. Eventually she decided that computer games weren't effective enough at teaching tools. (We probably only did that for a year or two at the most.) Physical games worked better, and could be altered more easily. Then the computer was just used for things like designing and printing out the rules, pieces, etc. And there's exactly ZERO requirement for a programmer in that.

      Most jobs that require a computer interaction can be done quite well using existing packaged programs. There are some that require custom programs, but they are a small fraction of the interactions. Even I, a programmer, do most of my interactions with a computer using packaged programs. That's what an editor is, a compiler, a linker, a software library. When I started off software libraries were essentially missing, unless you needed trigonometric functions or something. Now... you probably don't have any idea how many packaged programs you are using. When I started off there wasn't an operating system. You pushed a button to load your bootstrap code into the computer. Needing the same number of programmers now as then doesn't mean they're doing the same jobs, or that they're as productive, for that matter. Most of the low hanging fruit has already been picked.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    54. Re: Heh by HiThere · · Score: 1

      Well, OK. *That's* a problem I've never encountered. But I can sure see cases where it might.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    55. Re:Heh by arglebargle_xiv · · Score: 1

      But a house built by an engineer should be torn down.

      Some houses built by engineers can't be torn down.

    56. Re: Heh by Spamalope · · Score: 1

      This was to replace primary storage. I.E. Move the active production database VMs from the SAS raid array onto a consumer drive in a USB case. You guys think that could ever be useful? Really?

    57. Re: Heh by overlook77 · · Score: 1

      Sadly, this actually happens.

    58. Re: Heh by Antique+Geekmeister · · Score: 1

      Oh, my, yes, I can picture many such scenarios. I've used several of them. They mostly involve bulky storage that would have been vastly more expensive, or a much larger power drain, than an inexpensive and compact single spinning drive in a USB case. It's unlikely to be a performance improvement. but depending on the application, there are times I was not concerned about that. The biggest reason to do it was physical security: the drive can be easily removed and locked in a fire safe or a vault when not live.

      I'm assuming, from the tone of your comments, that this was not the case in your workplace. But I must admit that sometimes people do quite stupid sounding things for very good reasons. Might any good reason have applied here?

    59. Re:Heh by wyHunter · · Score: 1

      I agree. In a computer science major you learn a bunch of things - at least I did - like how operating systems work, how to write a compiler, how to do complexity analysis of your algorithm to see if you're writing efficient code, how to engineer software so you can build a tight application that can scale, an intro to artificial intelligence ( this was more of a survey course but I did my bachelors and masters in CS quite a while back), a course in data structures, a course in computer architecture to understand how the underlying physical architecture affected programs and how to do low level programming. And a bunch of other stuff. I've wrote code for the following industries: telecom, healthcare, cloud Saas, internet security, embedded applications for precise time (think the clocks that run power systems). In each of those industries I directly applied my computer science knowledge. I do not understand how this conclusion can be drawn. Can you be 100% self taught? Of course. But you still need the knowledge.

    60. Re:Heh by lsatenstein · · Score: 1

      Give me someone who understands business operations, I will let him/her spend some time in
      purchasing
      accounts payable
      accounts receivable
      marketing
      hr
      inventory management
      logistics
      production planning and control
      PMC
      CRM

      They don't need to be the expert programmer, but the expert in business processes.
      And I will kiss him/her on both cheeks and make him/her my IT CEO.

      --
      Leslie Satenstein Montreal Quebec Canada
    61. Re: Heh by HornWumpus · · Score: 1

      Speaking of delusions. Oxford is one of the universities that gives 'Science' degrees in basket weaving. Which is another problem altogether.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  2. No! Just use open source by Anonymous Coward · · Score: 4, Funny

    The whole point of open source is that the software is already written. Just need to put it together like Lego blocks. CS Major won't help. Outsource the development and it will be done in no time.

    1. Re:No! Just use open source by Anonymous Coward · · Score: 1

      Actually no. When the people you outsourced it to screw it up because they are getting paid bottom dollar and really don't know what they are doing. You will have to do it all over again and it will cost twice as much.

      Wrong answer cowboy.

    2. Re:No! Just use open source by Archtech · · Score: 4, Insightful

      The whole point of open source is that the software is already written. Just need to put it together like Lego blocks. CS Major won't help. Outsource the development and it will be done in no time.

      Have you ever written any software?

      If not, don't talk about what you don't understand.

      If so, why don't you "put it together like Lego blocks" yourself and save the trouble and cost of outsourcing?

      --
      I am sure that there are many other solipsists out there.
    3. Re:No! Just use open source by PolygamousRanchKid+ · · Score: 5, Funny

      The whole point of open source is that the software is already written. Just need to put it together like Lego blocks.

      Software development will soon be replaced by automated AI Blockchain technology, which googles and copies & pastes code blocks from Stackoverflow according to the natural language that you speak to Alexa.

      There will be no need to understand what gets copied . . . the Blockchain AI will understand it for you!

      . . . and then Alexa will say, "Thank you for ordering an Obamacare Website!"

      "Customers who ordered Obamacare Websites have also ordered Triple-Headed Dildos."

      "Add to Shopping Basket . . . ?"

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    4. Re:No! Just use open source by polar+red · · Score: 1

      why don't you "put it together like Lego blocks" yourself and save the trouble and cost of outsourcing?

      Yeah, lego blocks knobs are as unchangeable as API's :D :D :D

      --
      Yes, I'm left. You have a problem with that?
    5. Re:No! Just use open source by Megol · · Score: 1

      I think you are responding to a post full of irony.

  3. Bitter much? by locater16 · · Score: 5, Funny

    Is this written by some guy that can't get a programming job because he doesn't have a degree?
    "Wah, they're all elitist nerds. Now I have to write for this stupid website to pay rent. They're the stupid ones, not me! Why don't I get paid $200k a year? Wahh!"

    1. Re: Bitter much? by phantomfive · · Score: 4, Insightful

      I think he's wrong about a lot of his facts. At least, all the CS professors I've met can program.

      --
      "First they came for the slanderers and i said nothing."
    2. Re: Bitter much? by overnight_failure · · Score: 1

      There's a lot of crap in there, mis-characterisations etc. I mean the bit about having an education means you _just_ want to argue with those higher up is brilliant.

    3. Re: Bitter much? by UnknownSoldier · · Score: 2

      It really depends on the school and person.

      One professor would literally hand-wave "Those are implementation details."

      *facepalm*

      WTF!!!

      Outside the academic ivory tower in the real world we write programs to run on REAL hardware today -- not some imaginary future computer that has zero latency.

      Hell, it was just a six years ago that Bjarne Stroustrup was so far out-of-touch with modern hardware and its L1 cache that he was surprised to learn that doubly linked lists give shitty cache usage.

    4. Re:Bitter much? by Jerry+Atrick · · Score: 1

      More likely someone annoyed he's expected to pay for experts when all he needs is trained monkeys. The majority of so called programming tasks are just grinding out endless variations of existing code. Sometimes without any obvious programming involved.

      That said a little CS could stop the monkeys routinely choosing the worst library calls for the code blocks they're wrapping with print systems. Maybe time for a CS lite, where you don't learn the math much but do get basic coding and how to pick the right algorithm when you call someone else's library of them. Monkeys with a guide book.

    5. Re:Bitter much? by GrumpySteen · · Score: 4, Insightful

      It's more likely that it was written by someone with an MBA who adheres to the typical MBA mantra of improving the bottom line by replacing better paid, experienced employees in favor of inexperienced people who accept far less than the market rate for the position. They tend to be almost as cult-like as the anti-vax crowd, latching onto any and every justification for their belief regardless of how ridiculous or misinformed it may be.

    6. Re: Bitter much? by WinstonWolfIT · · Score: 1

      When I was a Junior, I had an assignment to write a lexical parser. The professor spent basically a week explaining how to build and maintain a stack, something like 400 lines of code. I didn't know much at the time, but I wanted to vomit looking at it. I wrote my parser the sane way -- recursive, about 80 lines. Turned in a printout (dates me), it comes back "see me". The coot couldn't understand it so I had to explain it to him.

    7. Re: Bitter much? by phantomfive · · Score: 1

      Well there aren't many 'professional' programmers who understand cache levels. That's already advanced stuff, you'll need to hire an optimization expert. For most people it's just gluing together APIs.

      --
      "First they came for the slanderers and i said nothing."
    8. Re:Bitter much? by admin7087 · · Score: 1

      It's also very common to hire people with higher degrees than needed. Back when I was young, one guy at our school was so good he got the highest possible final degree in every discipline. He then went on to study mathematics, where there was a more level playing field for him. Then he became an SAP consultant. Another friend of mine studied physics. He is now working for Siemens in middle management (I presume). I also knew a mathematician who did his Ph.D. in something very complicated I couldn't possibly understand. Then he was hired as a mathematician by an economics professor and told us that he was laughing his hat off at how ridiculously easy the tasks were that the professor wanted him to solve. But the payment was good and it was definitely easier than to try the postdoc grind in mathematics.

      In a nutshell, this phenomenon is not limited to CS at all. Many companies prefer to higher people with degrees that give them strong math skills, even if they don't use them in their job.

    9. Re: Bitter much? by K.+S.+Kyosuke · · Score: 2

      Heh. It surely sounds to me like you took all the wrong lessons from that course. I mean, a lot of people do, but I'm not sure that's a problem with that course itself.

      --
      Ezekiel 23:20
    10. Re: Bitter much? by Tranzistors · · Score: 1

      More like

      Bjarne Stroustrup was so in-touch with modern hardware and its L1 cache that he surprised you by teaching that doubly linked lists give shitty cache usage.

    11. Re: Bitter much? by godrik · · Score: 4, Interesting

      One professor would literally hand-wave "Those are implementation details."

      But it depends what you teach. I teach computer science. And when I teach algorithms I could not care less how some of the bricks are implemented. I care about teaching correctness and complexity analysis.
      Your example on doubly linked list that trash the cache are a particularly good example. I don't even care that there are trashing the cache because they just change constant. And ignoring them enables me to get my students to focus on something more important in that class: Is it correct? What is the complexity?

      Now when I teach High Performance Computing, I typically tell them that the only thing they should care about is the performance. And therefore the complexity may not be as relevant as before. There is even a very famous case in matrix multiplication that highlights that fact. Because constant definitely start to matter. But you need to care about different things at different point of the curriculum if you plan on driving the concept of the day through the students' brains.

    12. Re: Bitter much? by serviscope_minor · · Score: 5, Insightful

      Outside the academic ivory tower

      I've come to the conclusion that anyone using the phrase "ivory tower" is probably an idiot with a chip on their shoulder.

      we write programs to run on REAL hardware today

      Well done you understand your job. However it's the height of arrogance to assume that because you don't understand academic jobs that they're somehow worthless.

      Hell, it was just a six years ago that Bjarne Stroustrup was so far out-of-touch with modern hardware and its L1 cache that he was surprised to learn that doubly linked lists give shitty cache usage.

      It takes a special kind of arrogant to take someone who is telling people why a technique is bad and go herp derp he's a stupid he doesn't know its bad.

      --
      SJW n. One who posts facts.
    13. Re:Bitter much? by lsllll · · Score: 1

      Yeah, like the part about game programming. It's funny. I have volunteered a few times on career days at my wife's high school to talk about programming. Most kids said they want to program games. I say "Okay, then brush up on your math and physics." They asked why, to which I had to respond about all the physics and math that is involved from the moment a sniper in a game pulls the trigger to the moment that the bullet stops: Kind of gun, kind of bullet, wind speed, trajectory because of gravity, slowing down of the bullet because of air friction (which is dependent on air temperature and altitude), the material it first hits and the angle, once it passes the material, how much in the body of the enemy will it go before it comes to a halt, will it come out from the other side. I'm sure I'm missing some other parameters, but just try to figure out the details behind this simple thing in the game and you realize how much math and physics you'll need to have. Now add the complexity of translating all that into code and graphics.

      --
      Is that a roll of dimes in your pocket or are you happy to see me?
    14. Re:Bitter much? by Darinbob · · Score: 1

      You know how Einstein got bad grades as a kid? Well, mine are even worse!

    15. Re: Bitter much? by Darinbob · · Score: 2

      Yes, implementation details, because the profs are teaching a different subject from implementation details. That's an exercise for the students. One does learn a lot more if they have to think about what they're doing rather than copy snippets of code together. Which today is a problem because snippets of code are everywhere and so easy to find.

      As for Stroustrup, I can see that. He started back when caching was rare except on the highest end computers. However paging was a big deal, and the earliest C++ programs did have poor paging performance because related code or data would be spread around, whereas higher level languages would sometimes do better because of mark-and-copy garbage collection.

    16. Re: Bitter much? by nedlohs · · Score: 1

      How do you think a video of someone explaining that lists interact badly with caches is evidence of that someone being surprised that lists interact badly with caches?

    17. Re: Bitter much? by UnknownSoldier · · Score: 1

      > And when I teach algorithms I could not care less how some of the bricks are implemented.

      Why would you only teach 50% of the subject???

      Comp. Sci. is NOT just Theory. Back in the Real World (TM) Application is just as important as Theory.

      > I care about teaching correctness and complexity analysis.

      That is good, but neglecting to teach 50% of a subject shows you are a crappy teacher.

    18. Re: Bitter much? by UnknownSoldier · · Score: 1

      > I've come to the conclusion that anyone using the phrase "ivory tower" is probably an idiot with a chip on their shoulder.

      Ad hominem much ?

      I've come to the conclusion that anyone using the excuse "Implementation details" is probably an idiot teacher who believes the delusion Theory comes before Application.

      FTFY.

      > you don't understand academic jobs

      Spotted the shitty teacher who can't code and tries to justify it.

      Computing Science is BOTH Theory AND Application. Academics who teach ONLY theory are literally missing HALF of the equation.

      If you were a music teacher you would basically teach Music Theory and say that "Playing the instrument" is just "implementation details." Are you really THAT fucking stupid??????

      Theory ALWAYS comes AFTER Application. Application PROVES that the Theory is correct.

      We write code for PEOPLE to READ, otherwise we'd still be using assembly.

      Do you teach students HOW to name variables?

      Do you teach students the pros AND cons of the various indentation style ?

      Do you teach people HOW to write CONSTRUCTIVE comments? i.e. Document WHY not the how.

      Do you teach students BOTH the and Pros and Cons of various programming paradigms? Do you discuss Functional? Procedural? Why OOP is fine for minimizing coupling, but do you mention that OOP is shit for high performance ?

      When you teach Radix Sort do you mention that O(3n) is NOT equal to O(n) in the Real World ? Do you teach HOW to modify Radix Sort to sort float32 numbers? Or do you hand waive that with the bullshit "Left as an exercise for the reader" ?

      Do you teach the nine different types of binary searches?

      Do you teach the 32 different ways CRC32 can be implemented? Do you mention the 4 that are standardized?

      Riiiight, I'm the idiot for calling out the bullshit of Theory without Application is _exactly_ why those in the academic ivory tower tend to be blind.

    19. Re: Bitter much? by serviscope_minor · · Score: 1

      Ad hominem much ?

      No, much. Ad homenim is "The reason you're argument is wrong is because you're an idiot". This is "your argument is wrong because reasons therefore you're an idiot". Quite different, though it doesn't surprise me it's beyond your grasp.

      Computing Science is BOTH Theory AND Application. Academics who teach ONLY theory are literally missing HALF of the equation.

      That I think qualifies as "not even wrong". some bits are pure theory, some pure application and some a mix of both. It's fine to teach the just theory for the theoretical bits.

      Spotted the shitty teacher who can't code and tries to justify it.

      If it helps you sleep better ot believe that then sure go ahead.

      Theory ALWAYS comes AFTER Application. Application PROVES that the Theory is correct.

      You literally contradict the first sentence in the second.

      Riiiight, I'm the idiot for calling out the bullshit of Theory without Application is _exactly_ why those in the academic ivory tower tend to be blind.

      Try implementing a modern crypto algorithm or a modern error correction code without Galois theory. That predaes the existence of computers by over 100 years, never mind the existence of modern techniques.

      But sure, the application came first because angry dude with a chip on his shlder the size of colorado said so on the internet.

      --
      SJW n. One who posts facts.
  4. Same for other trades by Anonymous Coward · · Score: 1

    No need for economics, law, mechanical engineering, biology, chemistry, physics, math, ... majors either.
    In 30 years, I have never worked at a place that required the skills of any major, and yet, they are required by HR.
    I guess they believe it serves as evidence you can think.

    1. Re: Same for other trades by brantondaveperson · · Score: 3, Insightful

      Yes, they probably are. That 5% is what the doctors spend so many years training for. It's great you've never had anything serious. One day, you might do. Should that happen, be sure to thank the doctors who save your life.

    2. Re: Same for other trades by Anonymous Coward · · Score: 1

      My experience is that the family doctor doesn't know more than I can't with reasonable certainty work out myself online. But then the specialist surgeon, that's a completely different story. The family doctor prescribed me drugs to mask the pain and left me for months saying just wait... The specialist had me in an MRI and CT scan within 2 days of meeting me, got me a spinal injection and used his expertise and training to actually make me feel better.

  5. Trolling by Anonymous Coward · · Score: 3, Insightful

    So basically this magazine allowed an anonymous troll to write a flame bait piece for them. What an outstanding feat of journalism!

    Sure, there are probably a lot of instances where someone with a degree is overkill for the job, but this disdain for education is appalling. I wish the anonymous coward (and in this case it is not some cute ./ term but the very definition of the words) would tell us where he works so I can avoid hiring their services forever.

  6. Institutions breed arrogance, so does... by Anonymous Coward · · Score: 1

    > Institutions breed arrogance.
    Nothing compared to that of the self-taught programmer. (Not a CS myself, but as an old dog I see both kind hired)
    The especially the new graduates, are very aware of the fact that they have limited real-world experience. And are easier to get to, regarding the trade-off of "correct" code vs. company spending. While the self-taught usually have little understanding of the fact that we'll have to revisit the code in 6 months.

    1. Re:Institutions breed arrogance, so does... by Tough+Love · · Score: 2

      The self-taught usually don't know what they don't know, the recent PHP thread comes to mind. There are exceptions of course, but they are rare.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
  7. TL;DR by Kremmy · · Score: 3, Insightful

    "I don't want to pay for people who understand what they're doing."

  8. Success without college by Tough+Love · · Score: 5, Insightful

    Another success without college article, usually writen by someone who did not go to college. Sure, there are auto didacts able to learn good software engineering principles on their own, but few possess the necessary self discipline. To learn to think you need to hang out with thinkers. To learn a subject well it helps enormously to have good teachers. To learn discipline it helps to have structure. Nothing beats college for that, it's an opportunity you should seize if you possibly can.

    Never mind the parities, networking and abundant supply of premium specimens of the opposite sex.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
    1. Re:Success without college by Anne+Thwacks · · Score: 3, Insightful
      self discipline. Nothing beats college for that,

      Dead right: nothing is the clear winner compared to college when it comes to discipline. As a former mature student, I am in a position to speak on this.

      --
      Sent from my ASR33 using ASCII
    2. Re:Success without college by TeknoHog · · Score: 4, Insightful

      nothing is the clear winner compared to college when it comes to discipline. As a former mature student, I am in a position to speak on this.

      It's interesting you mention being a mature student. I've gone back to the university a couple of times after an early graduation and a few years in the workforce, and it's meant a huge difference to my learning. In that position, you (a) appreciate the value of your education much more, and (b) you have some real-life basis for things like "hey, I could use this theory in my field" and "nope, it doesn't really work like that".

      I've also come to reflect this "reverse order education" in other aspects of my life. For example, I've dabbled in electronics since about the age of 8, and of course it was much later that I learned enough theory to design more complex circuits myself, largely through formal education. I'm worried about students that take years of theory before they get to do anything hands-on; by that time they might realize they're in the wrong field.

      More specifically, it's an issue with the vocational vs. academic divide: if you want to dabble in electronics, you go to the trade school. Or if you prefer to learn quantum theory for electron transport in solids, go to the university. But for certain things you need people that know both, and there isn't a formal eduction path for such a thing, so people need to learn by themselves. Indeed, there were times when I did consider the more vocational route myself, though I'm now glad I didn't. Because you can usually learn the hands-on bits about electronics and programming yourself, but something like advanced math takes a bit more discipline.

      --
      Escher was the first MC and Giger invented the HR department.
    3. Re:Success without college by jpaine619 · · Score: 1

      self discipline. Nothing beats college for that,

      Dead right: nothing is the clear winner compared to college when it comes to discipline. As a former mature student, I am in a position to speak on this.

      Yeah.. Nothing beats college for discipline... Certainly not the military....

    4. Re:Success without college by theweatherelectric · · Score: 1

      Certainly not the military

      Militaries don't teach discipline, they teach obedience. It's not the same thing.

    5. Re:Success without college by swb · · Score: 4, Interesting

      I think obedience is doing what you're told, discipline is doing it on your own without being told again.

      I've never been in the military but I've worked with a couple of guys who have and they all carry a certain amount of military discipline with them, even the ones that say they hated the military.

      Now maybe it's worthless self-discipline, but nearly all of them were *extremely* tidy. Personal work spaces kept fucking spotless, and whenever they dealt with some cabling or something else that would be easy to keep on the slightly chaotic side they all were completely OCD about organization.

      They were all extremely neat in their personal presentation, too. IT has a lot of fucking slobs, but these guys were totally neat -- shirts tucked in, shoes shined, etc.

      Oddly, all of them deny it was because of the military but I think they get it drilled into their head so much it's part of their identity.

      If I had a criticism of them its that they're prone to low initiative on problems, preferring to report conditions and await instructions. American business culture mostly isn't like that, though, and their trained-in desire to await orders vs. committing on their own accord seems to be the only real drawback.

    6. Re:Success without college by swilver · · Score: 1

      To learn something well, you only need a genuine interest and curiosity on the subject.

    7. Re:Success without college by theweatherelectric · · Score: 1

      If I had a criticism of them its that they're prone to low initiative on problems

      I've also worked with former military people and I have exactly the same criticism. They've all needed close supervision and to be told what to do. I found it immensely disappointing.

    8. Re:Success without college by Antique+Geekmeister · · Score: 2

      There is a famous quote about this from Vince Lombard: "Only perfect practice makes perfect" Flawed practice reinforces the flaws. And learning entirely on one's own is likely to re-inforce beginner's flaws without some competent feedback to guide the work and correct them.

      This is not to denigrate the self-taught, or the genuinely interested student of a field. But some help learning to do tasks well can be critical to do robust, effective work.

    9. Re:Success without college by sls1j · · Score: 1

      Part of self-learning is recognizing when you need a mentor and seeking one out.

    10. Re:Success without college by loonycyborg · · Score: 1

      Colleges are overpriced so much to the point of being near scams. Yet the most of them you can expect is some cursory overview of basic principles, maybe some advanced theory classes that are useful only for compiler writers or scientists. Providing real skills was never objective of colleges, that's the job of apprenticeship programs and trade schools. There is no trade school for programming yet? Then apprenticeships are the only way. Only nobody wants to reduce income by employing not (yet) able newbies. They should not blame college for their shortsightedness.

    11. Re:Success without college by Tough+Love · · Score: 1

      Whoops, I read an ambiguous interpretation of the GP post, seeing sarcasm that wasn't there. Please mod the above to oblivion.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    12. Re:Success without college by Darinbob · · Score: 1

      I understand that college is more difficult to afford these days. But if someone can do well by being self taught and having self discipline, they can always do better by adding college to it. If someone has no self discipline, then maybe college can teach that or at the very least college gives them a leg up out of the food service industry. So if someone can afford to go to college these days, then it's in their best interests to do so.

    13. Re:Success without college by Tough+Love · · Score: 1

      No larping?

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    14. Re:Success without college by swb · · Score: 1

      That's the extreme side effect of business culture, the "gotcha entrepeneurism".

      If it works well, you might get rewarded or at least not punished to the extent we like what we got.

      If it goes poorly, we'll punish the shit out of you for not getting all the approvals we wanted. We'll also punish you for not showing enough initiative.

      Basically, take risks and we will blame you if you fail but provide no guidance on what we want as an outcome.

    15. Re:Success without college by jpaine619 · · Score: 1

      Sounds like someone who has never been in the military or, more likely, is actively hostile to the concept and implementation of the military.

      Yeah, they teach obedience, but they absolutely teach discipline as well.

      If you think that a military member's every move is the result of an order.....

      Self discipline and unit discipline are absolutely taught. I suspect, however, that you don't really care. You'll just keep spouting off your bullshit and patting yourself on the back.

    16. Re:Success without college by jpaine619 · · Score: 1

      Thank you.

      Yes.. it is drilled into you. It does become part of your character. And yeah, most guys end up becoming neat freaks, of a sort. It's more unusual to run into a slob, in the military, than a tidy person.

      Keep your shit tidy and nobody yells at you :)

    17. Re:Success without college by jpaine619 · · Score: 1

      Your stupid choice of words could be applied to children as well.. Or employees.. or anything.

      Taught is the correct terminology. There were very few things that I was taught, while I served, that were not explained. Granted, I have zero knowledge of how other countries, and for that matter, other branches of my own country's military handle things. But, in the USAF, great care is taken to explain WHY something is done a certain way. There is vast latitude on how you can accomplish things that do not have a set-in-stone reason for doing them a certain way or in a certain order. But, you will get an explanation for WHY those things are they way they are.

      When you teach someone something, you make someone much more valuable than simply training them. You can train a fucking monkey to punch buttons in a particular order. You can teach him what each button does but you cannot teach the monkey _why_ it needs to be pushed. A monkey cares about the results.. Not the reasoning behind the results..

      Trained people also have a hard time adapting or innovating. Someone taught is in a much better situation.

    18. Re:Success without college by theweatherelectric · · Score: 1

      I suspect, however, that you don't really care.

      It isn't about caring, it's about practical outcomes. Harden up, son.

  9. My Take... by beheaderaswp · · Score: 5, Interesting

    From my standpoint, this is an earmark of of the end of IT as a professional specialty.

    At this point technicians are treated as hourly workers- if they exist at all. The word "engineer" is being banished from the IT profession. Support is by phone script. The network is built on appliances. Configurations done by subcontractors. Job qualifications require education over experience. Certifications are required- but are generally useless without a degree.

    Programmers are shuffled in and out on contract....code is undocumented. Competence is un-rewarded.

    And management doesn't understand the technology with a mentality that says: "Do the minimum possible to get a short term result".

    The net result is lots of titles like "Network Manager"... "Network Architect"... "Vice President of Information Systems".... ETC.

    And yet none of these people have functional knowledge of real practical networking or server administration. They function as gateways to subcontractors, some of which follow the executive from job to job, and the officer level of the company is so ignorant of the issues involved that it continues.

    Then there's the "Cloud".

    It's the biggest ripoff any company can be subjected to. A multi-layer IT staff that only administrates the actions of sub-contractors. And yet while this management structure can be three layers deep- it does nothing, presents no skill set, and is useless without the added expense of subcontractors which provide "IT Expertise" as a service. And the company... isn't even in control of it's own data. It's security and availability is now preserved by a third party company whose interest is singularly profit.

    So when "CIO Magazine" writes an article saying that CS majors are not needed all I can do is chuckle.

    --
    Another consultant who stuck it out.

    "We are the Priests, of the Temples of Syrinx..."
    1. Re:My Take... by JaredOfEuropa · · Score: 1

      It explains nicely why the profession is in such a sorry state. And while it sounds like the author of that article doesn't know the first thing about programming himself, it would appear that he is in academia teaching CS (from a remark at the end of the article). That makes it even sadder.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    2. Re:My Take... by WorBlux · · Score: 1

      The day you outsource IT is the day you've outsourced your trade secrets.

    3. Re:My Take... by hey! · · Score: 1

      Well, look at the magazine it's published in. Who actually subscribes to that?

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  10. Epic stupid by HeX314 · · Score: 5, Insightful

    It's almost comical just how false most of these stereotypes and arguments are.

    1) Knowing lots of theory allows you to approach a problem from multiple possible analytical angles. Lacking that kind of critical thinking will make you an excellent drone employee who can execute orders given by smarter people.

    2) I take issue with "rarely used." I know CS people love their esoteric languages, but they are hardly the norm for example code.

    3) I don't think I've met a single CS professor who couldn't write code.

    4) Data structures? You use them all the fucking time. ALL THE TIME. You just don't know it because someone made it idiot-proof, so now even your dumb ass can use them.

    5) There may be some truth to credentials making people more confident, but the same could be said of anyone with any recognized accreditation. Furthermore, I feel like this applies more to businesspeople than scientists.

    6) There's a reason you don't find highly-specific industry trending software tools being taught in "the average cirriculum." It's the same reason you learn to dribble a basketball before you learn to dunk: fundamentals.

    The highlights read like garbage written for adult children.

    1. Re:Epic stupid by Anonymous Coward · · Score: 1

      5. "Confident"? Arrogant is the correct word. There is a tendency among academics to believe that while - at best - they are aware that they might not know everything, they certainly know better than the guy who doesn't have a degree. Which does actually happen to be turns out to be false every now and then.

      A degree does not make you omnipotent, unfortunately there are way too many who thinks otherwise.

    2. Re:Epic stupid by next_ghost · · Score: 3, Insightful

      This. Ad 6) A CS degree will teach you about callbacks, asynchronous processing, and all the other fancy stuff you'll use in Node.js, React and any other brand new revolutionary technology that was originally invented in the 1970s. When you know the theory, you can learn the latest shiny technology by reading the manual over a weekend and then coding a small toy project over the next week. If you don't know the theory, it'll take you a year or more before you figure out how those cool but so damn counter-intuitive features really work. And then you'll have to rewrite everything you did over the past year from scratch.

    3. Re:Epic stupid by Registered+Coward+v2 · · Score: 1

      5. "Confident"? Arrogant is the correct word. There is a tendency among academics to believe that while - at best - they are aware that they might not know everything, they certainly know better than the guy who doesn't have a degree. Which does actually happen to be turns out to be false every now and then.

      A degree does not make you omnipotent, unfortunately there are way too many who thinks otherwise.

      Then you are working with the wrong academics. Many I have worked with will accept a better idea and actually enjoy a robust debate about how to address an issue or idea.

      --
      I'm a consultant - I convert gibberish into cash-flow.
    4. Re:Epic stupid by Chelloveck · · Score: 1

      The highlights read like garbage written for adult children.

      -1, Redundant. The summary *already* says it was CIO magazine.

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
    5. Re:Epic stupid by david_bonn · · Score: 1

      This.

      I'd add that a lot of the skillset that the article criticizes is often desperately needed.

      That "theorem-proving" mentality is extremely handy if you are writing subtle code. It will at least make that code easier to debug.

      Understanding data structures is very useful when you are tackling a representation problem. And understanding when you have a representation problem and how to deal with the tradeoffs that inevitably happen is a big chunk of most programming projects.

      Being exposed to different programming languages can give you more intellectual tools to describe a problem.

      TFA didn't really mention it, but CS is also useful when you need to design an algorithm. And also for recognizing when you need to design an algorithm.

    6. Re:Epic stupid by gnasher719 · · Score: 1

      That "theorem-proving" mentality is extremely handy if you are writing subtle code. It will at least make that code easier to debug.

      I tend to write code with the attitude "if I had to prove it is correct, then I could (unless I didn't pay attention and there is a bug, then I need to fix the bug first)". It makes life a hell of a lot easier than having code where you don't have the slightest clue if it works outside the test cases.

  11. It's not that CS degrees are bad by Tough+Love · · Score: 4, Insightful

    "It's not that CS degrees are bad, it's just that they're not going to speak to the problems that most of us need to solve."

    What is that problem you need to solve? How to appear to be doing your job when you are actually laying waste to your company's future?

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  12. An Open Secret Known for Decades by clawhound · · Score: 5, Interesting

    This is an open secret that's been known for decades. The best minds that I've work with are almost invariably from other majors. The sharpest programmer that I know came out of the music department. In most positions, technical skills represent about 1/5 of what you need to do a job. Those other 4/5 matter a whole lot. It's easier to teach a humanities person some technical skills than it is to teach a technical person humanities.

    1. Re:An Open Secret Known for Decades by Anonymous Coward · · Score: 1

      Just try to teach math to humanities... When you are tasked to get a 99.9% availability, you better have to deliver. And that involve math, you know probabilities. Sorry, but not. Everybody can learn to write, but that does not make you a writer and certainly not Proust. Everybody can learn to write in a programming language, that does not make you a programmer and certainly not Ken Thompson.

    2. Re:An Open Secret Known for Decades by Cederic · · Score: 4, Insightful

      While I would want evidence a humanities graduate can cope with the logic and other demands of programming, I do agree that this is hardly news.

      People under 35 or so don't seem to realise how rare university degrees used to be. Some of the best programmers I've known didn't go to university. All of the best programmers I've known didn't get a degree in Computer Science.

      That doesn't mean a CS degree is worthless. Any technical degree has merit. It just doesn't mean they're any good at delivering working software in a business environment, which is where the majority of programming jobs lie.

      I have no objection to hiring CS grads but it's fucking lunacy to require it.

    3. Re:An Open Secret Known for Decades by JaredOfEuropa · · Score: 4, Insightful

      The sharpest programmers I've worked with almost all started programming before they graduated high school. They went on to do a variety of majors, a few doing CS, most of them mathematics, EE, physics or chemistry. Point is, they combined a solid grounding in science and mathematics with a passion for programming. I know a few great programmers who are largely self-taught without the benefit of a degree in a related field, but they are very rare.

      For some time, CS majors might not have been the best choice for programmers, but not for the reasons mentioned in that CIO magazine, but because the IT job market was red hot, and CS drew in many students without a real passion for the subject.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    4. Re:An Open Secret Known for Decades by dwpro · · Score: 1

      They may be sharper minds, but they don't have what they need to be a programmer. One counter-anecdote: my wife is from the humanities and is one of the smarter people I know (certainly smarter than me) and she is being forced to learn python to code for her genetics analysis.

      I've spent a fair bit of time attempting to instill some of the fundamentals of programming (separation of concerns, types, organization of code, ) While she's learned enough to get things done, every task is a new exploration of how far you can get before you have to backtrack to the fundamentals (IE: this loop is taking 5 hours, is this something I should expect?). To her credit, her code is documented extremely well, but she has near zero code reuse (copy and modify constantly) and the giant expanse of code and metadata that's not under version control gives me twitches thinking about. She doesn't enjoy the important minutia of coding syntax and debugging, nor patient with the poor documentation of online examples. She hates when instructions are not being extremely explicit about every single step required for someone without a background in the field.

      I don't think any of these are unique experiences for someone being forced to start anew in programming, and I think they represent way more than 1/5 of what a programmer does day to day.

      --
      Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
    5. Re:An Open Secret Known for Decades by tippen · · Score: 1

      ^ +1 Insightful

    6. Re:An Open Secret Known for Decades by lenski · · Score: 1

      Individual differences are critical.

      I've worked with Ph.D.'s in Math, EE, CS, Nuclear Engineering, Marketing, and their attitudes and capabilities are as diverse as any other human population, though strongly biased toward being very good at what they do. Most are confident, comfortable in their roles, and entirely OK with learning from their co-workers.

      Then again there are exceptions, fortunately (in my experience) not many. I've met a few who were indistinguishable from total dunces and terrifically insecure. It was unfortunate, as it was clear that they *could* know what they were doing, but couldn't get past their issues to really shine as they should have been able to.

  13. Re:No, we don't need to use CS in business by Tough+Love · · Score: 1

    The vast majority of CS grads will not go into research, they will be developers, usually upper tier.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  14. Re:Depends on if you want good software or not. by Tough+Love · · Score: 4, Funny

    Let the physics major debug it, thereby proving themselves.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  15. Same goes for accountants. by AntisocialNetworker · · Score: 1

    Accountants are also obsessed with maths. Get real, who needs skill in the Post Truth age?

  16. Lot of misplaced CS hate by Anonymous Coward · · Score: 1

    If you're studying computer science with a view to having a career in programming then you're doing it wrong.

    If you read computer science and then immediately conflate that to programming then you're doing it wrong.

    If you're studying computer science because you want to have a career either in academia, research, or applied mathematics in the technology industry then you're doing it right.

    So many people misinterpret what computer science actually is to the point where people are studying the subject expecting to become top-tier programmers. It's quite sad really. If you want to be a top-tier programmer then study programming, don't waste your time learning about why computers work when all you really want to accomplish is to learn how they work.
     

    1. Re:Lot of misplaced CS hate by yithar7153 · · Score: 1

      The problem is most universities only offer a Computer Science degree rather than a Software Engineering one, and employers specifically are requiring a BS in Computer Science. I think coding bootcamps are great as I attended one, but there's still a stigma associated with them as bootcamps vary in quality greatly. For example, you have top tier ones, okay ones, and then trash tier ones.

  17. clickbait by Martin+S. · · Score: 4, Insightful

    Clickbait aimed at the hard of thinking

    When a headline asks a question, the sensible answer is always a resounding No.

    1. Re:clickbait by igny · · Score: 1
      --
      In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
  18. The GP is right, ... to a certain degree. by Qbertino · · Score: 4, Informative

    I've been progging for 33 years, since my teens. Classic 80ies computer kid. I do that for a living since 18 years ago. I've finally enrolled in a BSc CS track that I'l pobably manage to complete, after having done my German GED High School diploma 3 years back. I'm in the second semester, only taking a few courses at a time, and pushing a wave of exams in front of me. I do part-time, because I'm working as a professional webdev too.

    Here's my observation and it's 100% spot on with my expectations and one of the reasons I'm doing CS in my late 40ies:

    The basics - Math, theoretic CS ("Theoretische Informatik" ... dunno what that's in english exactly), graph theory, expanded theory of sets and so on are exactly what someone doing anything computer related at a professional programmers and software architects level should know and be able to wrap his/her head around. Being able to algebrahicly express and calculate the complexity of a relational graph in a database is a level or two above simply discussing which goes in what entity. It's tough - boolean algebra is a particularly neat alien monster to tackle if your not into algebra that much - but it's doable and it ups your understanding of what you're doing in your everyday work and it does away with the fog that covers many deeper areas that IT people encounter every day and should know more about. This is the reason you should do CS if you'e doing IT professionally. At least a bit of it on the side, in Kahn Academy or something.

    Point in case: I'm in a CS project group right now reimplementing RSA to learn all the n00ks and crannies about it. Very nice. Slow as hell and crappy n00b code by my 19 year old comrades, but we all (me included) learned new stuff. For instance: Asmetric is hard and demands performance, thus is only used to do a preceeding exchange of a symetric key before the show starts. That's why https handshakes take up 1.5 of the 3.5 second rule for loading and displaying websites. Now who without some CS knowlege is aware of this?

    However, there is the other side that the GP mentions, and this is a very simple cold hard fact that CS faculties need to get into their collective head: The avantgarde of software development is not in academia anymore. The regular skills you're teaching your students are most likely sub-par and will be nigh obsolete once your students leave for the real world. Yes, there is the occasional Scala that comes out of a university and then gets some hype in the industry, but that only works if the Prof who invented it is in the industry himself aswell.

    Point in case here: We're doing this project in IntellyJ Idea already (bad idea imho). The introduction into the IDE was sub-par and the Prof talked bullshit and wrong details about Git. I could've given his introduction on the spot and he would've learned some new things. ... That's because they probably only moved from SVN a few years back.

    Kotlin is barely on their radar and it's already being used in the industry, in non-trivial projects.

    Bottom line: As far as practical skills go, CS is too far behind the curve. I'm sure they are becoming aware of this and many a college is trying to catch up with close ties to the industry, but right now I learn more and better at local meetups than in class. Graph theory and math however I doubt I find some better place to learn that than at my faculty.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:The GP is right, ... to a certain degree. by swilver · · Score: 4, Informative

      For instance: Asmetric is hard and demands performance, thus is only used to do a preceeding exchange of a symetric key before the show starts. That's why https handshakes take up 1.5 of the 3.5 second rule for loading and displaying websites

      This has absolutely nothing to do with the performance of the assymetric encryption, but everything to do with the two extra roundtrips it takes for the HTTPS handshake.

      And no, I don't have and never will have a CS degree -- I only have a solid interest in how stuff works (tm), which has led me to expand my knowledge in all kinds of areas.

    2. Re:The GP is right, ... to a certain degree. by Anonymous Coward · · Score: 1

      Sure, buddy. If that’s the case, why bother with the symmetric encryption at all? It just complicates everything so you should use asymmetric for the whole conversation?

      It’s programmers like you who make my mobile phone run too hot. Please stop “programming”.

  19. if you want to learn the flavor of the months.. by Anonymous Coward · · Score: 1

    then you don't want a degree. you want crash courses or tech school.

    a university degree IS SUPPOSED TO provide you with the 'well rounded' curriculum. and that includes the analytical thinking, logic and reasoning, and other stuff the summary dismisses as useless.

    with your cs degree you should be better equipped to learn next month's flavor... but the university isn't going to teach it. they don't have to. a degree should have a longer lifespan than rails, ffs.

  20. There is some truth in the article by szabo.m.peter · · Score: 1

    Depending on what you want to achieve, I think the article has some points.

    In my experience physicists are very-very smart people who are used to tackle hard problems, where also a partial solution is a celebrated result. This can be good, or bad. If you mainly solve one-time problems with software (i.e. your IT system is a concrete tool with a relatively limited feature set, restrained deployment and lifespan), then these traits are beneficial. It takes a shorter time from problem statement to results, and honestly a 99.5% solution at quarter of the price is quite a good deal.

    However, if you plan to produce something that is developed, maintained, upgraded at several thousands of customers for at least 5, but rather 10+ years (i.e. your software/system is a product, and not a tool) suddenly the rigorous discipline (that was considered nitpicking by the management) pays off. Just chain 10 of the 99.5% solutions together, and let them run each hour of the day. The result is ~30% reliability at a single deployment! Suddenly the statement that someone is more interested in the correctness of the software rather then the results does not seem so bad right?

    According to my limited experience, the solution is banal: mixed teams from different disciplines and backgrounds, CS majors included!

  21. whoever you hire is going to require training by Idimmu+Xul · · Score: 1

    ive been hiring and in charge of development for the last 4 years and even with seasoned professionals i constantly see

    * no logging
    * over optimising unncessarily

    your developer wont be good until theyve worked with you for a year

    --
    The problem with slashdot is that most of its users were bullied and stuffed into lockers as kids!
    1. Re:whoever you hire is going to require training by GuB-42 · · Score: 1

      There are different ways of doing things. I've worked with projects that do extensive logging, some with none at all. Sometimes, optimization of every part is important, sometimes, well, just throw hardware at the problem. They all work provided you have a good vision.

      Adjusting to your vision of the project requires a bit of time, but 1 year sounds like a lot. The only project I spent that much time getting fully operational is a 3Mloc, 20+ year old monstrosity that did the work surprisingly well considering how messy it is.

  22. Somebody wants cheaper coders by gweihir · · Score: 2

    And they ignore that the cheap coders used so often today are already hugely expensive because of their low level of competence. Making this even worse will drive costs for software up, not down.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  23. The world has gone to sh*t by c++horde · · Score: 2

    This literally was the most idiotic article I've read in sometime. No wonder the author wrote it anonymously. Apparently CS majors are mathematicians, yea, well, I guess he hasn't seen the part where an undergraduate is no longer required to take the mathematics that was once required. I went into a company that had written close to 50,000 lines of code to solve a simple over-time calculation. It was extremely moronic. Their "best developers" from India with CS degrees had written it. All 22 of them. They complained to me their billing was always wrong and would never balance. That part of the code base was a disaster that I wouldn't wish upon anyone. Four simple piece-wise mathematical functions I derived and implemented in about 30 lines of code fixed all of it and replaced 50,000 lines of debauchery in about a day. To boot, I created a proof. There is no telling how much they spent on this stupid issue, but having one person trained correctly could have saved everyone a lot of time and money. I immediately returned to visualization systems, and asked not to be involved in those types of projects again. Amazing how management was dumb founded. I quit a year later. They ended up on f*cked company, then I started my own company. My belief, there isn't enough math taught in a CS degree now, let alone any other degree. When you're faced with a real problem, the mathematical tools escape most today. Pattern identification can only be taught through rigorous mathematics. My recommendation, don't listen to CIO's. Fire the CIO and get a competent COO. People have become lazy, entitled, and now believe the tools that built civilization are unnecessary. This is a real problem that unfortunately mathematics can't fix.

  24. Re: No, we don't need to use CS in business by orlanz · · Score: 1

    Not that I have seen. Most true CS majors go into things that need algorithm design and data modeling giving a restricted environment. Embedded, kernel, drivers, hardware, microprocessors, encryption, machine learning, etc.

    But those are real research leveled CS degrees. There seems to be a lot of colleges that just provide job training in programming language of the month or example driven learning and call it CS. These are no different than vacational schools and I wish they would just say that.

    I DO see a lot of CompE in programming thou and this appears to work OK. They get projects done. It's rare that someone needs to think deep about a algorithm running on IaaS. None of their bosses will be around nor will they figure out the issue when stuff hits the fan a few months later. They will just replace that product anew like they replaced the prior one.

  25. Problems with non-CS majors... by borgheron · · Score: 2

    Non-CS majors are likely not to recognize intractable (NP-complete) problems when faced with them. I have seen many non-CS majors who call themselves programmers ignore (or just plain not be knowledgable of) simple approaches / heuristics to solve these problems. Also, non-CS majors tend to be unaware of time saving solutions to problems and will often go for the "straight forward" or "brute force" approach which ends up being more costly algorithmically (the difference between solving something in O(n) vs O(1) can be horribly expensive).

    I don't know why questions or assertions like this come up every so often within the community, but I find it deeply concerning that many people hold the opinion that CS isn't needed or that an institutional education makes you arrogant. By definition, someone who is intelligent is flexible and willing to change... if they are not, then it's a problem with the person, not the institution.

    CS is needed. Make no mistake. If you don't have someone who is a problem solver and knows what they are doing on your staff, you're wasting time and, possibly, lots of money. There is a reason why Google looks for the best of the best from CS programs all over the world.

    --
    Gregory Casamento
    ## Chief Maintainer for GNUstep
    1. Re:Problems with non-CS majors... by next_ghost · · Score: 1

      There's a simple reason why this question keeps coming up every so often: Code monkeys are cheaper than real programmers.

    2. Re: Problems with non-CS majors... by borgheron · · Score: 2

      Then whoever they are they are not experienced or they donâ(TM)t know what they are talking about. This demonstrates what Iâ(TM)m talking about. NP complete problems are not unsolvable they are non polynomial. The solutions are done via heuristic approaches. For example: your cars gps is solving an np complete problem (routing) by using what is called a greedy algorithm. It will find itâ(TM)s way from point a to point b, but it may not always be guaranteed to find the optimal solution. It can only find an acceptable solution in polynomial time. Finding the optimal solution (I e the absolute best solution) is what takes non-polynomial or NP time. So whoever was stopped in his tracks is full of shit.

      --
      Gregory Casamento
      ## Chief Maintainer for GNUstep
  26. No deep thinkers? :) Good luck with that :) by l3v1 · · Score: 2

    " most businesses don't really need programmers to be deep thinkers"

    This whole writing is a large pile of stinking bullshite. You don't need people with knowledge? There are plenty of those. You only need shallow coders for a short un-important job who'll move along after the job? Even more of those. Good luck building a company for the long term using such people.

    Plenty of "programmers" and "coders" are out there with some level of lanuage knowledge, but what people like the writer above don't always realize is that they usually need people who solve problems, and the ones not being deep thinkers are seldom capable of that. The iidiotic examples about NP completeness shows how the writer is a bigger idiot that those people (s)he praises.

    And the bashing of maths, arrogance, etc? It seems the writer is a disgruntled lunatic, toxic and unproductive. Someone I'd really never want to work with, ever.

    --
    I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
  27. What of the MBAs by Anonymous Coward · · Score: 1

    And yet not a single mention of the uselessness of MBAs. Funny how businesses. particularly tech based ones, fail to realize that they don't sell power point slides, they sell software based services, and yet the development staff is the least respected in the organization.

    1. Re:What of the MBAs by Registered+Coward+v2 · · Score: 1

      And yet not a single mention of the uselessness of MBAs. Funny how businesses. particularly tech based ones, fail to realize that they don't sell power point slides, they sell software based services, and yet the development staff is the least respected in the organization.

      Actually, they are selling neither - they are selling a solution, a new way of doing business, or something else to satisfy the customer's wants. Far too often the sales people focus on why the product is great and the tech folks love all the neat technology; both fail to see what the customer really wants. I've een in meetings with both and the development folks mock the sales people and the sales people think the development folks are a bunch of prima donna nerds; all the while both miss the point of unless you deliver what the customer wants and sell it whatever you do is worthless.

      --
      I'm a consultant - I convert gibberish into cash-flow.
  28. Depends on where you are looking, I guess by muecksteiner · · Score: 1

    I think the article is far too one-sided, but he does have some points of sorts. A lot, and I really mean a huge lot, depends on where you are looking. For instance, in Vienna, Austria, the place I studied CS, there is a proud (?) tradition that the typical CS professor knows jack all about actual software development or programming. Because that is for peons, you understand - they are there for Better Things (tm).

    As a consequence, CS curricula there are, while not totally terrible, not particularly excellent, either. You can learn a lot there, typically not from the professors (who tend to be Big Picture guys, and hate questions on what they actually do all day, or what their core competence is, aside from being tenured and getting paid quite a lot), but rather from some over-worked assistant or tutor who actually knows what they are talking about.

    But there are plenty of other unis and countries where CS professors are of course fully aware that CS != programming, and where they do not discount programming abilities as a useful tool for a CS graduate to master. From my limited experience with U.S. universities, this sort of divide seems to run right through the academic landscape there: some unis are "hands on plus all the theory you want", while others are like the article portrays. And which is which is sometimes hard to say.

  29. Where he works ? by Crashmarik · · Score: 2

    I'd start with Equifax

  30. What an idiot... by LordHighExecutioner · · Score: 3, Interesting

    throwing away the importance of modern math and CS theories is suicidal. Never had to do with problems due to rounding errors, for example ? Try fixing them without somebody with skills in CS and math! The author of TFA is probably somebody involved with the development of web interfaces, and we just appreciated the results of many years of progress in web development.

    1. Re:What an idiot... by Anonymous Coward · · Score: 1

      I have personally had to explain the limits of IEEE floats to a bank. They needed to calculate the "cash on hand" in the billions of dollars or higher. The QA testers entered 5 Quintillion dollars and got "not a number". I had to prove that the 64-bit IEEE float the GDP of rich nations. This all required a class in computer architecture in my CS degree.

  31. my 2 cents by BeemanIT · · Score: 1

    Lately I've noticed that courses have gotten better in college. However If your writing the article with the mindset of many useless electives that have nothing to do with the degree your pursuing then yes I could see his point.

  32. In Other Words by jmccue · · Score: 1
    TI;DR

    Management does not want to know the business process (or in other words they want to just sit around and do nothing).

    So the Business only wants Business Analysts who can do a little IT.

  33. It depends by Amiga+Trombone · · Score: 4, Insightful

    I'm old enough that when I got into programming, CS degrees weren't really that common. Most companies were hiring programmers by giving aptitude tests and training people in house. I eventually did end up going for a university degree, after I had been programing for about 10 years, but dropped out after my third year because there was little relevant to the work I was actually doing and the skills I actually needed. For a lot of projects I worked on, being a virtuoso programmer was a lot less important than subject matter expertise. At one time most accounting software was written by people who were accountants that were trained in programming as a sideline.

    I've found CS degrees are analogous to music degrees. Having a advanced degree in music doesn't make you Jimi Hendrix, but on the other hand if you want to be a symphony orchestra conductor or write arrangements, you're probably not going to get too far without one. But I've certainly met plenty of musicians with advanced music degrees who could barely play their instruments. And I've met plenty of terrific musicians who have had no formal training at all.

    Likewise, there are talented programmers with CS degrees, but a CS degree is not a guarantee of talent. And there are plenty of talented programmers with no degree at all.

    Personally, my programming career would have gone just fine if I'd never gotten anywhere near a university, but then, I spent most of it in corporate IT. I wouldn't have a clue where to start writing a search engine, but then, it's highly unlikely I'd ever have been asked to write one.

    Whether you need CS majors or not depends on the work you need to have done. If you're going to develop compilers and OS's, then yeah, probably a good idea. If you're doing routine business applications, then probably not so much.

  34. Better question. by gerald.edward.butler · · Score: 1

    Do Businesses really need to hire managerial/business "school" graduates? After all, can you name a single f-ing company that was started and built into something useful by business school graduates?

  35. Ob. The Daily WTF by Sigma+7 · · Score: 1

    There's a certain website that catalogs disaster in the IT industry. First two examples in the article:

    Theory distracts and confuses: Lack of theory causes people to implement O(n^3) procedures when there's already a stock solution that does something default. In one case, someone managed to do an O(n^2) insert for a hash table.

    Academic languages are rarely used: I haven't seen these "academic" languages either in the wild, nor in the classroom. However, users should still be able to port their knowledge over. Also, that site does document some esoteric languages (although giving them alternate names such as "MUMPS"), some of which are really wrapped around PHP.

    When I jump to the last point to analyze it to sandwich the list, the article's starting to look like anti-intellectualism. I also see no solid recommendations on what the author wants - the intro starts with him saying that so many programming languages are a bad thing, but finishes with saying that "angular" and "react" - two different ways of doing JavaScript - are good. Reeks a bit of hypocrisy there.

  36. Businesses need business programming by Anonymous Coward · · Score: 1

    It is a mistake to think a a CS major will be a good fit as a programmer in most businesses.

    If you're writing something novel as a product and you have a group of people who have some experience building a product (this includes a lot of new CS folks, but depending on the schools involved not the majority) then you can absorb new CS people. Be sure to watch their code and their behavior -- it is very likely they will not see the forest for the trees and will need guidance.

    If you'd doing work on existing code in a business, turnover and sensible worker-efficiency is your concern. You are much more interested in paper flow (and virtual paper flow) and interface design than how the machine works under the hood. You need the talent in house to avoid the sort of "write it in VB" reaction that computer-idiots come up with (don't just let the receptionist write your inventory system because he's interested in trying), but you do not need or want clever programming. You want older experienced hands. They often come from liberal arts fields. You do not need theory or math -- you need to be able to see how your code's behavior impacts the workers and how the internal structure of your code is digestible and maintainable by others in your team with different skill-sets than you. Yes, you want to avoid techniques which run fast with 30 users but don't scale to 3000, but you don't want the project run by only people for whom that's the really huge concern when the code is not going to have 300 simultaneous users.

    Typically a young CS major is the last person you want on such a team. A CS major who has been doing business programming for long time and who has social skills is a great find -- YOU WANT THAT PERSON -- HIRE HIM/HER IMMEDIATELY. But often new CS people will be more costly in terms of the mistakes they make that you understand. This is true for new grads on most levels.

    Experience programming can come to people with any major, so look for that experience, not the initial degree. Social skills and the ability to see through other people's eye are a little more likely in non-CS degrees, so keep that in mind when looking through resumes.

  37. He recommended physicists for engineering role by raymorris · · Score: 4, Insightful

    He sounds to me like he recommended hiring physicists for an engineering role, because he's unaware that software engineering and systems engineering exist. He thinks computer science is supposed to be programming.

  38. Bc completely unaware software engineering exists by raymorris · · Score: 5, Informative

    Sounds like the author is completely unaware that software engineering and systems engineering are fields, and people get degrees in each. He thinks computer science is the degree for programming. Realizing that computer science teaches a lot that isn't programming, he suggests hiring a physicist who learned a little programming.

    Maybe an analogy will help him:

    If you want to design and build a physical thing, such as an engine, you get an engineer to design it. The *science* of how an engine works is physics, applying that science is engineering, not physics. Specifically, you want a mechanical engineer.

    Similarly, applying knowledge to design computer-based systems is the job of an engineer as well, a different type of engineer. Either a software engineer or a systems engineer. The difference is that while an engine needs to be designed in detail, blueprints made, before it is built, for software the detailed blueprint *is* the software. You don't need the extra step of machinists physically constructing it after the blueprints are made.

    Computer science is to programming as physics is to engine design.

    Computer engineering, like mechanical engineering, is a degree that teaches you how to design robust, cost-effective things. Programs in the former, machines in the he latter.

  39. From an old timer ... by johnlcallaway · · Score: 4, Interesting

    I have only taken two computer classes in my 40-year career -- Fortran and Cobol. The first was for the credit in case I ever got a degree, I had already taught myself Fortran because I had already taught myself BASIC for a project in my calculus class (I was a math major) and realized I could teach myself far faster than the school can. I took COBOL because I was a computer operator and they wrote programs in COBOL, and I didn't want to stay a computer operator. Every other programming language I've learned since then has been on my own. Except for C++, I took an online course for that.

    It doesn't take a CS major to be a programmer. It does take someone who can understand logic and I believe has spatial awareness, the ability to 'see' how chunks of code and external processes fit together and be able to manipulate them in their head. The best programmers I've ever met were musicians, and I think it's because the best musicians have a high degree of spatial awareness so they can 'fit' different parts of a piece together in their head.

    There are different types of programmers. There are those that need a spec to get anything done because they aren't able to figure it out on their own. Some CS work will help with that, but I think at some level you can't teach it. It's like teaching me to play the piano .. I can learn where the notes are but I'll never be a concert pianist because I just don't have the dexterity and coordination. That's why I play the saxophone instead of the piano. Then there are the natural programmers that just get it, CS will help them get a job because it checks off a box in HR, but for the most part, they are very capable of learning themselves.

    While I believe all aspects of CS can be learned on one's own, they can also be taught faster. Testing techniques, architectural designs, data designs, and a whole host of things can be learned by googling. But, if one doesn't know something exists, one may not be able to find it. A CS degree, at a minimum, should provide exposure to a wide range of knowledge that can be extended as one needs it and technology changes. Let's face it, while we may have come a long way since I wrote assembler, deep down inside, it's still all ones and zeroes, registers and memory.

    Idiots abound, both untrained and trained. If companies were more focused on hiring smart people, paying them well, and then hiring the next level down and letting the smart people mentor them and give them the tedious tasks, we all get a lot more done.

    Regardless of what degrees they have. Degrees don't mean squat, one has to actually talk to someone to figure out if they know anything.

    This isn't mean to disparage learning things, I'm only saying the HR department needs to look past the degree to the person before making decisions. I've known very smart people with and without degrees, and the same goes for idiots.

    I'd rather have smart non-degreed workmate than an idiot with a degree. Ok .. I'd rather have a genius with a degree, so the actual order is:
    1. A genius with a degree.
    2. A genius without a degree
    3. The rest of the idiots for tedious tasks, a degree is irrelevant.

    --
    I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
  40. software architects by Kenneth+Stephen · · Score: 4, Interesting

    Sigh. I hear this argument often, but its not true. You don't need a separate person as an architect when your project is small. Do you need an architect for putting together the barn behind your house? No. But its not because an architect isn't needed. Rather its because, building the barn is such a small problem that the builder (programmer) can perform the trivial architecture piece all by themselves (in most cases, in their head, without needing to formally declare it on paper).

    It takes a while before college graduates deal with the big problems. Until one understands that big problems come with challenges that require a different approach, its hard to understand why an architect is needed. To go back to the example of the parent post: the architect isn't specifying how exactly one needs to implement the code. It is a false argument to say that they are taking away anyone's flexibility in that area; this viewpoint makes it clear that the poster doesn't know what an architect does. To go back to the building analogy: suppose the customer comes to the builders and say that they want an office building. Who gets to make the decisions on what it should look like, how tall it should be, how many entrances and exits, where does the supporting infrastructure (pumps, networking and telephony equipment, etc) go? Its not the builder or the electrician, or the brick layer or what ever the trade is. They are not laying down the vision of what to build. The architect - whether it is civil engineering or software engineering - is describing what it is that you need to implement - not how. An architect is NOT a lead developer. If you have to blame someone for taking away your flexibility in programming style, blame the lead developer.

    --

    There is no such thing as luck. Luck is nothing but an absence of bad luck.

    1. Re:software architects by Darinbob · · Score: 1

      Right, but if the entry level person only knows how to hammer nails then that person will never get their own project. However the person who knows how to build a house may start off just hammering nails to get the first job but over time will get promoted. That means the person will have both the skills as well as experience.

      Architect is overblown here. Lead developer is better, but that lead developer cannot be the person who has no skills. Just like the construction foreman needs to know more than just how to hammer.

    2. Re:software architects by Ensign+Nemo · · Score: 1

      Almost all architects, in software and RTL, that I've worked with over the past couple decades, don't work with the implementers unless forced to. Software architect is a joke title. It has nothing to do with flexibility. it has to do with most of time their crap just doesn't work that well and the always forget something important.

      Most of the ones I've had the (mis)fortune of working with basically spend all their time in Excel or Matlab doing modeling. But they almost never prototype anything, so you can guess what very often happens. "But it works in the model."
      "Software architect" should be an entry level position because most of the crap they come up with needs to be reviewed by the implementers anyway.

    3. Re:software architects by Greyfox · · Score: 1

      Yeah. I worked at a satellite company a couple of jobs ago, and there was no one there who could tell you how the entire ground system worked as a whole. There were a bunch of very siloed departments that could tell you their little piece of it, but no one who knew the whole thing. And you might think they were getting along well enough despite that, but the fact of the matter was their software was very much preventing them from taking on new customers or business. It was effectively impossible for them to grow, while I was there.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  41. Defending ignorance by dpons · · Score: 4, Informative

    This needs to be repeated: "The idea of programming as a semiskilled task, practiced by people with a few months' training, is dangerous. We wouldn't tolerate plumbers or accountants that poorly educated. We don't have as an aim that architecture (of buildings) and engineering (of bridges and trains) should become more accessible to people with progressively less training. Indeed, one serious problem is that currently, too many software developers are undereducated and undertrained. Obviously, we don't want our tools--including our programming languages--to be more complex than necessary. But one aim should be to make tools that will serve skilled professionals--not to lower the level of expressiveness to serve people who can hardly understand the problems, let alone express solutions. We can and do build tools that make simple tasks simple for more people, but let's not let most people loose on the infrastructure of our technical civilization or force the professionals to use only tools designed for amateurs." - Bjarne Stroustrup

    1. Re:Defending ignorance by wonkavader · · Score: 1

      And yet we do -- we hire CS majors. They do not know how to write business software, how to gather requirements, how to look at the costs to the organization and design solutions.

      CS majors are, at virtually all the second and third class schools around, taught to code and understand code/computers, not how they work in our companies or fro our workers.

      You are absolutely right in your quote. We should not be looking for untrained people to write our software. A CS degree generally only addresses part of the lack of competence.

  42. trades / apprenticeships can work good in tech vs by Joe_Dragon · · Score: 1

    trades / apprenticeships can work good in tech vs theory loaded people and the trades / apprenticeships people are not 60K-80K in the hole when they are done with school.

  43. It all depends on the type of programming by CaroKann · · Score: 2

    It really depends on the type of programming/systems work that needs to be done. Full stack development is different from back end development, which is different from database development, which is different from business logic development, and so on. Each of these require a different set of knowledge and skills.

    Overall, you need the ability to think logically and to be able to understand how the entire system works together.
    For some tasks, such as analyzing/implementing business logic, an understanding of the business itself, the ability to manage people, expectations, and timelines, and good communication/documentation skills are paramount. If you're working within a system that is designed to hide away much of the technical cruft, allowing an employee to focus on business logic without the need for so much technical knowledge, then I suggest that a non-stem major, such as an English or Business Management major, can achieve the best results. A CS major might feel out of place, and become frustrated at not being able develop some of the more technical skillsets.

    For other tasks, such as those that build up the system that ultimately supports the business, you will need specialized database knowledge, set knowledge, scaling knowledge, systems design knowledge, and so on. For those, a CS, Math, or Systems Architect major can achieve the best results.

    One trend I see in corporate CS is the fact that some companies are becoming frustrated with proliferating technical skillset requirements, and are trying to disengage themselves from the tangled technical web many systems become, even going so far as to develop their proprietary own in-house programming languages that require very few industry-standard technical skills to use.

  44. That theorem-obsessed mindset by AHuxley · · Score: 1

    is what separates anyone who can do something with a GUI and the really smart person what can do it faster and with much less cost.
    The "mathematicians" are the people who suggest that buying 100000 consumer CPU "computers" and some "networking" is not going to be the best, easy "super" computer for a set math problem.
    Math is never going to "distract and confuse". Smart people hired on merit will save a company by knowing what to buy, what to use, what to rent. What will work on a CPU GPU, what problem needs a very expensive hardware product.
    Re "average curriculum" never hire from any nations "average curriculum". Hire only the best who could study and want to study. Who could pass their tests, exams and who can take in new education.

    Look over the past of your workers.
    Can they study? Did they study to get into university? Pass their tests? Exams? Work to a really good standard?
    Find someone who can bring something great to your brand and grow your business.
    A person who can understand and talk about theory can take in more education.
    Can learn and work well with "academic languages". They will do the same with any new "languages". Just as quickly and to a great standard.
    Mathematicians will understand what average people need years to learn about. That give your brand an advantage. Hire more mathematicians.
    Re "required subjects" Workers able to show they can do "required subjects" can then do new "subjects". Thats great when needing to learn new things.
    Institutions breed the ability to study and learn. Then give that ability to any growing company. Win, win, win.
    Some new emerging "modern skills" can be fully understood by anyone who can study and learn quickly. Kind of what skilled people showed they can do for years to a very good standard.

    --
    Domestic spying is now "Benign Information Gathering"
  45. Schrodingers article by A+Pressbutton · · Score: 1

    At the same time

    - the article will appeal to the CIO readers who wonder why that job is so hard and complicated.... surely not really and so will be read
    and
    - the article is completely wrong as this person is writing for CIO mag and why cant a cookery writer do the same or better for less - indeed why is there a CIO mag at all

  46. talk about "written for the internet" by thewolfkin · · Score: 1

    i mean "be careful of that academic language" don't hire people "who are trained to argue their ideas to authority". We don't want that in professional settings.

    --
    Just another second banana
  47. Go for it! by nowwith25percentmore · · Score: 1

    If businesses want to build themselves around unqualified hacks, go for it! As a classically-trained programming heavyweight with lots of practical experience in industry who runs their own consulting business, this is great for me. The bigger & more desperate the mess clients are in, the higher the rates they will bare to bring me in to fix it! Race conditions? Scalability? Crashes? Profit!

  48. But did you actually *get* better? by Anonymous Coward · · Score: 1

    Because that is the part where practical medicine usually falls flat on its face.

    They just redeclare "cured" as "Lifelong addiction to a drug that merely masks the symptoms. Badly." and "Cut away the ill body part, like it's the freakin dark ages.".

    When you see real cures, it is usually some university hospital or straight-up experimental research.
    Antibiotics are a rare exception in that world. We can't actually cure much yet, and havr barely left the dark ages in that aspect.

    So call me when we get cheap non-profit individualizes gene therapies and other propet cures for the average person.

  49. Re:More broadly, we should look at academia by lucasnate1 · · Score: 1

    Are you sure it's that great for literature? I wonder if the correlation between good writers and literature graduates is higher than the correlation between good programmers and CS graduates. I would actually suspect it is lower, considering how postmodernism/PC/capitalism (the first two deny the existence of quality, the third insists that quality only exists in what earns money) messed up humanities.

  50. There are alwais people who struggle with knowlege by I+will+be+back · · Score: 1

    There are licensed electricians, who electrocute themselves, there are drivers with drive license, who kill themselves in accidents, there are people with CS master degree, who have no idea what to do with it.
    The good thing it is less harmful than with drivers or electricians ;)

  51. Crazy to bundle all software work together by joe_frisch · · Score: 1

    There are a very wide variety of things that get bundled as "software development". Some are extremely simple and repetitive and required little background. Some require a lot of very specific training for a specific job, but are otherwise simple. Others are complex is a variety of ways - complex architecture, complex algorithms, complex interfaces.

    Add to that the some CS graduates are exceptionally good, others manage to get out of school with very little knowledge - similar to other fields. Some self taught "physicists" are also very good, others are terrible. The good ones though usually command rather high salaries.

    It really boils down to managers needing to know enough about a project to hire a person with the right skills FOR THAT PROJECT, and of course with an eye toward any future projects.

       

  52. Studying programming languages and compilers ... by perpenso · · Score: 3, Interesting

    Kind of like how not everyone needs to hire someone who designs programming languages or builds compilers, right?

    Studying programming languages and compilers is important. Such a foundation to build upon is how we CS grads can easily learn and switch to whatever "new" language is the flavor of the moment, while writing decent code that has some understanding of the limitations of the underlying architecture it all runs on.

    Not having such a foundation can lead to those degenerate situation where "fans" of a language try to use it everywhere for anything and require 3 GHz quad core CPUs and 16 GB of RAM to accomplish relatively simple things.

    In short those CS classes and projects teach a young developer there are many ways to do things, a wide variety of tools are available, some tools are better for some tasks, and they learn a little about what happens at the architecture level where all the levels of abstraction have to meet and execute on the available hardware.

    Now can a young developer learn these things outside a formal degree program, sure, but very few have the personal initiative to do so and most need the coercing of the university. And the direction of the university as well since many of the seemingly "unnecessary" classes actually turn out to be useful.

    ...so much software is written now, and the tools are so mature and easy to use, not everyone needs a CS degree to write all software.

    If you think a CS degree is limited to complex problems and inapplicable to modest projects, you are mistaken. CS and other degree programs are a foundation, and with a stronger foundation the personal study one does and the experience one gains will be more effective. Again, its just starting on day one with a bigger toolbox and more tools.

    And for the record, I've gone both the self taught and formal university route. The former is not a replacement for the later, the two are not mutually exclusive, and the CS grads that have an inherent interest in software development (as opposed to those who were told its a good career path) likely have practiced the former as well.

  53. yes they do by Maxo-Texas · · Score: 1

    I've worked for two multi billion dollar companies that had severe problems due to performance issues with large systems that didn't follow good C.S. principles. Having a degree allowed me to fix those problems with relatively non-invasive changes.

    Excel doesn't scale well.

    An Excel spreadsheet rewritten in Java doesn't scale well.

    Big (O) time matters.

    The number of heads matters more than platter speed under heavy random load.

    Likewise, the code I wrote became cleaner and easier to maintain every release. The code written by non C.S. coders tended to get worse every release and would have even passed a code review if I'd been able to get the business to do it. This meant after a few releases one set of software was increasingly unstable, generated a lot fo after hours on call and unscheduled downtime. The other set of code was stable, responsive to new customer requests, etc.

    The only problem I had was when non C.S. people asked for requests which I knew were impossible. It was difficult to explain why it was impossible to them. They didn't really require C.S. They just required basic logical thinking like you get in your second year math courses.

    I have no axe to grind on this issue- I've been retired for years. These days, I just do occasional massage on crippled programmers. But I was a fortune 500 manager over 15 developers for about the last 8 years of my career.

    BTW, retiring was the best decision I ever made. If you love your work more than anything- by all means do it. But if you love other aspects of life then quit as soon as you have enough money to do so.

    --
    She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
  54. Re: VBA is great! by Anonymous Coward · · Score: 1

    Learn to argument instead of going ad hominem.

  55. Re: Bc completely unaware software engineering exi by Anonymous Coward · · Score: 1

    This is the real problem. CS as a fully accredited degree is not networking, or programming, or database administration, etc.
    Those are either Trade skills or applied Engineering. That's why a degree which sets you up to design chips and motherboards is an Engineering major.
    We keep seeing applicants who claim to have a CS degree in Networking. That's not really a thing... it's some community college or online degree mill using the term CS to attract suckers and justify the price increase as compared to something like a CCNA Bootcamp.

  56. YES... and more by bussdriver · · Score: 1

    Some of it is spot on. My CS department is divided by CS and Software Engineers. Points to remember:

    0) Parent post.

    1) Computer Science was 1st and is prestigious so market demand has pressured the degree to morph into Software Engineering rather than fade into obscurity while Software Engineering becomes the popular desired degree. As a result, older CS *tend* to be math, younger are SE. Today's modern CS program is nearly SE; where a few required courses are are out of the CS/Math area unless your one of the rare schools which has SE and CS and differentiates them more. Naturally, there are people trying to preserve CS and obviously SE needs some CS oriented courses along with Math, a Science Lab etc.

    2) CS is important and the math theory nerds are incredibly valuable and this work has and will be largely done by academics. Professors do not simply share knowledge with students. How can be people be so ignorant as to think that they are like high school teachers? Non-research profs are supposed to TEACH (while research types just share) which is an additional area of applied psychology. The confusion between these 2 subgroups continues in the culture and system. Not that a great deal of education expertise is needed since students are supposed to be capable; however, given how college has been trending away from the intellectual elite to the masses more emphasis on education expertise... another topic.

    3) This attack on academics needs to be stopped by anybody who respects teachers! It is YOUR job (the reader of this) to defend them against the anti-intellectual assaults trending in the culture. Educators have training besides the topic they teach; it is NOT easy or well known how to train everybody's brains on every topic. You can't just plug in an uplink like The Matrix; even then you'll need some trained person to strap the brats into the uplink machine properly.

    4) The article reads like the commonplace foolish opinions that continue to plague the industry. This is why many posters will point out that the cause of many problems today is because of this ignorance of the details of the profession... akin to "I've been to the dentist a lot; therefore, I know something about dentistry. It's over rated..."

  57. "overcome the limits of their education" misguided by perpenso · · Score: 2

    The theory taught in CS courses has plenty of application and there are plenty of CS people who can overcome the limits of their education, however a high density of CS degrees in a software development team has often in my experience correlated with problems.

    Then you have not learned how to differentiate between the CS grads who chose that degree program because they had an inherent interest in programming and those that chose that program because a parent, guidance councilor, etc told them it was a good career path.

    Here's a simple way to tell the two apart. Has the recent grad written *anything* unrelated to class assignments? I don't care what their personal project was, sometimes I have to coax it out of them because they think it too simple or too stupid a project. But they are mistaken, all I am really looking for is that they had some sort of personal curiosity or "need" to sit down and write some code that was not an assignment from a professor, a boss, etc. Something purely for themselves.

    Your "overcome the limits of their education" comment is misguided, you don't understand a good CS program. Learning to program is left as an exercise to the student, they are expected to learn, outside of class (maybe there is a TA session to help), the necessary programming language to complete assignments. Some do the absolute minimum, these are the "ticket punchers" who take the class to get the degree to get the job, they aren't really there to learn. Others will be more thorough in learning some programming language, will start to think about problems beyond the class assignment, may try to code up a solution to one of those on their own initiative to satisfy their curiosity as to whether they know enough to pull it off, etc. These "stretch goals" are actually expected and encouraged by the good professors. What you think is some extra work they have to perform to make up some shortcoming is actually work expected by the professors, the "exercises" left to the student on their own time.

    Now if you want to rephrase your argument that the less capable students are allowed to somehow skate through the program and graduate that is a valid complaint. But to think that good CS programs do not produce good programmers, that is misinformed.

  58. Written by an MBA? by drstevep · · Score: 1

    After all, they have lots of courses of material on managing hiring planning...

  59. You aren't much of an engineer without theory by perpenso · · Score: 1

    My only complaint of CS majors is that you guys please stick to theory and math. Please donâ(TM)t lecture engineers on how things work in the physical world.

    Actually the theory is quite useful and helps in the real world. An example from molecular visualization prior to ubiquitous 3d hardware, i.e. software based rendering days. A "non-theory person" quite familiar with the language and standard library used the built in sort function to get a z-sort of atoms in preparation for rendering. The "theory person" with the theoretical understanding knew that the appropriate sorting algorithm would depend on the current data, which from one rendering to the next would be mostly sorted. Knew that the commonly stated run-times for various sort algorithms assumed random data and were therefore erroneous. A quick check of references showed that for mostly sorted data the standard library algorithm was actually a quite poor choice. The "theory person" implemented a more obscure sorting algorithm with excellent performance given the nature of the data and the atom z sort code dropped off the profiler hot spot list. After many such improvements of the code, at an industry trade show, various visitors to the booth were surprised that commodity PC hardware could offer such visualization performance.

    The better programmers understand the practical elements of the hardware and the programming languages *and* they understand the theory. I know engineers who built things sitting on the moon today, they understood the practical and the theory quite well.

  60. Re:Bc completely unaware software engineering exis by lgw · · Score: 1

    Sounds like the author is completely unaware that software engineering and systems engineering are fields, and people get degrees in each. He thinks computer science is the degree for programming

    CS is the degree for programming in most places. Most universities don't have "useless wankery" degrees at the undergrad level in CS.

    TFS doesn't make clear what the complaint is. Most grads in the field know Java and JS, which is what most programming in business is sadly done in, so his complaint is confusing. It's not like you get a grad who only knows Scheme or Lisp these days.

    Is he really upset that it's hard to hire a CS major to maintain his VBA macros in Excel? I thought everyone knows you hire business and finance majors for that.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  61. Ignorance by bussdriver · · Score: 1

    The article indirectly brings up issues worth discussing; but it was likely the article author lacked any depth of understanding. Especially the idiotic industry complaints of MBA types who are trained to EXTERNALIZE ALL COSTS -- employees do not get training, it's their problem and it's the schools problem etc. A competent employee will train themselves in specific details like tools/languages but they want that for FREE, to the extreme of not even planning for learning on the employee's own personal time (which should be a crime) they want people who already have 5 years experience level skills in technology X (which is 2 years old.)

    We NEED competent engineers to do everything... get don't get enough of them.
    We WANT scientists but we do not need them unless we want to progress forward.

    Science invents new kinds of engineering and makes existing engineering better. It has an indirect impact and it's a multiplier in that just 1 scientists and change the whole world. They rarely get noticed and the masses wouldn't even know about science if it wasn't for all the hype -- and I say hype because the masses can't see the massively important impact science has; they only see the hype and to their perspective it's hardly different than all the other hype. So I can see why an ignorant slow person can't tell the difference... and try to do my part to hype something that shouldn't NEED the help.

    A Software ENGINEER with a proper education will get some CS training and Math needs to be a big part of it... not more than English/language skills... don't take me wrong, I'm in the USA, Math skills are behind; if Math skills were at the proper level then an equivalent amount of Math and English would be required for the SE degree.

    We should still have CS majors, but they probably should go back to their Math Dept roots as a small niche. This would keep the real scientists away from the engineers; it would help both do better. We don't dilute physics by making it cater to mechanical engineers. It is separate and does science that spawns new and better engineering specialization.

    We have CS majors from crap schools who are barely competent at software engineering. It would help to at least separate the two areas.

    1. Re:Ignorance by bussdriver · · Score: 1

      I really hate this stupid automatic typo fixing feature...

  62. Re:disagree by anegg · · Score: 1

    I dropped out of college to get paid.

    That's funny... I dropped out of college to get laid. Got a decent job (along with some tail) after chasing a girl to another part of the country. Eventually went back to school so that I could get a degree, telling myself and others that I only needed to get the piece of paper to get the salary (because I could do the work already). When the dust had settled and I had a number of years of experience under my belt, I realized that I had learned a great deal at college, not all of which would have been available to me with on the job learning. Oh, I also scored a great salary right out of school (because I had the piece of paper). On the other hand, I have two friends who went to the same vocational high school as I did and who work in the same field. They have also been very successful, without college degrees. It is a funny world.

  63. Foo say by mcswell · · Score: 3, Interesting

    Second time in two days I've had occasion to post my favorite Master Foo story:
    http://www.catb.org/esr/writin...
    (the story doesn't say anything about PhDs, but it does talk about elegant)

    1. Re: Foo say by ComputerKarate · · Score: 1

      THANK YOU! Now I want to go read "The Cathedral and the bazaar".

      --
      "The urge to save humanity is almost always a false front for the urge to rule." --H.L. Mencken
  64. A good CIO already knows this by anegg · · Score: 1

    I've met/worked for a number of CIOs. Some of them are competent, many are not. The worst ones are the ones who don't really understand anything about computers, programming, or even IT in general.

    We study science (including computer science) so that we understand how the world works. We study engineering (including software engineering) so that we know how to apply science to solving problems in an effective and efficient manner. Not everyone needs to be a scientist or an engineer; many people are excellent mechanics (or programmers) without a higher level of study. But hiring the right person for the job depends on knowing what is needed to get the job done, and a hiring manager who doesn't understand this doesn't really understand *their* job.

    A computer scientist *may* also be a good software engineer, or a good programmer (or not - it depends on their interests and their training). A person trained in another discipline altogether may have picked up enough knowledge of computers that they are a good programmer, but it is unlikely that they are a good software engineer or computer scientist unless they have had years of experience performing those tasks.

    CIOs are often business people who fell into managing IT departments (the worst [in my experience] are the finance folks who "own" IT because finance depends on computers to get their jobs done). The smart ones know the limits of their knowledge, and use domain expertise within their departments. The others cuss and fume and have generally antagonistic relationships to the people who work under them because they really don't understand what they are managing.

  65. Easier to teach an engineer programming than ... by tbuskey · · Score: 2

    a programmer how to do engineering.

    I got my degree in Mechanical Engineering. My whole class had PCs with DOS, Basic, Fortran and 8088 cpus. And access to Vax/VMS sometimes.

    In heat transfer, we coded a Chebyshev differential equation to figure out the optimal thickness and spacing for cooling fins. It would take 30+ minutes to run at a minimum. Or 8 hours if you were way off. You learned a bit about better algorithms and speed when things took so long.

    It's not the kind of thing I'd expect a programmer to be working on. And the engineer isn't going to be able to solve it w/o programming because of the thousands of number calculations that are needed.

  66. Re:Bc completely unaware software engineering exis by sjames · · Score: 3, Interesting

    Agreed to a point. Enlarging, if you just want a privacy fence you don't hire an architect, an engineer, a general contractor, and a work crew. You just hire one guy who probably doesn't have a degree in anything and he hires a couple helpers and they put up a fence. You certainly don't hire people degreed in materials science and physics.

    Likewise, you don't need to hire a EE to put a dimmer switch in your dining room. You don't hire an ME to figure out why your Ford stumbles on acceleration.

    The guys who install home theater speakers aren't acoustic engineers.

  67. Computer Science vs Software Engineering by thsths · · Score: 2

    Part of the problem is that we often confuse Computer Science and Software Engineering. We actually need a lot of the latter, but a lot fewer of the former. Just like we need a lot of people who can install satellite dishes than radio scientists.

    If you need an engineer, get an engineer, not a scientist.

  68. Re:Bc completely unaware software engineering exis by bjwest · · Score: 2

    So I'd need a structural engineer to design the bridge spanning the internet between the independent networks of my field and home offices?

    --

    --- Keep the choice with the user..
  69. Re: VBA is great! by nten · · Score: 1

    I'm completely serious. VBA way outperforms numpy. It is compiled to native vs the .net VB which is not. And it has everything I need for simple blas and even nonlinear programming all baked right in. Also it can call out to DLLs with a very low cost ffi.

    --
    refactor the law, its bloated, confusing and unmaintainable.
  70. This CIO's Attitude by Stormy+Dragon · · Score: 2

    Is why so many companies have data breaches. They hire people who don't know what they're doing, but can jury rig a bunch of crap together so it looks like its working from the outside.

  71. Re:Never hire more than 10% in any single degree by wonkavader · · Score: 1

    This is really good advice. I don't think you can follow it as a rule, but trying to follow it in general will provide better in-house solutions.

  72. CS vs. Physics by Brannon · · Score: 1

    At the heart of the matter is the fact that most businesses don't really need programmers to be deep thinkers. For them, it's "just as worthwhile to hire someone from a physics lab who just used Python to massage some data streams from an instrument.

    The hilarious part here is that the author is implying that a computer scientist is a deeper thinker than a physicist.

  73. ::yawn:: by astrofurter · · Score: 1

    Personally I much prefer to hire and work with English, Philosophy, and Physics majors on programming projects. CS majors are rarely an asset to a team, often a liability.

    English majors understand the importance of _naming_. Getting your variable and function names right is (usually) far far more important than choosing the "right" esoteric data structure. Clarity is essential for maintainability.

    Philosophy majors (sometimes) have clean minds. Nothing matters more if you want the output of the program to be consistently _right_. Note that, precisely because they have clean minds, most Phil majors are completely useless for frontend work.

    Physics majors are just generally smart, and usually can't find meaningful/remunerative work in their chosen field. The nation's failure & the public's loss is my company's gain.

    There probably are some CS majors who are actually competent programmers. I haven't met them, but I'm sure they're out there. They probably work for the _next_ Google. But so long as most startup companies insist on paying permanent-renter wages, all we're going to be able to get is smart people who can't find work in their actual fields of expertise. Yay financial capitalism!?!

  74. Re:Bc completely unaware software engineering exis by Darinbob · · Score: 5, Insightful

    I've worked with these scientists that need a little programming. It makes no one happy, the programming is lousy and the scientist is dismayed at not doing more science. I've got one guy who says "I wrote all the code, I just need you guys to clean it up and integrate it into your stuff", or "why are you designing that piece, I already wrote it!"

    Let me tell you, some of the worst programmers out there are physicists. It sometimes seems like they even forget their math as they complain that their exponential time algorithm takes too long to run.

  75. There should be a variant on Betteridge's law by Hognoxious · · Score: 1

    There should be a variant on Betteridge's law where the question is so vague it barely achieves the level of retarded and thus, despite what your third grade teacher said, it's perfectly proper to reply with another question.

    So perhaps it depends on the nature of - you know, like the shit and stuff - that the business kinda like sorta does?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  76. Vocation vs. Academic discipline by mi · · Score: 1

    The goal of a higher education is not to teach you to do something, but to teach you to learn how to do it — and other things like it.

    Had the instructors taught the immediately-practical things, as happens in vocation schools, apparently, we'd have to go back for a retraining for each new language or programming paradigm. Using the "academic" languages encourages (and coerces!) learning of multiple things...

    --
    In Soviet Washington the swamp drains you.
  77. Re:"overcome the limits of their education" misgui by Darinbob · · Score: 1

    Oh ya, when I was in CS, we did not have classes devoted to programming, except for an intro Pascal class and later an assembler class. After that point you didn't get more than maybe a first week of learning the new language and maybe some TA sections to help out more. The class would be teaching fundamentals of algorithms for example, but the homework would involve programming so you'd better pick it up quick. The professors were also not programming experts so you had to rely on proctors or TAs or friends.

  78. Re: VBA is great! by HornWumpus · · Score: 1

    It's been a while. Does it still leak memory like a sieve?

    Not useless, but if it had to stay up? Wasn't the right tool for the job.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  79. Re: Bc completely unaware software engineering exi by HornWumpus · · Score: 2

    CS is weird, at different universities it comes from different schools.

    3 categories, CS program comes from: Math, Engineering or Business. They produce very different graduates.

    From business school, worst graduates, learned a fair amount of practicals, but very weak on math and theory. Beware the Java only monkeys.
    From engineering school, close to the silicon, at least they've most likely learned an assembler or two. Likely best coders.
    From math, loads of theory. Avoid CS majors that don't code, especially those that think they're 'above coding'. Talk about database normal forms past the 3rd. Those are net negative workers, but their are good ones.

    In my experience the best single interview question remains: How many languages have you coded in? The right answer is...long pause...how are we counting? Even for a recent college graduates (the good, recent college grads have about 8-10+ years of coding under their belts). Follow up is: Which do you like best and why?

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  80. Re:Bc completely unaware software engineering exis by HornWumpus · · Score: 1

    I'll see your physicists and raise you applied math PhDs.

    OMFG! What steaming piles they can produce.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  81. Oh dear by thesupraman · · Score: 1

    Someone is trying to pull out the old 'learn Humanities, everything else is easy' bs.
    Of course this is only believed by Humanities grads, who generally blinker themselves to the technical capabilities of others while flitting from disaster to disaster because interview skills are all that matters, truth to them is a very flexible thing, and it takes around 12 to 24 months for reality (and the mess they have created) to catch up with them, by which time they move on.

    No.
    Humanities teaches little that is not learnt through normal social and workplace interaction, and often in a more correct and accurate way and over a similar timescale. Technical capabilities are not so easily learnt. Humanities students have generally demonstrated a lack of commitment and interest in technical fields, so will rarely Excel in them.

  82. Re: VBA is great! by nten · · Score: 1

    I only ever used it for things I would have preferred to use MATLAB for, so memory leaks or uptime weren't things I looked close enough at. I can image somewhere out there exists a safety of life critical piece of software in VBA that has its VM cycled by a chronic job to avoid memory exhaustion. Because that is the world we live in.

    --
    refactor the law, its bloated, confusing and unmaintainable.
  83. Maybe by brantondaveperson · · Score: 1

    "Theory distracts and confuses" if you're a bit thick. Otherwise, theory is invaluable and allows you to learn from the masters, and stand upon their shoulders (hopefully). Understanding which data structures, algorithms, languages, and methodologies are available to you - and under which conditions you should choose this or that particular solution, will make you a better software engineer.

  84. Re: VBA is great! by HornWumpus · · Score: 1

    Like I say, It's been a while. But our clients were trading large double digits (about 30% of N America) of the power in north America, Europe and Australia...on VBA...at least we got rid of the Access backend...

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  85. Reall, no data structures? by uncqual · · Score: 1

    "...it's too bad few of us use many data structures any more."

    If someone writing a program doesn't think they use data structures, perhaps they should have gotten a CS degree from a decent university. Well, arguably, maybe if all they write are simple Hello World programs they are not "using" data structures explicitly (ignoring, of course, that they very stack that is used in the calling of printf() is a data structure).

    I'd be interested in seeing a meaningful system where many programs in it don't use arrays, vectors, lists, queues, stacks, sets, etc.

    Do most programmers still code up their own data structures outside of low level "systems" programming or real time systems, no. But they certainly "use" them and need to know the performance implications of which, for example, container class they pick.

    --
    Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
  86. software architects cannot code by aberglas · · Score: 1

    Programmers produce code. When they stuff up, it don't go. Obvious.

    Software Architects produce documents. Lots of them. Pretty ones. But there is no objective test as to whether they make sense or not.

    So people that cannot write code that work can become software architects. And people that fail at that can become Enterprise Change Managers.

    There is definitely a place for senior engineers that know how to write code to then develop designs, and maybe they will end up not writing much code. But the non-technical architect is the source of many software disasters.

  87. Yeah, it's ugly even if you don't know the term by raymorris · · Score: 1

    That's the one part that stuck out to me as well. I would think that for anyone who "gets" normalization, who understands why it's done, seeing redundant data because it's not in 4NF would be at least "icky".

    Even if one doesn't remember exactly what each of the normal forms are, the gist of 2-5 is "duplicating the same data over and over again is a bad idea". Some of my co-workers likely don't even know/remember the phrase "normal form", but if you showed them a table that wasn't 4NF, when they saw the duplication they would know it should be improved.

    Fifth normal is the one that seems a bit silly to me, in actual practice. It gives IP a lot of the utility of the model, for very little gain. 5NF may be useful as a CS concept for developing theory.

    1. Re:Yeah, it's ugly even if you don't know the term by HornWumpus · · Score: 1

      3rd normal form says no total on invoice, just sum up line item every time...which is idiotic UNLESS you are building a system to process transactions for individual line items and need to avoid blocking between line item transactions.

      Even 3rd normal form is over normalized for 90%+ of database applications. OLAP is not OLTP.

      Think about where you store price for line item (if your a 3rd normal form purist). Can't be on lineitem, redundant to pricing, so has to link to pricing data with full history.

      Fastest way to get a resume to the circular file is talking about normal forms higher than 3rd.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  88. Computer Information Systems by sycodon · · Score: 1

    Is offered at most major universities.

    Business Administration, Manufacturing Theory, Accounting, Database Theory, Systems Analysis, Systems Design, etc.

    Work orders, General Ledgers, Checks, Labor Efficiency, doesn't require a Mathematician. Someone who understands what make a business run, how to measure it, and how to manage it is what's needed.

    --
    When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    1. Re: Computer Information Systems by tigersha · · Score: 1

      Which brings us to the problem with my recentlyâ"ex employer. The management does not know these things either.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  89. Big projects NEED CS people by Targon · · Score: 1

    Look at some of the programs out there that went completely wrong, and chances are, they were lacking in people with a focus on architecture. Mass Effect Andromeda is the perfect example. Good ideas, but how to design the thing? If you just have a bunch of coders without any clue about design, you have a lot of pieces that don't work well together, and the end result is a mess that disappoints everyone. If the design was done early, and with Computer Science people, the whole idea of, "How might this break?" is in the design, and you end up with fewer design flaws.

    Remember, you can take a great design and have bugs(which can be fixed), but if you have a crap design, then you can't fix the problems which are fundamental to the design.

  90. Re:Studying programming languages and compilers .. by jon3k · · Score: 1

    Studying programming languages and compilers is important.

    I agree, of course. The question is whether it is required for writing all software.

    In short those CS classes and projects teach a young developer there are many ways to do things

    It really depends on what you get out of it. I know plenty of CS graduates who basically went to java vocational school. And I know plenty of people without CS degrees who can program using pretty much any paradigm, from functional to OOP and anything in between.

    If you think a CS degree is limited to complex problems and inapplicable to modest projects, you are mistaken.

    Not at all, I just said it wasn't required to write "all software". There are lots of simple things that can, and indeed are, written by people without CS degrees. I would venture a guess that most software these days is written by people without CS degrees.

    CS grads that have an inherent interest in software development

    That's really what it comes down to at the end of the day, not whether you went to university.

  91. Science is not engineering. by PJ6 · · Score: 2

    No, you can't get rid of the programmers, but yes, in my experience it is the most educated who make the absolute worst programmers. Violent disregard for maintainability of any sort.

    Not because they're stupid, but because that's not what they're hired to do. Academics often make terrible engineers.

    Most programming is a trade.

  92. Re:"overcome the limits of their education" misgui by perpenso · · Score: 1

    And frankly, that is how it should be. Class time for concepts and theory that outlive the operating system and programming language of the day, the OS and lang being left as an "exercise for the student". The university is not merely about sitting in classrooms and having knowledge handed to you, you and your fellow students puzzling things out and learning from each other is supposed to be part of the university experience too. And given the amazing access to equipment and expertise one has at a university not indulging in personal projects unrelated to class is quite the lost opportunity.

    Regarding professors, the programming expertise might be more contextual. For one of those data structures and algorithms classes taught in pascal my professor was no pascal expert, he knew enough to teach the class but that was about where his interest in the language dropped off. Now when I had him for upper division AI classes. he was quite the expert in LISP which he had been using for decades. It didn't take too long to figure out what professors were the local experts in one language or another, so for office hour questions it was really about knowing who to ask. And like CS students, some professors learned what they needed to and just stuck with that, and others had this innate curiosity and learned new operating systems and languages to satisfy their own curiosity not because they needed to for school or work.

  93. Re:Studying programming languages and compilers .. by perpenso · · Score: 1

    CS grads that have an inherent interest in software development

    That's really what it comes down to at the end of the day, not whether you went to university.

    Yes and no. Combine inherent interest and self motivated study with the formal training and the person will likely be even stronger. The university adds to, it doesn't take away from, such a person. Now if the options are a self taught person with the interest and self motivation and a person with a degree that was a "ticket puncher" who showed up and did the minimal required and nothing else, yes, I'd prefer the self taught. The gaps the self taught usually have are easier to deal with. But don't dismiss the formal university program, the self taught person whose personal study will equal a formal program is exceptionally rare.

  94. Re:Bc completely unaware software engineering exis by novakyu · · Score: 1

    As a former physics grad student, I completely agree. If you want a good programmer, don't hire a physicist—if you need a general manager who understands enough of programming principles to know when your software engineer is BS'ing (and not referring to their degree), hire a physicist.

    I would be surprised to meet another physicist who even knows what big O notation means without having to look it up (I was an oddball who liked programming more than tweaking instrument controls).

  95. from a programming physicist by Goldsmith · · Score: 1

    I'm a physicist who knows a bit of programming. When starting a project, I can create functional code to drive some widget I've built, along with a terrible UI, and a data structure that apparently only I can understand.

    Then, I hire a professional programmer on a project contract to make the second version of the code. (MVP version- usually also requires an EE and/or ME).

    Then, I hire a team of full time programmers, led by a systems engineer or architect to make the "real" version.

    If you're hiring a physicist to code, understand that you're getting a person who either couldn't really cut it in physics or made a bone headed career move that required a serious pivot somewhere along the way (physics is not for everyone, and there are some extremely smart and successful ex-physicists out there). I think some people are overly enamored with people who can explain quantum mechanics and black holes. Yes, that stuff is really cool, hard to understand, and it's impressive we can talk about it intelligently. Unfortunately, writing good code has little to do with those subjects. Good physicists work on physics projects, and get paid well to do that.

  96. Re: VBA is great! by Dahan · · Score: 1

    > It is compiled to native vs the .net VB which is not.

    This is an outright false statement. VBA is not compiled to .Net.

    What's false about it? nten didn't say that VBA is compiled to .Net; he said, "It [VBA] is compiled to native."

    Parent needs to be downvoted.

    Nope.

  97. Answer... by Doctrinsograce · · Score: 1

    "Businesses Really Need to Hire CS Majors?" No. Not at all. There are many positions that do not require a CS degree. Oy.

  98. Re:The Purpose of Education. by geekmux · · Score: 1

    Furthermore, those degrees usually do not teach you that, what needs to be done in whatever position. They DO tell the employer that you are a) able to learn new things in this ever-changing field and b) finish what you have started.

    Uh, no, they don't tell an employer either one of those things. They certainly don't guarantee them.

    First off, I find the whole "finish what you have started" validation to be ridiculous and very outdated. I work with plenty of skilled professionals who lack a degree that finish what they start every day. Just because a sprinter has never completed a marathon doesn't automatically mean they're some lazy half-assed athlete, and yet that is exactly what is implied when we attempt to pre judge those who have skills, but lack a degree.

    And as far as a degree telling an employer about your ability to learn new things, a 20-year old IT degree is almost worthless today from a technical perspective, and it tells me nothing of someone's ability to learn NEW things in an ever-changing field. A degree only tells me you were capable at some point, not that you are still capable. I will only learn that through direct observation and experience.

  99. Re:Bc completely unaware software engineering exis by RespekMyAthorati · · Score: 1

    And of course, you will need a civil engineer to build an information super-highway.

  100. It would be a change if they did by Not-a-Neg · · Score: 1

    Any job stating it requires a CS degree does not actually NEED a degree, the HR department is just incompetent and incapable of hiring for a position if their recruitment software shows a particular job title having a degree listed for it. They toss out applicants that do not match what the software tells them. They are worse to deal with than outsourced Indian Help Desk "support". The only degree worth a damn is a business management degree, assuming you ever want to get promoted into management.

    --
    -==- Buy a Mac and leave me alone!
  101. Re:Bc completely unaware software engineering exis by UsuallyReasonable · · Score: 1

    You may just be proof that programming is a high demand field.

  102. Re:Studying programming languages and compilers .. by jon3k · · Score: 1

    Yes and no. Combine inherent interest and self motivated study with the formal training and the person will likely be even stronger.

    Aptitude and desire beats only formal education anyday. Plenty of exceptionally good self-taught programmers, many using the same material taught at universities. I know many, many programmers without formal education that absolutely blow the doors off people with CS degrees.

    I don't think anyone would argue that all three is even better (aptitude, desire and formal training).

    Now if the options are a self taught person with the interest and self motivation and a person with a degree that was a "ticket puncher" who showed up and did the minimal required and nothing else, yes, I'd prefer the self taught.

    That's exactly what I'm talking about.

    But don't dismiss the formal university program, the self taught person whose personal study will equal a formal program is exceptionally rare.

    No one is dismissing formal university training, it can be incredibly valuable. But without aptitude and desire it's absolutely worthless.

  103. Re:Bc completely unaware software engineering exis by Areyoukiddingme · · Score: 1

    The guys who install home theater speakers aren't acoustic engineers.

    But they'll still bill you like they are...

  104. A lot of US versus THEM by micahraleigh · · Score: 1

    I worked at a company once where I was the only dev with a CS degree (I actually have 2, BS and MS).

    I hired one of them because he clearly had the skills to develop. At that point I rarely, if ever, brought up who had a degree and who didn't.

    A few months later company culture started saying people with degrees couldn't program. That was their way of getting an edge over me. They were "untainted" by the schools or whatever. I made a big, public deal about how we shouldn't focus on whether someone has a degree or not, but it didn't matter and I was demoted.

    Then our biggest client found out our devs didn't have degrees and made a big stink about it.

    People use a lot of superficiality to impose themselves over others. It is a tremendous business liability. The only place worse than degrees is certifications. The people who have them and the people who don't despise each other draw attention to that to throw rocks at each other.

  105. Whut by talldean · · Score: 1

    ...most businesses don't really need programmers to be deep thinkers. For them, it's "just as worthwhile to hire someone from a physics lab who just used Python to massage some data streams from an instrument.

    You're assuming that the folks who used Python while working in a physics lab weren't thinkers?

  106. Price paid is not future prices by raymorris · · Score: 1

    > Think about where you store price for line item (if your a 3rd normal form purist). Can't be on lineitem, redundant to pricing, so has to link to pricing data with full history.

    PricePaid / PriceCharged is part of the invoice. It has nothing whatever to do with what is on sale today, or the price of tea in China today. The price you're currently offering on your web site has nothing to do with how much you charged the church three years ago. Different different prices today, which may depend on whether they bought 3 for $5 or 1 for $2.

    Very often, you wouldn't store line items for invoices, as the invoice is a thing unto itself - you might give your brother half off, so you can very well have an invoice table which has information about the invoice - including the grand total.

    What would be a violation would be to have both, where they may contradict:
    Item1 paid: $5
    Item2 paid: $4
    Item3 paid: $11
    Grand total: $7

  107. Literary theory versus literary accomplishment by alternative_right · · Score: 1

    I wonder if the correlation between good writers and literature graduates is higher than the correlation between good programmers and CS graduates.

    I see it in a different sense: there is an ongoing dialogue between writers and academics about the meaning of texts.

    As with anything, when this becomes politically infiltrated ("PC") it loses any validity because it is turned into a propaganda organ instead of a vehicle for studying a discipline and how to do it.

    Clearly most of the great writers stayed away from academia, but they also tend to have stayed away from most other things that normal people do. The rules for geniuses are... different.

    What I was hoping to express, however, is that for the average legitimate college student (120+ IQ) literary theory can provide a way of understanding the complex philosophical dialogue that has been raging across literature over the centuries. It enables them to stitch together different works and see the arguments of each, made through both content and aesthetics, that shows not just the core values that literature discusses, but upholds. Having stories that have meaning (let's use that as a working simplest possible definition for "literature") is in itself valuable, as is the study of these stories.

    I do not believe that writing can be taught; mechanics and story elements can be taught, but writing itself is always learned by those who undertake it as a passion. The teaching of writing as a technique, the "workshop method," helps Hollywood produce formulaic blockbusters and keeps literary magazines in business with a steady stream of alarmingly similar stories, but does not produce great literature.

    In this sense, I see the teaching of theory as useful for literature mainly because it is fairly immutable; what was good in one age will be good in another, once we abstract out elements specific to that time.

    For computer science, "theory" usually involves some high-handed notions that apply to very few real-world instances, and serves to teach "right ways" instead of the wisdom of the hack, which is that you do it however you have to.

    Postmodernism gets a bad rap, in my view, because it was taken from its original intent into the realm of propaganda. The original idea, triggered by Nietzsche's "On Truth and Lies in An Extra-Moral Sense," was that truth is only as accurate as the mind of the beholder, and so humans are unequal and therefore have differing degrees of accuracy in perception. The notion of universal "truth," values, or communication was thus in doubt; this actually targeted The Enlightenment&trade-era notions of a universal truth that applied to all humanity, instead of a need for a hierarchy of people based on their degree of accuracy of perception, a measurement which is as much aesthetic (what is good, beautiful, and true to natural form) as it is factual or logical (the realm of "logical fact," misunderstood and ignored by most). In the ensuing years, other writers tried to make sense of this, with most defaulting to the dominant paradigm of universalism or the idea that what most people think is true/good must be true/good. Postmodern writers worth reading include William S. Burroughs and Don DeLillo.