I have a degree in computer science.
It has been great for opening doors,
getting a job. As far as helping me in
the professional field of C# .NET
programming (the most popular platform
and language in the area I work if not
the entire united states on hands down
the most popular OS in the world) its
hardly useful.
70% + do código é escrito em C (já que há mais dispositivos incorporados do que aplicativos de alto nível). De acordo com pesquisas de emprego populares como dice ou o índice TIOBE, o Java é a linguagem de programação mais popular para a empresa (pois há mais servidores back-end Unix / Linux do que servidores Windows.) Há mais smartphones e tablets (a plataforma de computação o futuro) executando alguma variante do Linux ou Mac OS que o Windows, programado em qualquer coisa, exceto C # ou .NET.
Olhe para o seu roteador em casa, olhe para o seu celular, olhe para o computador dentro do seu carro, olhe para o micro-ondas em casa, para os controladores dentro do sistema de A / C da sua casa, dentro do seu telefone e do fax do seu trabalho. e impressora / scanner. Veja o número de aparelhos informatizados (que superam os sistemas Windows).
Você acha que eles estão programados em C #?
Se você realmente acredita que o .NET ou o C # são as plataformas mais populares do mundo, você pode querer voltar para a sua escola de CS e pedir um reembolso.
Why do you think it
helps you as a programmer in your
professional career (outside spouting
off to prims algorithm to impress some
interviewer)?
Talvez porque haja muito mais sobre programação do que fazer páginas web dinâmicas de desenvolvimento básico e aplicativos corporativos? Para isso, você não precisa nem de bacharel, um AA é suficiente - eu sei porque comecei minha carreira de programação com um diploma de AA e lentamente, mas com certeza trabalhei em um CS e trabalhei na pós-graduação enquanto trabalhava em período integral como desenvolvedor.
Há desenvolvimento embarcado, desenvolvimento de drivers de dispositivos, desenvolvimento de sistemas operacionais, desenvolvimento de algoritmos, sinais, comunicações, protocolos de rede, desenvolvimento de mecanismos de banco de dados, desenvolvimento de sistemas de arquivos, computação distribuída, compiladores. Não pesquisa, mas trabalho real em organizações com fins lucrativos. Com exceção dos naturalmente talentosos, um deles normalmente não pode cortá-los em nenhum desses campos industriais sem um grau de CS (às vezes nem mesmo com um diploma de BS).
Uma pessoa que recebe um grau de CS e presta atenção a isso sabe disso. Por que você não faz?
In today's world adaptation, a quick
mind, strong communication, OO and
fundamental design skills enable a
developer to write software that a
customer will accept.
OO surgiu por causa do CS. E a maioria das pessoas que pensa em fazer OO não consegue nem fazer um bom trabalho. Apenas olhe para fora e veja o estado ruim do software (em particular em Java e .NET, sem mencionar o PHP.) Um sólido background em CS (ou um diploma de pós-graduação em algum tipo de engenharia) não garante 100% de bom entendimento de OO e habilidades analíticas, mas geralmente ajuda. OTH, não ter um histórico básico de CS é tipicamente uma bandeira vermelha quando se trata de habilidades analíticas e OO. Temos evidências empíricas suficientes na indústria para sustentar essa afirmação.
These skills are only skimmed over in
the cs program.
Dependendo do programa CS e dependendo do aluno. Pelo menos para mim, eu vi muitos bons cursos sobre design, análise de OO, ferramentas e práticas comerciais, tivemos cursos de co-ed com empresas locais e estágios, projetos financiados por empresas e pesquisa, redação técnica, o nome dele. Desculpe, não posso relacionar ou entender esta afirmação.
In my mind, reading a 500 page C# book
by Wrox offers far more useable a
skillset than 4 years of the comp sci
math blaster courses.
Novamente, dependendo do trabalho que você faz. Mesmo na empresa, usei meu CS para realmente consertar as coisas ou melhorar. Tudo isso envolvendo modelagem, arquitetura, computação distribuída, segurança e alto desempenho, alta disponibilidade e tolerância a falhas. Eu aprendi tudo isso no CS.
Não há nada de errado em usar um livro da Wrox para obter um conjunto de habilidades específico do contexto , específico da tecnologia . Eu faço isso sozinho. Mas meu histórico de CS me dá o contexto para trabalhar. Sem minha experiência em CS, tudo que eu seria capaz de fazer seria programar, codificar (o que é tudo o que eu poderia fazer quando eu só tinha um diploma de AA no início de minha carreira).
Many disagree.
Surpreendente, não é.
So, why does a computer science degree
matter?
Quem você acha que cria os mecanismos de banco de dados do Google, hadoop, cassandra ou de alto desempenho? Quem você acha que escreve o kernel do sistema operacional Windows? Quem você acha que programa as ferramentas que você usa para fazer seu desenvolvimento em C #?
Uma coisa que tenho certeza é que as ferramentas que você usa para fazer o desenvolvimento de C #, há um cara de CS por trás dele.
Se você precisa ou não de um grau de CS, depende do tipo de trabalho que você faz, do tipo de trabalho que você quer fazer, do tipo de trabalho que você é capaz de fazer.
Há muito trabalho na empresa e no desenvolvimento da Web que não requer um grau de CS. Eu concedo isso. Eu também sei que o mundo da programação é muito mais amplo do que apenas esses dois campos, com muitos campos (a maioria deles na verdade) exigindo um grau de CS ou mais.
Você tem um grau de CS, como você não sabe que é um mistério.