ti-enxame.com

O que é um Ph.D. bom para a indústria de software?

Sou um programador autodidata e acabei de iniciar um curso de ciência da computação para complementar meus conhecimentos e preencher as lacunas.

No entanto, já estou debatendo a direção da minha educação. Quero um diploma de quatro anos com certeza, mas depois disso, não tenho certeza: vale a pena conseguir um mestrado? Que tal um Ph.D.? Que oportunidades esses graus abrem?

Atualmente, meu objetivo é ser desenvolvedor de software, mas existem vários campos fascinantes na indústria de software e certamente estou interessado em investigar muitos deles. É a esse respeito que acho que um grau mais alto pode valer a pena - mesmo que isso não ajude necessariamente uma carreira de desenvolvimento de software.

Então valerá a pena? A escola de pós-graduação abrirá portas?

52
Carson Myers

Obter um doutorado faz duas coisas para você e consome 4 anos ou mais. Você precisará decidir se essas duas coisas valem o tempo. Primeiro, ele fornece algumas iniciais após o seu nome. Pelo resto do tempo, as pessoas que vêem essas iniciais pensarão "uau, você deve ser muito inteligente!" (e geralmente dizem em voz alta.) Em um currículo, geralmente o ajuda, embora em algumas circunstâncias possa machucá-lo, com pessoas achando que você está superqualificado ou é um idiota.

Segundo, e mais importante na minha opinião, são as mudanças no seu cérebro e na sua atitude que acontecem ao longo do curso. Você acabará sabendo mais sobre uma pequena parte do mundo do que qualquer outra pessoa. Você ficará na frente de 3 ou 4 pessoas que são especialistas, às vezes especialistas de renome mundial, e os ensinará sobre o seu trabalho. Quando você entra, esses especialistas serão supervisores, examinadores, "chefes" e, quando você sair, eles serão seus colegas. Você aprenderá muito sobre um canto da ciência da computação e muito mais sobre você e suas capacidades. Você estará confiante em ser "o especialista" quando necessário. E isso muda tudo.

A menos que você saiba agora que quer ser professor ou ingressar em um laboratório de pesquisa específico, me parece incomum que você possa decidir sobre o doutorado antes de fazer o trabalho de graduação. Vá fazer a graduação e faça amizade com alguns estudantes de graduação. Eles lhe dirão tudo o que você quer saber sobre a vida de um estudante de graduação, a vida de um professor de bebê, as perspectivas de emprego quando você estiver fora e muito mais.

