Engenheiro Informático

Soft Skills

Hard Skills

Pensamento Crítico

Vontade de apreender pois a tecnologia muda constantemente

Capacidade de comunicação

Capacidade de trabalhar em equipa

Ser capaz de ouvir

Ser capaz de se adaptar a situações facilmente

Saber boas prácticas de desenvolvimento de software

Ter experiência em várias línguas de programação

Compreensão da arquitectura de um computador

Experiência em desenvolvimento de sistemas

Ser capaz de analisar muita informação

Conhecimento de Hardware

Conhecimento de Software

Habilidade para a resolução de problemas

Ter atenção a situações que contribuem para o escalar da gravidade de um problema diagnosticado (como no caso Medicaid)

Organização da Equipa

Falta de comunicação o que fazia com que estivessem a resolver os mesmos problemas por vezes

Falta de orientação de peritos no sistema Medicaid

O sistema estava desenhado para aceitar apenas ficheiros até 1000 linhas quando existiam ficheiros muito superiores

Programadores tomaram decisões sobre como atingir alguns dos requisitos da Medicaid que estavam erradas

Mudanças no código que criaram problemas de integração

Fez com que o processo de criação do sistema ficasse ainda mais atrasado

Tentativa de resolver todos os bugs que encontravam sem darem relevância aos mais importantes

Contratações

Contratar um fornecedor (CNSI) que não tinha experiência em desenvolver sistemas de pedidos de pagamento Medicaid

Não contratar pessoas suficientes do Department of Human Services(DHS) para o sistema que necessitavam de desenvolver

Não contratar alguém a full time que fosse capaz de esclarecer como os procressos de negócio da Medicaid funcionavam de forma a que a equipa pudesse esclarecer as suas dúvidas

Falta de treino e testes adequados antes da implementação do sistema

Não existiu end-to-end testing

Foi testado com uma pequena quantidade de requisitos de pagamento quando o sistema não se encontrava todo pronto para testes

Não existiu quase orientação aos fornecedores sobre como usar o sistema

O staff que teve que responder às questões dos fornecedores não foi treinado para o fazer

Idea demasiado rebuscada

Decisão de construir uma plataforma nova para o sistema inteiro em vez de integrar um web-based portal com back-end do sistema legacy

Decisão de escrever novamente grandes porções de código que tinham sido escritas e melhoradas ao longo de vários anos

Fazer um end-to-end system (acreditavam que seria mais barato e mais fácil de manter)

Queriam um sistema que fosse construído baseando-se nas regras do sistema Medicaid de forma a que fosse mais fácil reprogramar o sistema se estas regras mudassem

Decidiram criar o seu próprio sistema sem recorrer a service providers com experiência neste tipo de situações

Conhecimento dos standars no desenho e desenvolvimento de software e dos testes

Testes

Unit Testing

Integration Testing

System Testing

Accepting Testing

Standards

ISO/IEC 12207 Systems and software engineering - Software life cycle processes