Profissão

Engenheiro de Software

Descrição da atividade

O engenheiro de software é capaz de trabalhar no desenvolvimento e teste de variados programas computacionais, dentre eles estão: aplicativos, jogos, plataformas digitais para atividades educacionais, sistemas embarcados e sistemas específcos, como médicos e bancários, de forma a garantir maior desempenho e produtividade.

O mercado de trabalho para o engenheiro é vasto, existe carência na área em todo o Brasil, podendo atuar, por exemplo, em empresas do setor privado, em órgãos públicos ou em instituições de pesquisa e desenvolvimento de softwares. Porém o principal mercado para este profissional são os polos de tecnologia. Requisitos mínimos Desenvolver softwares e aplicativos. Elaborar documentação e relatórios técnicos.  

Requisitos mínimos

  • Desenvolvimento de software mobile (Android, iOS).
  • Experiência com versionamento e revisão de código.
  • Programação, depuração e testes.
  • Habilidades em desenvolvimento de sistemas embarcados (hardware e software).
  • Manutenção de software
  • Gerência de configuração de software
  • Gerência de engenharia de software
  • Processos de Engenharia de Software
  • Ferramentas e Métodos de Engenharia de Software
  • Qualidade de software

Ferramentas usadas

Dentre as diversas ferramentas utilizadas, são de maior destaque as IDEs (ambientes de desenvolvimento integrado), que suportam outras ferramentas,como:

  • Editor
  • Debug
  • Geração de código
  • Modelagem
  • Deploy
  • Testes não automatizados
  • Testes automatizados
  • Refatoração (Refactoring)
  • Gestão de Riscos nos projectos de Software
  • Uso da Prototipagem na Eng. de Requisitos


Tecnologias envolvidas

Na área de engenharia de software é abordada diversas tecnologias, porém existem aquelas que são de maior importância e que são mais utilizadas, por exemplo, a linguagem de programação, banco de dados e paradigmas de programação, que trabalham com outras tecnologias, como:

  • Programação estruturada
  • Programação funcional
  • Programação orientada a objetos
  • Componentes de Software
  • Programação orientada a aspecto


Exemplo de resultado tangível

O Engenheiro de Software é um profissional de suma importância dentro de uma empresa, devido as qualidades que possui, que muitas das vezes, um simples programador não tem, como por exemplo, a capacidade de organizar, produzir o resultado esperado, com uma qualidade maior. Muita das vezes, para desenvolvimento de software "pequenos", não é necessário, entretanto, para um software complexo que exige várias funções, interface gráfica, vários pacotes e até mesmo vários programadores, exige planejamento e toda uma ilustração do software, sendo assim, o responsável por estas ações será o Engenheiro de Software.

Apresentação

Foi apresentado para a turma o vídeo criado pelo Engenheiro Marco Silva, abordando vários fatos sobre a profissão, além de algumas dicas para quem deseja trabalhar fora do Brasil.

Link para download do vídeo -> Clique aqui

Facebook do Marco Silva -> Clique aqui

Dúvidas


  • 01. O que vem a ser a sigla B2B e B2C?


  • 02. Como é a sequência normal na carreira de um profissional na sua linha de trabalho?


  • 03. Em toda a empresa, existe essa segmentação clara nas responsabilidade de cada um?


  • 04. É interessante atuar como free-lancer? Cite uma forma de ser descoberto?


  • 05. O que é uma aceleradora? Qual a diferença de uma incubadora?


  • 06. O que significa Viablidade de projeto?


  • 07. É importante avaliar as Boas Práticas de uma determinada atividade? Cite uma consequência drástica que pode acontevcer?


  • 08. O que é Scrum e porque usá-lo?


Avaliação Vídeo


  • Disponibilidade:
    • - Preocupação em ajudar
    • - Não conhece nenhum de vocês e gastou muito tempo para gravar este vídeo


  • Formação:
    • - 5a. turma de SI
    • - PET
    • - IC
  • Atribuições:
    • - Engenheiro de SW
    • - Empresa StationFy
    • - Fundada por brasileiros da UFU (Paulo Martins e Rodrigo Reis)
    • - Empreendedor no Vale do Silício
    • - Engenheiro de SW em Chicago
    • - Envolvido com projetos e produtos


  • Evolução:
    • - Suporte internet na Algar Tech
    • - Graduação
    • - Estágio numa Startup em Android
    • - Bolsas de IC para se manter
    • - Cedro Technologies como desenvolvedor
    • - Pegando projetos por fora como freelancer
    • - Começou na StationFy part-time (4 hs)
    • - Resultados interessantes EUA e Canadá
    • - Vaga em aceleradora
    • - Sai da Cedro e full-time na StationFy
    • - Não curtiu web mas serviu de base
    • - Passou de analista para Eng Sw


  • Requisitos:
    • - Web, Java, JSF, primefaces
    • - Dev Mobile: Trainee, Jr, Pl e Sr


  • Atribuições:
    • - Conceito varia muito as responsabilidades
    • - Programador faz tudo que um analista
    • - Analista não faz nem o que faz um programador


  • Tecnologias:
    • - Tablet, IoS, Web, Java, JSF, Primefaces
    • - Android, Ipads, Iphones
    • - Arquitetura de SW - não importa mais o device
    • - Engenharia de SW: Boas práticas e Padrão de Projeto
    • - Análise de Requisitos: Interação direta


  • Requisitos:
    • - Trabalho em equipe: Grande sincronismo com a equipe
    • - Capacidade de liderança técnica
    • - Melhores talentos para cada finalidade
    • - Pensar no futuro: garantir Escalabilidade
    • - Ser eficiente: evitar Retrabalho
    • - Interatividade com pessoas: contato com cliente e com equipe de requisitos
    • - Padronização: De 10, 8 trabalham com frameworks básicos
    • - Inovação e novos desafios: Ex: BD relacional => BD não relacional


  • Ferramentas
    • - Linguagens de programação
    • - GitHub
    • - Dispositivos: Iphone, Ipad
    • - ObjectVC: poderosa
    • - Swift: Apple Developer
    • - Android: Java com Android SDK
    • - IDEs: xCode, Eclipse e Android Studio
    • - Gerenciamento de projetos: Microsoft Project: Cronogramas
    • - Gerenciamento de tarefas: Trello e Assana :Tarefas


  • Atividade atual
    • - Desenvolve usando ferramentas e tecnologias do estado da arte
    • - Não é só desenvolvedor: entra diretamento em projetos
    • - Avalia viabilidade de projetos: se compensa implementar
    • - Analisa riscos
    • - Faz pré-projetos


  • Oportunidades:
    • - Fora do Brasil: possibilidades de estudar e/ou trabalhar
    • - Preocupação: pense na sua própria carreira
    • - O mundo clama por profissionais qualificados (especialistas)
    • - Exige foco, dedicação e especialização
    • - Interessante sites de freelancer
    • - Acumule pontos no (GitHub): vale muito a reputação
    • - Crie sua Rede de Contatos é muito importante


  • Orientações:
    • - Não gosta de programar? Não desanime. Até final do curso eu também não gostava
    • - Gaste tempo tentando descobrir o que mais gosta
    • - Não tire a conclusão à primeira vista