Como se tornar um engenheiro de software

Como a tecnologia evolui e se torna uma parte maior da vida cotidiana, também a necessidade de profissionais de tecnologia. Engenheiros de software projetam e guiam o desenvolvimento de programas que os computadores usam para tornar a vida um pouco mais fácil para o resto de nós.

Passos

Método 1 de 2:
Inserindo a ciência da computação como sua primeira carreira
  1. Imagem intitulada Torne-se um engenheiro de software Passo 1
1. Ganhe um diploma em ciência da computação ou um campo relacionado. A maioria das posições de engenheiro de software exigem um diploma de bacharel. Maior na ciência da computação fornecerá a formação mais útil para projetar e aperfeiçoar o software. Na maioria das vezes, os entrevistadores farão perguntas com foco em estruturas e algoritmos de dados, portanto, o background teórico fornecido pelo tradicional graus de ciência da computação melhor prepara-lhe para este. No entanto, você provavelmente precisará gastar um tempo considerável fora do software de escrita da sala de aula para aprender como os conceitos teóricos que você é ensinado pode aplicar na prática de escrever software real.
  • É possível ser contratado com um grau de associado ou mesmo com nada além de experiência autodidata. Perseguindo esta rota, você deve ter uma forte coleção de projetos concluídos e funcionais demonstrando suas habilidades em um site como Github. Você também pode buscar projetos de código aberto para contribuir com correções e novos recursos para que você não tenha um conceito próprio. Fonte aberta significa que o código (fonte) para um software é visível publicamente (aberto). Muitas vezes, isso permite que alguém envie código para um projeto, pendente de aprovação dos mantenedores do projeto. Encontrar um projeto de código aberto com uma comunidade acolhedora de desenvolvedores pode acelerar grandemente suas habilidades depois de ter estabelecido um conjunto de habilidades de linha de base.
Dica especializada
Genês Linetsky, MS

Genês Linetsky, MS

Fundador de inicialização e diretor de engenharia Linetsky é um fundador de inicialização e engenheiro de software na área de San Francisco Bay. Ele trabalhou na indústria de tecnologia há mais de 30 anos e atualmente é diretor de Engenharia em Poynt, uma empresa de tecnologia construindo terminais de ponto de venda inteligente para empresas.
Genês Linetsky, MS
Genês Linetsky, MS
Fundador de inicialização e diretor de engenharia

