Carreira

Como funciona uma empresa de desenvolvimento de software?

Muitas pessoas que estão querendo entrar em uma área não sabem como será seu dia a dia. Então é comum que alguém que queira trabalhar com programação se pergunte como é trabalhar em uma empresa de desenvolvimento de software.

Como funciona uma empresa de desenvolvimento de software? – Muitas pessoas que estão querendo entrar em uma área não sabem como será seu dia a dia. Então é comum que alguém que queira trabalhar com programação se pergunte como é trabalhar em uma empresa de desenvolvimento de software.

Primeiramente não há um modelo a se seguir, cada empresa tem seu jeito de trabalhar e cargos diferentes; Há lugares em que uma mesma pessoa executa tarefas que em outra empresa seria feita por três ou até mais colaboradores. Aqui vou descrever um modelo mais “geral” de acordo com a minha experiência pelas empresas de diferentes tamanhos onde já trabalhei.

Gerente de Projetos

O gerente de projetos é o profissional que se responsabiliza pelo andamento do projeto, garantindo que os objetivos serão alcançados dentro do prazo definido.

Ele deve entender o produto, conversar com o cliente para estabelecer metas e prazos, conversar com a equipe para deixar os objetivos bem definidos, prever dificuldades para agir previamente, etc.

Já vi equipes com programadores iniciantes terem êxito e equipes com programadores incríveis terem problemas por causa das habilidades de gerentes de projetos. Por isso que é importante esse profissional entender o que está sendo feito, ter uma boa comunicação, conhecer a capacidade de produção da equipe para não prometer ao cliente mais do que pode ser cumprido e também saber quando dizer não.

Não confunda esse profissional com Scrum Master. O scrum master pode ser outra pessoa, até mesmo um programador da equipe.

Arquiteto da Informação

Uma das principais tarefas do arquiteto da informação é desenhar assim como serão as telas do software a serem criadas; Ele que cuida como será a estruturação do conteúdo, visando facilitar a usabilidade e acessibilidade do usuário, garantindo uma melhor experiência.

Um campo de texto deverá salvar automaticamente ou é melhor ter um botão “Salvar”? Esse botão deve ficar em que lugar da tela? É preciso ter um ícone para essa ação? Essas são algumas das coisas que um arquiteto da informação deve pensar.

Com as necessidades do sistema em mente, este profissional irá desenhar o chamado Wireframe, que funciona como se fosse a planta de uma casa.

Como funciona uma empresa de desenvolvimento de software? - Muitas pessoas que estão querendo entrar em uma área não sabem como será seu dia a dia. Então é comum que alguém que queira trabalhar com programação se pergunte como é trabalhar em uma empresa de desenvolvimento de software.

Wireframes são feitos sem cor, da forma mais simples. Assim as funcionalidades serão o foco do trabalho.

Há ferramentas que possibilitam que desenhemos wireframes interativos. Isso significa que podemos clicar em um botão e ele nos envia para uma outra tela. Assim teremos algo bem parecido com um protótipo, o que facilita apresentar como o sistema deve parecer e funcionar tanto para clientes quanto para a equipe de desenvolvimento.

Em algumas empresas menores esse papel é feito pelo gerente de projeto, designer ou pelos próprios programadores.

Designer

O designer, ao trabalhar no desenvolvimento de sistemas, atuará junto ao arquiteto da informação. Ele receberá o wireframe e irá definir como os componentes da interface deverão ser.

Como funciona uma empresa de desenvolvimento de software? - Muitas pessoas que estão querendo entrar em uma área não sabem como será seu dia a dia. Então é comum que alguém que queira trabalhar com programação se pergunte como é trabalhar em uma empresa de desenvolvimento de software.

Normalmente é ele quem define uma paleta de cores a serem usadas, a tipografia, espaçamentos, ícones, etc.

Caso a equipe possua pessoal de marketing, o designer também poderá ajudar na criação do layout do site para a publicidade e outros elementos para serem publicados em redes sociais.

Em empresas menores pode ocorrer dessas funções ficarem a cargo dos próprios programadores.

Programador

Os programadores são as pessoas que vão escrever o código dos softwares a serem criados, sejam eles sistemas web, sistemas desktop, aplicativos mobile, etc. Normalmente são divididos em Front-end e Back-end.

Desenvolvedor Front-end

O desenvolvedor front-end é quem vai dar vida às telas que foram criadas pelo arquiteto da informação e designer. Trabalha com HTML, CSS e JavaScript. Por ter conhecimento com essas tecnologias, pode ser aproveitado para criar sites.

Como o JavaScript está cada vez mais presente em diversas áreas, esse desenvolvedor também pode ser escalado para trabalhar no back-end, criar softwares desktop, aplicativos mobile, etc.

Desenvolvedor Back-end

O desenvolvedor back-end é quem vai cuidar do código que ficará no servidor. Trabalham com linguagens como C#, Java, PHP, Python, Ruby, etc. Ele vai cuidar da parte da aplicação que lida com as regras de negócio.

Ele é quem fará as conexões com o banco de dados para recuperar informações que o desenvolvedor front-end possa precisar para exibir ao usuário ou salvar as informações que o front-end envia.

Além de front-end e back-end, também há o FullStack, que faz os dois ao mesmo tempo.

Analista de Testes

Também conhecido pela sigla “Q.A.” (Quality Assurance), o analista de testes é responsável por testar o software, verificando se todos os requisitos estão sendo cumpridos.

Mesmo que os programadores precisem testar seu código, é visível a diferença que um profissional dedicado a testes faz em um projeto.

Ele segue/cria métodos de testar um software com mais eficiência, possibilitando encontrar mais problemas com uma menor quantidade de testes. Quando problemas forem encontrados, deve identificar a causa do problema e indicar como deve ser o comportamento para que os programadores corrijam. Portanto, deve entender tão bem das regras de negócio do sistema quanto o gerente de projetos.

Não é obrigatório mas é importante saber um pouco sobre programação, pois isso permite que esse profissional crie testes automatizados.

Administrador de Banco de Dados

Também conhecido como DBA (Database Administrator), esse profissional cuida do banco de dados da aplicação.

Ele fica responsável por cuidar da estrutura do banco, realizar backups, atualizar, garantir a segurança e integridade dos dados, estabilidade ao acesso às informações, melhorar o desempenho do acesso aos dados, etc.

Outros cargos

Os cargos citados acima são os mais comuns de se encontrar nas empresas. Dependendo do tamanho da empresa pode ser que haja alguns cargos a mais ou a menos, e também pode ser que em cada empresa um mesmo cargo seja chamado por nomes levemente diferentes.

Podemos ter também o gerente financeiro, analista de marketing, RH, engenheiro de software, arquiteto de redes, etc.

Na área de T.I. está crescendo muito a demanda por profissionais em áreas que lidam com dados, como Analista de Segurança da Informação, Cientista de dados, Engenheiro de Inteligência Artificial, etc.

Leia também: “Como gerir minha carreira em TI”