conselhos de carreira para um cientista de doutorado que procura programar? [fechadas]

13

Sou basicamente um programador autodidata. Na verdade, eu comecei a programar na metade da graduação em biofísica e, apesar de achar que fiz um bom trabalho, nunca trabalhei como parte de uma equipe de desenvolvimento 'séria' que tinha mais de um ou dois outros desenvolvedores (e eu não hesitaria em chamá-los igualmente inexperientes no desenvolvimento de software como profissão).

Depois de terminar meu doutorado, continuei focado na programação, oficialmente como pós-doutorado, mas não oficialmente como programador de pesquisas de equipe. Nesse período, também tive duas entrevistas no Google, mas não uma oferta real. No momento, estabeleci algumas raízes e provavelmente não teria conseguido aceitar o trabalho de qualquer maneira. Casa + esposa com emprego muito bem remunerado, etc. Faz cerca de três anos, e minha avaliação honesta é que aprendi muito mais, mas realmente preciso de mais um grupo de colegas para manter ou acelerar meu crescimento. O problema é que, sempre que olho, a maioria das listagens de empregos tem requisitos que parecem impossivelmente grandiosos e hesito em me inscrever. Isso, ou o trabalho / projeto parece incrivelmente chato.

Suspeito que a maioria das pessoas seja muito menos realista do que eu quando se trata de avaliar quanto tempo levará para elas se atualizarem, ou elas não se importam; meu medo é que eu seja desqualificado por qualquer trabalho interessante e bem remunerado para desenvolvedores. IE: Estou confiante de que poderia voltar totalmente ao modo C ++ com algumas semanas de trabalho (eu geralmente uso C, Python, C # diariamente), mas não me listo como 'proficiente' em C ++ no meu currículo ou aplicando para trabalhos que 'exigem' esse conhecimento. Os poucos aplicativos para os quais eu senti que era uma correspondência legitimamente boa não provocaram uma resposta.

Eu suspeito que as seguintes coisas são problemas em potencial com meu aplicativo / CV e gostaria de receber feedback:

Eu não tenho um diploma de CS. Minha graduação era em bioquímica e biologia molecular, meu doutorado em biofísica. Tomei cursos de algoritmo de graduação e pós-graduação e os matei completamente, mas não sei como traduzir isso efetivamente para o meu currículo (a diferença entre obter um A + e fumar todos os outros da classe).

Eu tenho um doutorado, mas não está no CS ... Estive debatendo se eu deveria removê-lo do meu currículo, e se seria ou não enganoso listar pelo menos alguns desses anos como algum tipo de 'programação' 'trabalho (em muitos aspectos, era).

Acho que às vezes há estigmas fortes associados a programadores 'autodidatas'. Eu sou certamente um desses. Até reconheço que alguns desses estigmas têm uma pitada de verdade, mas eu realmente quero ser um trunfo para uma equipe. Como comunico que, mesmo tendo sido autodirecionado por aproximadamente 8 anos, ainda posso receber pedidos de marchas quando necessário? Eu apenas digo isso diretamente?

Devo me tornar muito menos escrupuloso sobre todo o processo? anedota: Eu tenho um amigo que se candidatou a cargos em que ele falsificou completamente suas qualificações para superar o primeiro abate. Ele foi muito mais honesto e sincero sobre suas qualificações reais quando contatado e ainda conseguiu ser convidado para algumas entrevistas e até recebeu algumas ofertas. Suas bolas são maiores que as minhas.

C SD
fonte
Admiro a tenacidade de me inscrever no Google sem experiência! Mas, infelizmente, todos nós temos que começar no final da escada. A principal razão pela qual um empregador pode não querer um doutorado é que, geralmente, eles são considerados mais teóricos do que práticos (cientistas, não engenheiros). É sobre como fazer as coisas, então você precisa provar primeiro que pode fazer isso.
21411 Ninguém
1
Eu suspeitava disso, infelizmente, acho que está ocorrendo um equívoco interdisciplinar. Eu diria que a maioria das pessoas não obtém seu doutorado em biociências sem planejar com êxito o trabalho, fazendo o trabalho e comunicando o trabalho. E parte de 'fazer o trabalho' significa sujar as mãos: os equivalentes do mundo da programação de codificação, depuração e ajuste. Eu sinto que isso é semelhante a 'Getting Things Done' é o sentido que você quis dizer. Agora, como para comunicar que em um CV sem parecer pedante, paternalista ou ilude arrogantes me ...
C SD
1
Qual é a sua definição de fundo? Gostaria de ganhar mais do que agora, mas minha maior motivação é que quero aprender mais, mais rápido e como parte de um esforço maior. Atualmente, faço ~ 45k como programador não oficial da equipe (postoc) e minhas perspectivas futuras, se eu permanecer nessa capacidade, não são as melhores, mas não é razoável para mim pensar que o "fundo" não precisa pagar menos E ser menos interessante?
C SD
Se você já teve entrevistas no Google no passado, sua falta de diploma em CS provavelmente não o impede de trabalhar lá ou eles não o entrevistariam em primeiro lugar. Ao contrário de muitas empresas, o Google oferece "segundas chances" se pelo menos um ano se passou. Estamos em uma onda de contratações agora.
Uri

Respostas:

12

Como devo dizer isso: programadores custam uma dúzia, mas programadores com experiência biofísica são provavelmente muito raros. Portanto, se eu fosse você, primeiro tentaria conseguir um emprego em seu campo, um trabalho em que a programação faz parte da descrição do trabalho (ou o tornaria parte da descrição do trabalho). Dessa forma, você desenvolverá habilidades muito mais competitivas e únicas do que o desenvolvedor médio possui, o que pode eventualmente lhe proporcionar um ótimo trabalho.

Quando você planeja sua carreira, não deve apenas considerar o próximo ano, pense em cinco a dez anos a longo prazo. Se a programação é algo que você ama, mas talvez não tenha educação formal para isso, é necessário alavancar suas outras habilidades para conseguir o emprego que deseja.

AndersK
fonte
2
Encontre uma empresa que trabalha com biofísica e também programação.
Alex Feinman
2
Concordo plenamente. Ser capaz de falar em dois campos é basicamente uma habilidade rara. Aproveite essa habilidade para fazer algo incrível.
Paul Nathan
1
Definitivamente olhar para Biologia Computacional
justkt 17/02/11
Bom conselho. Suponho que você esteja me dizendo que não estou sendo realista. Minha esperança era trabalhar em um projeto público amplo. Coisas como WebKit, StreetView / Earth, Photosynth, LLVM, btrfs, pacotes de edição de fotos: Photoshop, Lightroom, Aperture. O trabalho de biofísica envolvendo programação tende a ser mais do que eu já estou fazendo, ou seja, equipes pequenas, processos aleatórios ... mas vou apenas olhar mais.
C SD
1
@C SD - Não, você não poderá entrar em uma equipe grande e liderá-la. Sendo um Phd que é realmente a sua posição, mas você ainda não tem as habilidades necessárias. E o que você precisa fazer é mudar de um biofísico que faz programação para um programador que trabalha em projetos de biofísica. Se você encontrar um programador sênior forte, veja se eles o orientarão. Use seu diploma de biofísica para apoiar sua programação em vez de deixá-la definir você.
precisa saber é o seguinte
2

Primeiro, aprenda a se concentrar. Seriamente. Backstories complexos e longos precisam ser editados.

Eu não tenho um diploma de CS.

Nem uma fração substancial de programadores que trabalham. Nas grandes lojas de TI, há um número razoável de graus de associado.

Tenho doutorado, mas não está no CS ... Estive debatendo se eu deveria removê-lo do meu currículo,

Não. Na indústria, qualquer grau é o que é importante. Novamente, para trabalhos iniciantes em que você pode obter alguma experiência, ou seja, na loja de TI de uma companhia de seguros, você está competindo contra crianças com diploma de associado.

Acho que às vezes há estigmas fortes associados a programadores 'autodidatas'.

O que? A maioria das pessoas de TI com quem trabalhei é autodidata porque suas empresas são baratas demais para atrair instrutores para novas tecnologias.

Basta se inscrever em todos os trabalhos de programação existentes. Quanto mais você se inscrever, mais entenderá o que eles estão procurando.

Alguma grande loja de TI em alguma empresa de seguro de saúde aleatória ficará perfeitamente feliz em ter alguém que seja razoavelmente inteligente e conheça a tecnologia, mesmo que seja autodidata.

Como a maioria (mais da metade) dos programadores que trabalham não possui (a) nenhum grau útil e (b) são autodidatas em uma ou mais das tecnologias que se espera que eles usem, suas preocupações são inteiramente um desperdício.

Se você quer parecer mais profissional, comece a ler mais código. Comece com projetos de código aberto que lhe interessam e faça a engenharia reversa completa da base de código para poder ver quais são as melhores práticas.

Além disso, se houver escolha, a maioria das lojas de TI deve contratar pessoas com "conhecimento comercial" em vez de habilidades tecnológicas. Portanto, se você tem a maior parte do doutorado em algum assunto aleatório (sério, sua pergunta foi tão longa e divagar ...), concentre-se nesse setor.

S.Lott
fonte
Desculpe, demorou demais. Pensei em colocar os bits mais importantes na parte superior e inferior para ajudar nas digitalizações rápidas. Minha experiência em re: graus tem sido exatamente o oposto ... Joel S. ainda tem um post antigo sobre o quão "supervalorizados" os PhDs em CS são ... Hesito em julgar sua avaliação de pessoas de campos completamente diferentes.
C SD
Você pode vincular a publicação de Joel?
Andrea
joelonsoftware.com/articles/GuerrillaInterviewing3.html parte mais relevante: as pessoas inteligentes, mas que não conseguem fazer as coisas geralmente têm doutorado e trabalham em grandes empresas onde ninguém as ouve porque são completamente impraticáveis. Eles preferem ponderar sobre algo acadêmico sobre um problema do que enviar a tempo. -------------------- para contextualizar, seus critérios reais estão corretos e não têm nada a ver com graus, mas ele revela um viés claro, mesmo que é, reconhecidamente, bem-humorado.
C SD
Acrescentarei também que outras pessoas (contratantes) me disseram que ter um nível mais alto pode aumentar ou diminuir o nível, mas também pode elevar a fasquia. Gostaria de listar minha graduação, pois trabalhei duro para isso e acho que mostra algumas boas qualidades (e não necessariamente educação), mas se alguma pessoa de RH vê as letras e pensa "teremos que pagar a ele menor quantidade X, e ele nem sequer tem um grau e toneladas relevante da experiência ERRRRRRR"?
C SD
@C SD: "se alguma pessoa de RH vê as letras e pensa ..." Você não tem nenhuma evidência. Você pode parar de torcer a mão agora. Até que alguém lhe diga isso, considere isso menos que um boato e mais uma lenda urbana.
S.Lott 17/02
1

A verdade é que você provavelmente terá que assumir um desses empregos "incrivelmente maçantes" para ter um pé na porta. Porém, depois de ter 6 a 12 meses como programador ativo no seu currículo, você poderá avançar e subir rapidamente.

Craig Schwarze
fonte
0

Eu acredito firmemente que a programação é uma arte e vem da prática e não dos graus.
Sim, é bastante desanimador que muitas vezes as organizações, especialmente as grandes (como o Google), subestimam os programadores autodidatas porque não possuem um diploma mais alto. Você parece uma pessoa com forte nível de paciência e não me considero qualificado o suficiente para aconselhá-lo, mas gostaria de mencionar alguns pontos que podem ajudá-lo:
1. Tente em pequenas organizações onde eles preferem talento.
2. Open Source é a plataforma para mostrar seu talento, obter conhecimento real de desenvolvimento. Boa sorte! :)
3. Certificações: Existem diferentes certificações de programação oferecidas por gigantes como MS, Oracle etc. Certamente, adicioná-las em seu currículo dará uma vantagem ao seu lado da programação.