Estudar qualquer disciplina científica pode ajudá-lo melhor. Gene Linetsky, que gerencia uma equipe de engenheiros de software, diz: "Alguns dos melhores engenheiros saem de programas de engenharia elétrica, porque lhes ensina disciplina mental. Engenharia de software é uma arte que não tolera a mentalidade de um artista - é realmente exige que a disciplina."

  • Imagem intitulada Torne-se um engenheiro de software Etapa 2
    2. Comece a programação. Mesmo se você ainda estiver na escola, você pode se dar uma enorme cabeça começar por Ensinando-se a programação.
  • Engenharia de software não é focada exclusivamente na codificação, mas você precisará saber pelo menos um casal idiomas e uma compreensão mais profunda de como funcionam. Não há acordo generalizado sobre quais línguas são mais úteis, mas essas são escolhas populares:
  • Pitão
  • Rubi
  • jаvascript
  • Cúmular
  • Java
  • C++
  • Esteja ciente de que algumas línguas são melhores em resolver alguns problemas do que outros. Nenhuma língua é melhor que outra. Nenhuma língua é objetivamente mais fácil que outra. A maioria dos idiomas foram escritos com certos tipos de problemas em mente e são melhores em resolvê-los enquanto mais fracos em resolver os outros. Experimentar e ter uma sensação pelo seu estilo. No começo, concentre-se apenas em obter o mais básico dos programas que funcionam em um idioma. Depois de se sentir confortável com um, comece a experimentar um segundo. Não há necessidade de aprender todos os idiomas. Encontre seu nicho e torne-se incrível nisso!
  • Para a juventude, o MIT (Massachusetts Institute of Technology) criou o site e a ferramenta de programação, Arranhar. Esta ferramenta ensina conceitos de programação usando filas visuais em vez de intimidar texto. Também é útil para adultos que se sentiriam mais confortáveis ​​com foco em elementos visuais em vez de conceitos abstratos e texto.
  • Imagem intitulada Torne-se um engenheiro de software Passo 3
    3. Estudar estruturas e algoritmos de dados. "Algoritmo" simplesmente significa uma fórmula ou processo para resolver um problema. Exemplos comuns são a descoberta de caminho para encontrar a menor distância entre dois pontos, procurando encontrar um item específico de dados em um grande conjunto de dados e classificação para organizar dados em alguma ordem. UMA "estrutura de dados" é uma certa maneira de organizar dados para facilitar resolver certos problemas. Exemplos comuns são matrizes que simplesmente contêm itens de dados um após o outro em algumas tabelas de ordem e hash que armazenam dados por alguns "chave" Em vez de uma posição em uma lista. Concentre-se no desenvolvimento e mantendo suas habilidades para fazer o seu melhor depois de obter uma posição como engenheiro de software.
  • (Opcional) estudo matemática. A matemática fará parte de qualquer ciência da computação, e muitos algoritmos e estruturas de dados que o conhecimento deriva de matemática. Embora não seja absolutamente necessário, tendo um fundo forte em matemática lhe dará habilidades mais fortes para analisar e projetar novos algoritmos. Se você está segmentando empresas que fazem pesquisa e desenvolvimento de ponta, a matemática será uma obrigação. Se você quer um trabalho corporativo CUSHY, provavelmente pode reduzir a matemática de nível superior.
  • Matemática discreta é uma área particularmente útil de estudo, como é qualquer curso de matemática que envolva software.
  • Definir um problema Passo 4
    4. Complementar seus estudos. Os sistemas educacionais são frequentemente desatualizados. Livros didáticos são revisados ​​mais lentos que o software é atualizado. As instituições educacionais fornecem conceitos teóricos e formas de pensar que podem ser críticos para o seu sucesso e, portanto, não devem ser descontados. No entanto, o que você paga é capaz de aplicar a teoria ao software do mundo real. É aqui que complementar seus estudos vem em.
  • Navegue através de Stackoverflow. Stackoverflow é um site de perguntas e respostas para desenvolvedores. Você pode pesquisar por tag para identificar a tecnologia, o espaço de problemas ou a linguagem que você deseja melhorar em. Vendo as respostas dos outros lhe dará uma visão sobre como os engenheiros resolvem problemas. Bookmarking Soluções inteligentes também ajudarão você a construir seu kit de ferramentas de solução de problemas.
  • Use sites de prática para codificação. Sites como codewars e codingame oferecem milhares de problemas para você testar suas habilidades contra.
  • Encontre uma comunidade do mundo real para ajudar a manter você inspirado, desenvolver conexões e dar orientação sobre onde concentrar seu aprendizado. Sites como Encontro pode ser ótimos lugares para encontrar engenheiros de software e aprender mais sobre a profissão. Se você tiver dificuldade em encontrar Meetups gerais de engenharia, tente se concentrar em idiomas ou tecnologias específicas. Confira sites de mídia social, bem.
  • Imagem intitulada Torne-se um engenheiro de software Passo 4
    5. Construir software. A melhor maneira de melhorar suas habilidades é usá-las. Se projetos profissionais ou software pessoal, de design e codificação lhe ensinarão muito. Para muitos empregadores, as conquistas práticas são importantes do que GPA ou conhecimento teórico.
  • A menos que você planeje monetizar o software que você constrói, coloque-o online! Permitindo que os potenciais empregadores vejam os projetos que você criou e o código os alimentando permite avaliar suas habilidades. Também é uma ótima maneira de obter feedback para ajudar a melhorar suas habilidades.
  • Imagem intitulada Torne-se um engenheiro de software Passo 5
    6. Procure um estágio. Muitos estudantes de engenheiro de software trabalham como estagiários enquanto completam seus estudos. Esta pode ser uma excelente maneira de obter treinamento e rede práticas com potenciais empregadores. Procure oportunidades de estágio através de sites de postagem de emprego e networking.
  • Imagem intitulada Torne-se um engenheiro de software Passo 6
    7. Encontre oportunidades de emprego. Engenharia de software é um campo de rápido crescimento. Você tem uma boa chance de emprego imediato, embora você possa começar como programador e trabalhar até o desenvolvimento de software. Comece a procurar antes do seu diploma:


  • As faculdades geralmente ajudam seus ex-alunos a obter uma posição. Fale com seus professores, equipe de departamento e o escritório de serviços de carreira sobre encontrar oportunidades de emprego.
  • Uma grande porcentagem de empregos acontece através de redes. Use seus contatos pessoais e conheça as pessoas no campo através de Meetups e Conferências de Carreira.
  • Verifique os sites de busca de emprego regularmente. Crie um perfil e poste seu currículo para sites profissionais e use-os para rede, bem como aplicativos de emprego.
  • Imagem intitulada Torne-se um engenheiro de software Passo 7
    8. Considere suas metas de carreira. A indústria de software está sempre mudando. Mantenha-se melhorando seus conhecimentos e habilidades práticas, e você terá muitas chances de moldar a direção de sua carreira. Aqui estão algumas maneiras de melhorar suas perspectivas de emprego:
  • Junte-se a uma organização profissional para oportunidades de networking.
  • Considere um mestrado se você tiver planos de longo prazo no campo. Embora não seja um requisito para a maioria das posições, um mestre melhora muito suas chances de trabalhar para líder do setor, em uma posição de gerenciamento ou em software incorporado. Um mestrado também pode dar-lhe um salto de pagamento considerável no início da sua carreira.
  • A certificação pode ser útil em alguns sub-campos e regiões, mas pode diminuir sua conveniência em outros. Fale com outros engenheiros em sua área de especialização antes de se inscrever em um desses programas. Muitas vezes, os ambientes corporativos tradicionais favorecem certificados, mas as start-ups e empresas altamente progressivas podem encontrá-las como uma perda de tempo. No entanto, há sempre exceções. Alguns países também visualizam certificados de forma diferente, então tente se conectar com engenheiros de software e entender como a indústria da sua área opera.
  • Método 2 de 2:
    Mudando para uma carreira de engenheiro de software
    1. Torne-se um engenheiro de software Etapa 8
    1. Conheça suas perspectivas de emprego. O campo de desenvolvimento de software tem excelente crescimento do emprego. A engenharia de software é um foco particularmente desejável em comparação com a programação básica. A renda mediana do desenvolvedor de software é aproximadamente US $ 80.000 - US $ 100.000 por ano nos Estados Unidos.
  • Imagem intitulada Torne-se um engenheiro de software Etapa 9
    2. Aprenda a programação. Design prático de software e codificação devem ser suas primeiras prioridades. Há uma variedade de maneiras de ganhar essa experiência:
  • Ensine-se a programar através de tutoriais on-line ou amigos dispostos a te ensinar.
  • Pegue um enorme curso on-line aberto (MOOC).
  • Se você já tem alguma experiência, colabore com outros programadores no GitHub.
  • Um bootcamp de codificação é uma das maneiras mais rápidas de aprender, se você estiver disposto a investir dinheiro e tempo livre. Apenas certifique-se de fazer sua pesquisa, pois alguns bootcamps têm reputações ruins na indústria e não valem o dinheiro.
  • Imagem intitulada Torne-se um engenheiro de software Passo 10
    3. Desenhe sua experiência. O software pode ser um assunto especializado, mas sua carreira anterior não precisa envolver computadores para lhe dar uma vantagem. A engenharia de software pode depender fortemente de habilidades analíticas, resolução de problemas e trabalho em equipe. Além disso, a familiaridade com uma indústria pode ajudá-lo a projetar software para essa indústria.
  • Mesmo hobbies e interesses laterais podem abrir oportunidades de rede, ou pelo menos adicionar paixão ao seu trabalho. Aplicativos de jogos, conjuntos de música digital ou software de negócios são todos exemplos
  • Se possível, automatize porções do seu trabalho. Construir ferramentas para acelerar as tarefas e tornar as coisas mais fáceis. Engenharia de software em seu núcleo é a solução de problemas. Escrever software é apenas um método escolhido do engenheiro de software de resolver problemas. Existem problemas ao seu redor já! Não há razão que você não possa começar agora.
  • Imagem intitulada Torne-se um engenheiro de software Etapa 11
    4. Inscreva-se em um programa de graduação (opcional). É muito possível pousar um emprego de programação após um ano ou duas de experiência secundária, ou mesmo alguns meses com dedicação suficiente. Se você já tem um bacharel em qualquer assunto, junto com algumas habilidades de codificação, considere ir direto para um mestrado em engenharia de software.
  • Esteja ciente de que esta é uma opção incrivelmente cara. No entanto, se você tiver dificuldade em ser auto-motivado e ingressar em uma comunidade ou tentando um hobby não fica, esta pode ser a opção mais eficaz.
  • Imagem intitulada Torne-se um engenheiro de software Etapa 12
    5. Rede seu caminho para um trabalho. Quase toda indústria precisa de desenvolvedores de software, para que sua rede de uma carreira anterior possa ser inestimável. Considere também a ingressar em uma associação profissional, como a Sociedade da Ieeng de Engenharia de Software, o Conselho Técnico da Sociedade da Computação IEEE em Engenharia de Software, ou a Associação para Máquinas de Computação. Além disso, olhe para Meetups locais ou comunidades on-line. O mundo do software pode ser surpreendentemente pequeno, e encontrar a conexão certa pode abrir uma miríade de oportunidades.
  • Fluxograma do caminho da carreira

    Fluxograma do caminho de carreira para engenheiros de software

    Apoio ao e Desbloquear todas as amostras.

    Pontas

    Títulos de emprego nesta indústria não são padronizados. "Desenvolvedor de software" é um longo guarda-chuva. Enquanto "Engenharia de software" é suposto envolver mais design e conhecimento especializado, algumas empresas usam este título para abetar um trabalho de programação de nível inferior.
  • Se você quiser trabalhar para uma empresa específica, verifique diretamente a página de carreira do site.
  • Ir Old School! Pratique o código de escrita no papel antes de saltar no computador!
  • Entrevistas de emprego muitas vezes ocorrem em um quadro branco, então encontre alguns amigos e fique confortável código de escrita em um quadro branco. Algumas empresas podem se importar que seu código será executado exatamente como escrito, mas muitos não.
  • Compartilhe na rede social:
    Semelhante