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.
fonte
Respostas:
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.
fonte
Primeiro, aprenda a se concentrar. Seriamente. Backstories complexos e longos precisam ser editados.
Nem uma fração substancial de programadores que trabalham. Nas grandes lojas de TI, há um número razoável de graus de associado.
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.
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.
fonte
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.
fonte
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.
fonte
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:
O asterisco * indica que essas geralmente são classes de programação pesada, portanto elas ajudarão sua capacidade geral de programação.
fonte
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?
fonte