guarda
fonte
Obrigado pelo conselho. Particularmente o número 2 parece bom, pois uso muitos projetos de OSS e até examino muito do código nos que uso. Eu realmente deveria contribuir de volta para algumas delas, mas no final do dia, ter que suportar as várias solicitações de software de um laboratório de 15 pessoas praticamente sozinho me deixa com pouco tempo para ganhar notoriedade por meio da participação. Talvez a resposta seja tentar o número 1 com a esperança de poder também fazer o número 2. de volta ao monstro ...
C SD
Você é bem-vindo e boa sorte! :)
Ranger
Pessoas autodidatas tendem a ter aprendido sistematicamente, e geralmente têm grandes lacunas em seus conhecimentos. Uma pessoa com um diploma é geralmente a escolha mais segura. Além disso, um diploma mostra algum nível de determinação e a capacidade de concluir algo. Pode não ser justo para o indivíduo, mas há razões para contratar pessoas com diplomas.
David Thornley
Então, entendo que isso significa que ser autodidata E ter o grau errado pode ser pior do que sozinho?
C SD
@ David Thornley, por ter alcançado o amor à sabedoria com méritos - não há melhor prova de determinação. Prefiro arbitrar sobre o que alguém alcançou ou pode fazer com seu conhecimento, não de onde ou como o obteve. As coisas importantes sobre cada indivíduo, como Heinlein colocaria elise.com/quotes/a/heinlein_-_specialization_is_for_insects.php .
Filip Dupanović
0