Não me arrependo do tempo que passei no meu doutorado. Ele abriu muitas portas para mim. Isso me tornou mais memorável ("certo, você é a mulher com doutorado, não é?") E foi um trunfo para algumas de minhas equipes, independentemente de minhas habilidades ou conhecimentos ("temos um doutorado em nossa equipe" ! "). Mas o setor em que ingressei não é o setor em que você está ingressando agora. Converse com as pessoas que estão no meio dela agora e, em seguida, tome uma decisão ao concluir o trabalho de graduação.

106
Kate Gregory

Alguém pode nomear um CEO de uma grande empresa com doutorado em ciência da computação? Steve Jobs? abandonou a faculdade porque ele odiava as partes chatas. Bill Gates? também desistiu por sentir-se cercado por pessoas não tão inteligentes quanto ele (com base no GPA).

Trabalhei para empresas que possuem programadores incríveis que trabalham em sistemas incríveis, alguns dos quais as pessoas usam todos os dias (por exemplo, Windows) e outros que ajudam os setores a se dar bem (por exemplo, XML e SOAP). Muitos desses caras foram autodidatas e estudaram outras disciplinas além da Ciência da Computação, por exemplo, Física ou Engenharia Eletrônica. O motivo da programação em suas vidas era como uma ferramenta para realizar seu trabalho, em vez de estudar programação para aprender a fazer programação.

Também trabalhei com o governo e grandes corporações que têm graduados incríveis em Cambridge que tiveram não apenas um, mas dois doutorados. Esses caras eram incrivelmente intelectuais que criaram soluções sofisticadas e elegantes para problemas muito específicos em áreas como comunicações e processamento de sinais. Eles não eram ricos, nem tinham empregos de alto nível em seus departamentos. Parecia que eles foram contratados como um 'caixão' e deixados sozinhos para pensar nessas soluções.

Na minha experiência no setor, não há correlação entre a capacidade de programação e o nível de educação formal no campo da ciência da computação. Nos meus primeiros dias como engenheiro de software, vi pessoas promovidas além de mim cuja programação 'não era tão boa quanto a minha' (IMO, é claro) - mas elas tinham as habilidades de engenharia social para descobrir quais eram as coisas certas a serem ditas. as pessoas certas e quando. Eles não se destacaram - eles podiam fazer o trabalho, mas outras habilidades (conversando com clientes, cumprindo prazos, etc.) também eram importantes, então eles não passavam 100% do tempo codificando como eu .

Aprendi uma lição importante - se você tiver o fogo para ter sucesso, encontrará a solução, programação ou não, para o problema de negócios em questão, a fim de tornar sua empresa/departamento mais bem-sucedido e, portanto, mais lucrativo.

De todos os programadores que contratei, não me importei com o histórico educacional deles. Se eles passaram nos testes de programação e meus engenheiros líderes ficaram satisfeitos com suas habilidades, a educação não importou. Um dos melhores caras que contratamos foi direto da escola - ou seja, nenhum diploma.

Em resumo, se você é apaixonado pela tecnologia e pela arte/ciência da própria programação, busque, de qualquer maneira, um caminho acadêmico absorvente e fascinante. Se você deseja ir a lugares e ter sucesso além da programação, amplie seu foco para incluir outras habilidades, como administração e psicologia/sociologia. Decida o que você realmente deseja daqui a 10, 20, 30 anos e trabalhe de trás para frente para determinar qual curso de ação o levará a esses objetivos.

Para responder à sua pergunta: um doutorado é bom para algo realmente de nicho. Provavelmente não pagará bem, mas pode ser interessante.

26
JBRWilkinson

Bem, eu segui o caminho do doutorado (lenta e dolorosamente). Eu não tinha um "propósito", como como isso poderia me ajudar a conseguir diferentes tipos de empregos. Fiz isso porque queria saber as coisas.

Eu era um programador e achava que a programação era um assunto bastante difícil, exceto que eu tinha lido o livro de Isaac Asimov "I, Robot" e queria poder criar robôs, e eu não sabia como. Eu queria saber como fazer um computador pensar, entender a linguagem natural, ver, andar etc. O ponto é que havia coisas que eu não sabia como fazer e queria descobrir.

Então qual é o resultado? Aprendi algo sobre como fazer com que os programas de computador pensem, vejam etc., mas também aprendi que esses são assuntos muito mais profundos e amplos, dignos de uma vida inteira de investigação. Ao longo do caminho, aprendi muita teoria e matemática e aprendi que há muito mais a aprender.

Também aprendi muito que me ajuda a desenvolver software, sobre o qual escrevi um livro e alguns artigos e publiquei no stackoverflow. Embora eu ache que isso me torna mais eficaz, acho que também me deixa um pouco estranho nas equipes de programação.

Então isso ajudou? Eu acho. Eu não gostaria de ser a pessoa que eu era antes disso.

19
Mike Dunlavey

Existe um equívoco na comunidade típica de desenvolvedores de que um doutorado é necessário apenas se você quiser "ensinar". Provavelmente, isso foi suspenso em relação aos velhos tempos em que a maioria dos doutores costumava frequentar a academia, mas hoje em dia muitos doutores (especialmente os graduados em engenharia/ciência da computação) entram no setor realizando pesquisas em laboratórios ou realizando trabalhos desafiadores de desenvolvimento em grandes empresas como a Intel , Oracle, Google, Microsoft etc.

Especialmente nos EUA, com o advento da transferência de tecnologia/ideia de pesquisa derivada da academia para as startups, agora existe uma forte conexão entre a pesquisa realizada em universidades e startups ... Stanford, MIT, Flórida, CMU e outras são os exemplos populares e ninguém precisa lembrar que o Google também era um projeto de pesquisa.

Fazer um doutorado é uma decisão pessoal, mas fornece informações profundas sobre determinadas áreas e impõe um nível de dedicação e perseverança para combater as probabilidades e críticas difíceis ... aliás, habilidades que também são necessárias para as empresas iniciantes. Não estou dizendo que não é possível obter sucesso sem um doutorado. Assim como programadores autodidatas que sabem codificar bem sem frequentar a faculdade, existem muitos exemplos de programadores com apenas um BSc. ou mestrado. que aprenderam conceitos avançados de tecnologia/CS e obtiveram sucesso nas melhores empresas do mundo.

No geral, acho que esse é um grande tópico de discussão, mas hoje um doutorado não é apenas para ensinar.

11
fjxx

Pode abrir mais cargos e empregos técnicos em empresas maiores do tipo Oracle. O importante é que isso lhe dá uma especialidade muito focada. Para os empregadores, você é o melhor que eles podem encontrar nessa especialidade (pelo menos no papel).

9
Morgan Herlocker

Esta é realmente uma pergunta muito difícil, pois haverá muitos fatores em jogo e eles podem ou não se aplicar a você pessoalmente, dependendo de várias variáveis. Em geral, ao abordar a educação formal, você precisa considerar suas próprias habilidades e quais são seus objetivos de carreira a longo prazo. Enquanto alguns argumentam que não há correlação entre as habilidades de programação e a educação, muitos têm dificuldade em argumentar que a educação (por exemplo, educação formal, oficinas, cursos únicos, leitura de um livro etc.) vai inibir suas habilidades de programação e, em muitos casos, ele realmente os melhorará. Assim, a educação tende a sempre trabalhar a seu favor a longo prazo.

Do ponto de vista do desenvolvimento de carreira, dependendo de quem você trabalha (ou para quem você deseja trabalhar), sua educação provavelmente influenciará o caminho que sua carreira pode seguir. Embora você possa ter bastante sucesso, sem nenhum grau, como sempre, verá que a obtenção do emprego dos seus sonhos pode depender muito da sua formação educacional. Isso se deve ao fato de a maioria das empresas de médio a grande porte exigir que seus funcionários tenham algum grau de educação formal que possa ser requisito de contratação. Assim, para todas as pessoas que você ouve falar que não levam em consideração a educação na contratação, você encontrará departamentos de Recursos Humanos (RH) que indicarão que "o bacharelado em Ciência da Computação exigido" em seus lista de empregos e nem se preocupará em olhar para um currículo que não inclua um.

Em termos da hierarquia educacional, geralmente você pode esperar que as coisas funcionem da seguinte maneira:

  • Sem educação - Se você tem histórico, isso pode não prejudicá-lo com um número razoável de empresas e você pode ir muito longe se desenvolver algum conhecimento bastante especializado que você pode usar para consultoria. Dito isto, porém, para cada história de sucesso que você ouve, também existem muitos desenvolvedores que você não ouve que mantêm o mesmo trabalho e realmente não avançam muito na carreira. As habilidades sociais e de rede podem ajudá-lo a longo prazo, mas você descobrirá que algumas portas estão fechadas devido à falta de educação formalizada.
  • Grau de Associado - Esse é um grau difícil de definir, pois pode realmente abrir portas e as empresas que exigem um diploma de bacharel podem acenar com a exigência, se você puder realmente provar seu valor para eles, mas provavelmente não será justo nessas empresas. Esse poderia ser um bom passo na carreira, pois pode ajudá-lo a conseguir um emprego com benefícios educacionais, mas, eventualmente, você pode achar que as pessoas começam a empurrá-lo para um diploma de bacharel.
  • Bacharelado - Esse tende a ser o nível de base geral que abrirá muitas portas e geralmente não fará com que nenhuma seja fechada, a menos que seja para um nível superior posições que podem depender da indústria. Em termos de retorno do investimento, você provavelmente descobrirá que o diploma de bacharel tende a ter o maior retorno em troca da quantidade de trabalho que você coloca nele (o custo financeiro pode ser muito variável para ser um fator).
  • Mestrado - Em geral, você não deve fazer um mestrado a menos que alguém esteja pagando por ele, ou você tem a oportunidade de obtê-lo no ao mesmo tempo que o seu diploma de bacharel sem muito trabalho adicional (ou seja, um programa de dois anos de graduação). No longo prazo, no setor de cooperação, o mestrado abrirá algumas portas que podem não ter sido abertas apenas com o diploma de bacharelado, mas você pode não encontrar essas portas a menos que esteja procurando ativamente por elas (ou seja, pesquisa e desenvolvimento posições de estilo). Nas empresas maiores (isto é, na Fortune 500), a maioria da gerência média e alta terá um mestrado e geralmente é visto como um requisito para subir na empresa. Dito isto, porém, a maioria das empresas que possuem um diploma (formal ou não) de mestrado para a alta gerência geralmente possui benefícios educacionais que você pode usar para obter o diploma enquanto trabalha.
    Do ponto de vista acadêmico, o mestrado é normalmente o nível mínimo de educação necessário para ensinar no nível universitário, mas você geralmente se limita a pitões de palestras com salários mais baixos nos quais geralmente não pode contar para um emprego estável. Esse pode ser um grande objetivo a longo prazo à medida que você se aproxima da idade da aposentadoria, mas quando você é mais jovem, pode causar algum estresse.
  • Doutorado - Se você deseja encontrar cargos de alto nível em pesquisa ou ingressar na academia, um doutorado é um requisito. Para todos os outros, um doutorado é simplesmente um prazer ter e, em alguns casos, um doutorado realmente fecha as portas (ou seja, posições de desenvolvedor iniciantes) por vários motivos. Dito isto, porém, se você realmente gosta de ciência da computação e realmente quer aprender tudo o que há para saber sobre algo, faça o doutorado e não olhe para trás. Quase todo mundo com quem eu conversei disse algo do seguinte: "Não faça um doutorado pelo dinheiro, faça isso porque você gosta muito de pesquisar e saber tudo o que há para saber sobre algo".

Para arredondar tudo o resto, aqui estão algumas outras formas de educação formalizada que você pode encontrar:

  • Certificações do fornecedor - Certificações do fornecedor, como o MCAD ou OCPJP têm valores muito variados, pois só tendem a ser bons por alguns anos antes do vencimento e a maioria dos entrevistadores não se importa muito com eles. Dito isto, porém, se você estiver procurando mudar para uma área diferente de desenvolvimento (por exemplo, Windows para Java)), pode achar que eles podem lhe dar um emprego se alguém for cético em relação a suas habilidades para Da mesma forma, quando você está começando, eles podem ajudá-lo a conseguir o primeiro emprego se você não tiver muita educação formal, mas eles tendem a ter um retorno limitado do investimento.
  • Pós-graduação - Estes são oferecidos por faculdades e universidades como forma de formalizar um curso de trabalho que pode não ser digno de um bacharelado ou mestrado completo , mas requer algum tipo de reconhecimento formal. Na maioria dos casos, isso só vale a pena se você estiver procurando alguma formação formal em uma área de fraqueza no trabalho (por exemplo, matemática) ou se estiver trabalhando em um campo em que precisa de alguma educação formal no campo em que não tem formação (por exemplo, se você estiver trabalhando em bioinformática, poderá fazer alguns cursos de biologia). Do ponto de vista da carreira, isso pode valer a pena se alguém pagar por eles, mas geralmente você não verá muito valor agregado além do conhecimento obtido. A exceção a esse ponto final é que, se você está tentando mudar de carreira, nesse caso, elas tendem a representar uma barra mais baixa do que um mestrado na área, o que pode exigir um bom grau de "trabalho de maquiagem" que um diploma de bacharel. titular no mesmo campo não teria que tomar.
  • Mestre em Administração de Empresas (MBA) - Estou incluindo isso porque é um grau comum ver a participação dos gerentes e não é incomum veja desenvolvedores que desejam ingressar no gerenciamento em busca de um. A longo prazo, é um grau que pode ajudá-lo, mas é provável que você fique melhor esperando até ter estabelecido sua carreira e ter uma boa idéia de onde deseja ir antes de fazê-lo.
  • Certificado de Estudo Avançado - São oferecidos por faculdades e universidades como um grau de instrução que passou por um mestrado, mas é inferior a um doutorado. Novamente, o valor desses pode ser difícil de dizer, pois geralmente é algo difícil de quantificar. A maioria das pessoas que eu conheci usava razões muito específicas para fazê-lo, geralmente para o desenvolvimento da carreira, mas elas também estavam no final da carreira e tentavam aumentar um pouco o salário ou trabalhar em algo específico que eles não poderiam de outra maneira.

