Apesar de mitos populares, você pode se tornar um desenvolvedor de software sem um diploma universitário.se está a reintegrar a força de trabalho ou numa carreira que não gosta (administração, operações, banca, etc.), tornar—se um desenvolvedor de software está totalmente ao seu alcance-desde que você esteja disposto a colocar no trabalho duro.
de acordo com as notícias dos EUA, os desenvolvedores de software têm um salário médio de $107,510 por ano, e uma taxa de desemprego de 1.,4%, tornando – se uma das carreiras tecnológicas mais lucrativas. Além disso, a profissão oferece um equilíbrio entre a vida profissional e a vida profissional acima da média. mais ainda, o Bureau of Labor Statistics projecta que entre 2018-28 haverá uma taxa de crescimento de 21%. Enquanto isso, o crescimento médio para todas as ocupações é de 5 por cento. Isto traduz-se em 284.100 vagas de emprego.e adivinha? Apesar das perspectivas positivas e da abundância de oportunidades, apenas 3% dos licenciados estudam Informática e Ciência da informação. Como você pode ver na imagem abaixo, em 2020 houve 1.,4 milhões de empregos de informática contra os 400 mil estudantes de CS.
Você começa a foto: habilidades de programação pode trazer mais segurança financeira, bem como a flexibilidade no seu dia-a-dia. Mas como você consegue essas habilidades, sem passar por quatro anos de aulas de CS? E mais importante, como é que se consegue uma dessas carreiras com procura e altamente remuneradas? aqui estão as boas notícias: é totalmente possível!, Este guia de 11 passos irá levantar o véu e mostrar-lhe como se tornar um engenheiro de software sem um grau CS. Então continua a ler!
Disclosure: i’m a proud affiliate for some of the resources mentioned in this article. Se você comprar um produto através de meus links nesta página, eu posso obter uma pequena comissão para encaminhá-lo. Obrigado!o que é um engenheiro de Software?
por definição, um engenheiro de software é alguém que escreve o código por trás de produtos de software (jogos de vídeo, sistemas operacionais, aplicativos, recursos, robôs, etc.)., existe uma diferença entre um engenheiro de software e um desenvolvedor de software? Nem por isso. Os termos são usados de forma intercambiável, e as empresas tendem a vê-los como a mesma coisa. Quando você está à procura de um trabalho de engenharia de software, certifique-se de procurar e olhar para as publicações tanto para “engenheiro de software” e “desenvolvedor de software” para obter o maior número de resultados.,
Como se Tornar um Engenheiro de Software Sem um Diploma universitário
Antes de começar, entender que as etapas a seguir são específicas para quem procura um emprego de tempo integral (I sigla FTJ) como engenheiro de software.,
Eles vão ser menos útil para a pessoa que é:
- Começar com o código pela primeira vez
- não tem Certeza se a codificação é certo para eles
- que pretendam prosseguir web design, UX, UI, ou quaisquer outras relacionadas com o design do campo
- Querendo freelancer full-time
- Esperando para começar o seu próprio negócio
Mas essas são todas as grandes coisas para estar com o objetivo de direção, e o resto do blog é cheio de conteúdo sobre esses temas também!
agora, vamos mergulhar nos 11 passos de como se tornar um engenheiro de software.,
Passo # 1: seja muito claro sobre o seu objetivo final em Engenharia de software
transição para uma nova carreira não é fácil. Mas quando você tem um destino final em mente, isso ajuda tremendamente quando você bate bumps na estrada. Um objetivo cristalino se parece com isso:
- ” eu quero trabalhar como um desenvolvedor de software em uma empresa de tecnologia estabelecida.”eu quero trabalhar em uma nova startup, como engenheiro de software, na indústria que eu adoro. quero construir coisas numa equipa e ser bem pago por isso.,”
não importa as especificidades do seu sonho, se você quiser passar por todos os 11 passos, você deve estar comprometido com o objetivo final de se tornar um engenheiro de software em tempo integral. É isso que te fará avançar quando as coisas ficarem difíceis.
Passo #2: Escolha uma boa engenharia de software idioma a aprender
no início, muitas pessoas ficam presas decidir qual linguagem de programação (e estrutura) eles devem aprender. Ruby on Rails? Python e Django? Mauzão? Tantas opções, tão pouco tempo.,
Aqui está a coisa: uma vez que você sabe de um determinado idioma/pilha bem, não é difícil fazer a transição para um novo. Isso significa que quando você está se tornando um engenheiro de software, o que você quer focar é entender os fundamentos de programação. Em essência, aprender a aprender.
Uma vez que você tem uma base sólida, você pode facilmente transição para novas linguagens, frameworks e tecnologias., Como o co-fundador da Escola Flatiron Avi Flombaum diz, “O aspecto mais importante disso é que você está aprendendo a pensar como um desenvolvedor.”
iniciar a codificação agora
parar de esperar e começar a aprender! Arranja as minhas 10 dicas para te ensinares a codificar.
tudo isto dito, você deve se concentrar em uma linguagem / framework para começar.
com tantas línguas lá fora, pode ser difícil saber qual escolher. Eu recomendo tomar algum tempo para aprender sobre as diferentes línguas. Este guia para escolher uma linguagem de programação é um ótimo lugar para começar.,
para muitos, Ruby é uma excelente maneira de ir.
Ruby é legível e eficiente, tornando muito mais fácil ficar confortável com algumas outras línguas. Também é de código aberto, então você terá acesso a muitas ferramentas e a uma comunidade de outros desenvolvedores, tudo de graça. E talvez mais importante, é flexível: a linguagem é usada por muitas empresas (Airbnb, GitHub, Hulu, Kickstarter, etc.) e lhe dá uma base sólida para se ramificar em outras línguas mais tarde.,
Passo #3: praticar o desenvolvimento de software … e praticar um pouco mais
enquanto a pilha que você aprende não importa muito, o que importa é aprender fazendo. Isso significa dedicar algum tempo real para aperfeiçoar seu novo ofício. Você deve reservar uma quantidade significativa de tempo todos os dias, todas as semanas, para aprender.
Você não pode se tornar um desenvolvedor de software após 10 horas de prática. Não é possível.
Algumas pessoas dizem que é preciso de 10.000 horas para se tornar um especialista., Agora, você não precisa de 10 mil horas de prática para obter o seu primeiro trabalho de desenvolvedor de software. Mas precisas de dedicar algum tempo a sério.
para dar um exemplo, o essencial de Ciência da computação para o currículo de desenvolvimento de Software em edX leva cerca de 4 meses (7-9 horas por semana) para chegar até ele.
Step # 4: Use ferramentas que os desenvolvedores de software reais usam
enquanto os recursos livres como o Codecademy são grandes, você não está em um ambiente do mundo real quando você os usa., Em vez disso, você está digitando diretamente no navegador da web e obtendo uma pontuação baseada em um questionário ou algum outro tipo de atividade interativa.
isto é certamente útil como uma maneira de se acostumar a codificar e solidificar os conceitos em sua mente. No entanto, no mundo real, não vais trabalhar assim. Então, o que você quer fazer desde o início é construir como os engenheiros reais constroem. Você quer usar as ferramentas que eles usam. Ao longo do caminho, isso tornará muito mais fácil a transição para um papel a tempo inteiro e se juntar a uma equipe.,
mas é difícil construir como os devs reais constroem, e usar ferramentas que os devs reais usam, quando você está começando. (Se és como eu era, é difícil saber por onde começar.)
a boa notícia é que existem programas por aí que o ensinam a usar essas ferramentas—como o Controle de Versão com o Git, um curso online através de Coursera.,
o seu currículo toca nas Ferramentas e processos que os engenheiros reais usam todos os dias, como:
- Git/GitHub
- A interface da linha de comando
Bitbucket
isto permitir-lhe-á ajustar-se muito mais rapidamente quando estiver num trabalho real, em vez de ter mais uma curva de aprendizagem íngreme para dominar.
outro curso Git para conferir é o último curso de domínio Git por código com Mosh, que é ensinado por um engenheiro de software com mais de 20 anos de experiência na indústria.,
Passo # 5: código de leitura escrito por outros engenheiros de software
outro aspecto importante de se tornar um engenheiro de software é aprender a ler o código de outras pessoas. Você pode fazer isso navegando através de repositórios GitHub, e olhando através de documentação.
às Vezes, a documentação pode estar errado…mas o código-fonte nunca mente. Ao aprender a ler esse código, você será capaz de entender o que está acontecendo e como um programa está funcionando., (Esta habilidade também é importante quando se trata de depuração, porque você será capaz de identificar qual parte do código não deveria estar lá.)
esta é muitas vezes uma habilidade negligenciada, mas pode realmente beneficiar você para ver como os desenvolvedores experientes fazem as coisas. Também não faças uma breve descrição do Código. Aprofundar, aprender os detalhes, mapear a funcionalidade e, finalmente, recriá-la se você puder. Desta forma, você será capaz de reverter um programa existente, ajudando você a entender muito melhor como criar um de seu próprio.,
Passo # 6: encontrar uma comunidade de engenharia de software de suporte
encontrar uma comunidade com a qual aprender Pode fazer ou quebrar o seu sucesso como engenheiro de software—especialmente quando você está apenas começando. Quando você está cercado por uma comunidade de pessoas que pensam da mesma forma, você tem um sistema de suporte Automático: um grupo de indivíduos que você pode chamar quando você ficar preso, ou perder a motivação. (Ambos podem acontecer ao melhor de nós!,)
Em pessoa, o que existe são grupos, mas podem ser difíceis de coordenar com e não são acessíveis em cada área. Mas qualquer um pode juntar-se a uma comunidade online, e eles são igualmente úteis.
ao aprender com a Escola de Lançamento, uma escola online para engenheiros de software, por exemplo, você ganha acesso a um fórum comunitário, que é onde os alunos de lançamento da Escola compartilham dicas de estudo, criar grupos de estudo, ajudar uns aos outros com problemas, e tudo o mais que você esperaria de uma escola dedicada., Você também terá acesso à sua sala de chat de folga, onde estudantes e funcionários se reúnem durante todo o dia. Já para não falar de uma Série webinar mensal chamada “Tech Talks”.”
Zero a maestria é semelhante, também-com mais de 150.000 alunos, ex-alunos, TAs, mentores e instrutores registrados em seu servidor de discórdia, eles têm muitas oportunidades de rede e encontrar o apoio que você precisa enquanto você estuda!,
Step #7: Build actual coding projects
Don’t just read tutorials and watch videos—put your skills into use. Resolver problemas ao longo do caminho, assim como os desenvolvedores de software cotidianos fazem. Quando você faz isso, você não só promove sua aprendizagem, Você também mostra potenciais empregadores que você pode hackeá-lo. (Porque o objetivo final é conseguir um emprego, certo!?)
você pode construir projetos sozinho, ou com um grupo.,
Por exemplo, no final da codificação Hello da Mammoth Interactive: qualquer um pode aprender a codificar (170 horas), você terá muitos projetos para exibir. Você vai construir várias aplicações ao longo do curso. E eles não são apenas aborrecidos projetos “preencher os espaços em branco”: eles incluem um clone Flappy Bird game, 3D ping pong game, weather app para iOS, e um aplicativo de calculadora financeira para a web.,
com o Techdegree do Team Treehouse, você vai construir 9-12 projetos do mundo real que lhe dão a chance de praticar o que você aprendeu, incluindo uma ferramenta de estatísticas de basquete, jogo de adivinhação de Números, aplicativo de inventário de loja, e muito mais. Estes projetos serão revisados e classificados por profissionais da indústria ou estudantes da Casa da árvore para garantir que você fique no caminho certo.
E se JavaScript é o seu saco, Zero à maestria tem 20 projetos que você pode construir e adicionar ao seu portfólio., Estes projetos são uma ótima maneira de aumentar suas habilidades, levando você de um iniciante para um desenvolvedor confiante – e ser capaz de ter projetos acabados para adicionar ao seu portfólio é um bônus adicional.
Step #8: Cultive a sua rede de tecnologia profissional
À medida que aprende a codificar, construir projectos, etc., você deve ser lenta mas certamente cultivar sua rede profissional., Porque quando se trata de encontrar um bom emprego, é preciso mais do que apenas se candidatar a empregos on-line (o que, hoje em dia, pode ser apenas uma perda de tempo).
em vez disso, você quer construir uma rede forte. Para começar, confie nas suas ligações existentes. De acordo com Jobvite, 40% das novas contratações vêm por indicação dos empregados, tornando-se a maneira mais comum.
além de entrar na sua rede de primeiro grau, Você também pode obter intros para as suas conexões de segundo grau (amigos de amigos)., O objetivo é estabelecer reuniões informais de café com pessoas ligadas a empresas para as quais você gostaria de trabalhar, que constroem conexões e às vezes levam a entrevistas reais.,
algumas outras maneiras de fazer novas conexões sem ter um amigo em comum:
- Ir para encontros
- Manter um blog (que vai dar a você exposição)
- Voluntário
- Falar em eventos
se envolver e contribuir para a tecnologia/engenharia de software comunidade, e quase inevitavelmente, oportunidades surgem em seu caminho.,
A maneira mais rápida de conseguir um emprego técnico é um curso que lhe ensina estratégias de rede, incluindo por que você deve participar de grupos meetup e as melhores maneiras de se comercializar como técnico.outra boa opção? Invadir a terra da tecnologia é o trabalho perfeito com o LinkedIn masterclass. Ele vai sobre como construir um exército de apoiadores + colocá-los para trabalhar para você, obter uma referência que lhe dá uma entrevista garantida e alavancar informações internas para ace sua entrevista + negociação.,
Passo # 9: dominar o essencial pré-entrevista
Depois de começar a construir conexões com os colegas e influenciadores no campo, será hora de se preparar para se aplicar às próprias tarefas. (No entanto, se você fizer uma conexão sólida-você pode começar a saltar este passo completamente!)
mas antes de enviar candidaturas ou pedir referências directas, terá de dominar três coisas: currículos, cartas de apresentação e a sua presença online.
Mesmo em um mundo cada, currículos são necessárias., Contratar gerentes ainda olhar para eles para obter uma foto de suas habilidades e experiência. Da mesma forma, as cartas de capa são necessárias quando se candidatam a empregos on-line; eles são a sua oportunidade de obter a atenção de alguém e causar uma impressão.
estes são básicos em todas as indústrias. Mas além de Currículos e cartas de capa, há também a sua presença on-line para considerar. isso é incrivelmente importante para qualquer um na indústria de tecnologia, e é algo que você deve construir e manter ao longo do tempo., A sua pegada digital importa porque é o que os recrutadores e gestores de contratação verão quando Google o seu nome antes de convidá-lo para uma entrevista.
a Sua presença on-line, como um desenvolvedor de software, é composto de algumas coisas:
- perfil do LinkedIn
- GitHub
- site Pessoal (ou da carteira de site)
- os Blogs (que pode ser um complemento para o seu site pessoal)
os Empregadores conferir essas e formar impressões de você, com base no que eles vêem. Então certifique-se que essas impressões são boas!,
a Etapa #10: Ace, o engenheiro de software entrevista de emprego
Finalmente, há a própria entrevista. A maioria das empresas começa com uma entrevista de triagem, geralmente feita online, em casa. Depois disso vem uma entrevista telefónica. Se sobreviveres a esses dois, vais conseguir a entrevista no local.
além do padrão “maior força/fraqueza, etc. etc.,”perguntas, você precisa estar pronto para questões técnicas e comportamentais. Você pode ser solicitado a construir um projeto ou trabalhar através de um desafio de código, ou descrever como você lidou com situações difíceis no passado.
um recurso útil para consultar é o livro que quebra a entrevista de codificação. Outra é aprender a codificar com o meu próprio guia de entrevistas técnicas.
felizmente, você não tem que se preparar sozinho. Por exemplo, Entrevista Cake tem um curso inteiro sobre acing a entrevista tech, incluindo mais de 50 horas de perguntas de prática., Você vai aprender os truques para resolver rapidamente os problemas que nunca viu antes (e obter $30.000 mais ofertas de salário superior). leia a minha revisão do bolo de entrevista.
AlgoExpert é outra plataforma online que ajuda você a preparação para a codificação de entrevistas, com 85+ escolhidos a dedo perguntas (em 7 línguas diferentes) e 55+ horas de vídeo explicações.
Outra boa entrevista prep opção?, Byte by Byte, com a prática de codificação perguntas de entrevista, conselhos de entrevista comportamental, e tudo o mais que você precisa para ace sua entrevista de codificação.
Passo # 11: aceitar a oferta de trabalho e tornar-se oficialmente um engenheiro de software! Parabéns-você descobriu como se tornar um engenheiro de software e tem uma carreira emocionante pela frente!depois de passar por uma série de entrevistas e demonstrar as suas novas competências, É só uma questão de tempo até receber uma oferta. E sim, pode ser o nível de entrada no início, mas tens de começar por algum lado!, Certifique-se de verificar as nossas 5 dicas de negociação salarial para engenheiros de software.
à medida que você continuar a aprender e crescer como um desenvolvedor, você vai continuar a subir a escada da carreira para posições maiores e melhores.
É Duro para se Tornar um Engenheiro de Software?resposta curta: sim. Não é fácil, e posso garantir que às vezes ficas frustrado. Mas é absolutamente exequível. E você provavelmente pode até conseguir tudo sozinho, através de auto-ensino e networking., Muitas pessoas têm transitado com sucesso para o desenvolvimento de software desta forma. três convidados no “Learn to Code With Me Podcast” têm histórias que demonstram isso mesmo!Clément Mihailescu passou de novato a engenheiro de software do Google em apenas 6 meses. Christina Gorton foi mãe de família durante cinco anos antes de se interessar por tecnologia. Ela conseguiu nivelar suas habilidades e conseguir um emprego como desenvolvedora Júnior remota em apenas nove meses., Josh Kemp passou de blacksmith e farrier para desenvolvedor júnior em pouco mais de 9 meses (827 horas de estudo total).
A coisa é, para a maioria das pessoas, aprender sobre o seu próprio torna tudo mais difícil, se é dominar as habilidades ou procurando trabalho. é por isso que faz sentido ter ajuda.
Escola de lançamento, por exemplo, torna possível acelerar a sua carreira como engenheiro de software., O que realmente diferencia o programa de lançamento da escola é que ela ensina você a dominar os conceitos importantes de desenvolvimento de software que permanecem sólidos e consistentes, mesmo enquanto a tecnologia está evoluindo rapidamente, então você vai construir hábitos de vida que ajudam você a ter sucesso. em última análise, seu objetivo não é apenas ajudá-lo a encontrar um emprego, mas ajudá-lo a lançar uma carreira. Graduados da Escola de lançamento foram contratados em empresas líderes da indústria, incluindo Intel, Peloton, HP, e LinkedIn, bem como startups em rápido crescimento.
E os números não mentem., Nos últimos 3 anos, 100% dos graduados do programa aceitaram ofertas de emprego dentro de 180 dias após a graduação. Em 2018, os graduados de Capstone estavam ganhando uma média de US $ 122,316 em 12 semanas.
Além dos números, uma das melhores maneiras para começar uma sensação para um programa de ouvir aqueles que têm feito isso antes. A maioria dos ex-alunos da Escola de lançamento relatam grandes experiências com o programa., Eis o que alguns deles disseram:
- “A Escola de lançamento não fez nada a não ser transformar radicalmente a minha vida e iniciar a minha carreira.”- Tannr
- ” I cannot recommend Launch School enough. Eu honestamente não estaria na carreira que sou hoje, ou tão apaixonado por ela como estou hoje, sem todo o trabalho duro e dedicação que eles colocam em projetar o programa e continuamente melhorá-lo.”- Steve
- ” Launch School gave me all of the core tools I needed to start building meaningful, useful software applications., Se você está sério sobre aprender a programar e pode colocar o tempo em um período sustentado de tempo, este programa é para você!”- Charlie
Se você tem um sonho de se tornar um desenvolvedor de software e quer a rota mais direta para alcançar esse objetivo, definitivamente vale a pena o seu tempo para verificar a Escola de lançamento.
iniciar a codificação agora
parar de esperar e começar a aprender! Arranja as minhas 10 dicas para te ensinares a codificar.à procura de algo um pouco menos intensivo do que o currículo de 8 a 16 meses da Escola?,
no Passo # 2, você escolheu a sua linguagem de programação. Agora, inicie as coisas escolhendo um curso que ensina essa linguagem.
- Pluralsight has courses covering Python, Java, C#, and more.
- Team Treehouse tem cursos em Java, Ruby on Rails, PHP, Python, e muito mais.
- Udacity tem cursos em JavaScript, Java, Kotlin, Python e muito mais.
então, aqui você tem it-11 passos para se tornar um engenheiro de software. Tudo o que tens de fazer agora é trabalhar! Nota: existem links de afiliados neste post.