Eu também trabalhava como pós-doc. Se puder, faça algumas aulas de informática na sua universidade. Provavelmente, você não pode participar oficialmente das aulas, pois não é um aluno pagante, mas pode perguntar ao instrutor e aos ATs se pode participar do curso e realizar os projetos. Você não receberá notas de trabalhos de casa, mas vá para o horário comercial e use os recursos.

Por que você quer fazer isso? Existem algumas aulas que não podemos aprender por conta própria sem assistir a uma boa palestra e fazer perguntas interativamente. Eu sugeriria ter aulas para:

  • algoritmos
  • estruturas de dados (às vezes combinadas com uma classe de algoritmos; caso contrário, geralmente a segunda classe de programação oferecida pela sua universidade) *
  • rede (particularmente programação de soquete TCP / IP) *
  • bancos de dados (uso do SQL, em particular)
  • sistemas operacionais *
  • linguagens de programação (geralmente uma pesquisa de linguagens de programação)

O asterisco * indica que essas geralmente são classes de programação pesada, portanto elas ajudarão sua capacidade geral de programação.

stackoverflowuser2010
fonte
0

Solte-se! Nossos trabalhos publicados mais populares são escritos em narrativa. Não julgamos com base nos méritos acadêmicos ou na falta deles. Somos o grupo científico mais aberto e indiscriminado do mercado. Ser capaz de contribuir com algo útil é tudo o que é importante.