Então volte ao ponto original, um Ph.D. pode ter um valor questionável se você está apenas procurando um emprego como desenvolvedor, mas pode levá-lo muito longe se você deseja trabalhar com novas tecnologias que ainda não estão fora do laboratório. Geralmente, mais educação não vai prejudicá-lo, mas você precisa se sentir confortável com os investimentos em tempo envolvidos nos estudos.

6
rjzii

A pós-graduação vale a pena quando você planeja ter uma carreira na área acadêmica. Para empregos típicos no desenvolvimento de software, a pós-graduação não é um requisito.

Seria benéfico no sentido de que você provavelmente obteria mais entrevistas graças a um Ph.D. parecendo bastante impressionante em seu currículo. Mas, em termos de realmente usar seu conhecimento, você precisaria procurar emprego especializado ou fazer mais pesquisas do que desenvolvimento para realmente colher os frutos.

Dito isto, acho que um diploma de bacharel vale absolutamente a pena. Ele o expõe ao mundo da ciência da computação e fornece a base que facilita o aprendizado mais profundo dos aspectos que interessam ou são necessários para o seu trabalho.

6
Adam Lear

Proporciona um enorme aumento salarial se você trabalha para o governo.

Veja Níveis GS .

Curiosamente, ouvi dizer que pode fazer uma diferença de 30k/ano.

4
C. Ross

A qualificação de doutorado é boa se você deseja trabalhar para empresas como Oracle, Google, Microsoft, IBM etc. Também é importante ter ao trabalhar como pesquisador ou professor/professor em uma universidade. Não faça isso simplesmente por causa do título, pois nesses 3 ou 4 anos você pode realizar muito mais na vida do que conseguir outro pedaço de papel. Você economizará tempo e dinheiro e fará outras coisas de que gosta, como dançar, cozinhar, praticar snowboard, viajar, administrar um negócio etc. Por fim, não apresse a decisão. Não se apresse e descubra o que você realmente deseja fazer e o que o faz feliz. Se você apenas gosta de desenvolver software, um diploma de graduação é bom para muitas empresas.

4
Siamac Nikoo

Graus avançados (MBA, MSC, etc (ou seja, etc - não há diploma de ETC - AFAIK :-)) são úteis e, às vezes, até necessários se você deseja ser gerente de nível intermediário de uma empresa grande (Fortune 500). Os doutores são necessários se seu objetivo é ensinar no nível universitário, ou trabalhar em um instituto de pesquisa ou no centro de pesquisa de uma grande empresa, ou se você quiser que um pedaço de papel fique pendurado na parede para impressionar as pessoas.

Esta é apenas a visão do centro do país - as percepções nas costas podem ser diferentes. YMMV.

3

Da minha experiência pessoal, 3 anos de experiência prática em um setor de TI com graduação ou pós-graduação definitivamente ganhariam mais peso do que um doutorado.

Do ponto de vista do trabalho da indústria de TI, os graduados com formação em artes e ciências como o BSC poderiam definitivamente optar por um diploma de pós-graduação como um MCA ou MSC atuaria como um catalisador para ingressar em um Setor de TI.

Em nossa empresa, enquanto costumávamos recrutar desenvolvedores de software, o requisito mínimo era um diploma de arte e ciência, com uma programação adequada e habilidade lógica classificada com testes práticos de programação, mas, como a competição aumentou com o tempo, a qualificação mínima foi alterada para engenharia ou engenharia. pós-graduação.

2
Karthik Sreenivasan

Eu tenho um mestrado, não me ajudou em nada. 2 anos da minha vida perdidos para sempre. Pelo menos na Romênia, no desenvolvimento de software, o conhecimento é mais importante. Um diploma universitário ajuda um pouco e em algumas circunstâncias específicas.

M.Sc e Ph.D são bons apenas se você tiver planos de carreira em educação ou pesquisa.

2
Patkos Csaba