Veja o ponto 2 do @ Ranger. Você não precisa se envolver em um grande projeto de código aberto, se não tiver tempo. Você poderia apenas escrever uma pequena biblioteca. Os empregadores adoram quando você os aborda com um repositório público onde eles podem revisar parte do seu trabalho - eles podem avaliar imediatamente que você pode seguir as diretrizes de estilo da comunidade, que pode ler o código de outras pessoas e que pode escrever um código isolado, empacotável , distribuído e sob controle de revisão. A maioria dos estudantes de pós-graduação em CS nem consegue fazer isso, então fale sobre lacunas em seus conhecimentos.

No final, você já é apaixonado por programação. Quem ou o que há para impedi-lo?

Filip Dupanović
fonte
Entendo que você trabalha no Google? Eu realmente não esperava receber uma oferta na primeira entrevista, fiquei um pouco mais decepcionado na segunda vez, embora, para ser honesto, eu não teria aceitado o emprego, pois agora estou fortemente enraizado. Apenas me decepcionando, eu nem consegui obter uma resposta de alguns dos meus outros aplicativos, muito menos de uma entrevista. Não enviei muitas inscrições, mas as escolhi com cuidado, pois achei que seria uma boa combinação.
C SD
Somos todos cientistas de foguetes no papel, certo? Minha opinião é que eles geralmente não se impressionam com suas experiências de trabalho anteriores, a menos que você lhes forneça algo físico para revisar. A maioria de nós não fez um trabalho inovador na NASA ou no Google. Isso seria credível, pois todos podem se relacionar com o tipo de trabalho que acontece lá. Então você tem que mostrar suas competências, não apenas falar sobre elas. Coloque um código QR que os coloque na sua página de projetos. Faça algo diferente. Faça uma distinção entre si na poça de candidatos Bill e Jane. Não trabalho no Google, mas é assim que me aplicaria.
Filip Dupanović 19/02/11