Ir al contenido

Desenvolvedor Backend (Python / ERP)

Missão do Cargo:
Ser o responsável pela lógica de negócios, processamento de dados e integração de sistemas "por trás das cortinas". Cria e mantém APIs, módulos personalizados do ERP, automações e a arquitetura que faz tudo funcionar nos servidores.

Principais Responsabilidades:

Desenvolver Módulos Personalizados para o ERP: Criar funcionalidades customizadas em Python que estendem as capacidades nativas do sistema, atendendo necessidades específicas de clientes (ex: regras fiscais complexas, integrações com sistemas legados).
Construir e Manter APIs RESTful: Desenvolver interfaces de comunicação (APIs) para integrar o ERP com outros sistemas (e-commerce, CRM, marketplaces, sistemas de pagamento, plataformas de nota fiscal eletrônica).
Otimizar Consultas ao Banco de Dados (PostgreSQL): Escrever queries SQL eficientes, criar índices, analisar planos de execução para garantir performance mesmo com grande volume de dados.
Implementar Regras de Negócio Complexas: Traduzir requisitos funcionais em código Python, garantindo que cálculos (impostos, comissões, descontos) e validações sejam executados corretamente.
Realizar Testes Unitários e de Integração: Escrever testes automatizados (Unittest, Pytest) para garantir que o código funcione conforme esperado e não introduza regressões (bugs em funcionalidades existentes).
Debugar e Corrigir Bugs: Investigar erros reportados pelo time de QA ou suporte, reproduzir o problema, identificar a causa raiz e implementar correções.
Documentar Código e Processos Técnicos: Escrever docstrings, comentários no código quando necessário, e documentação técnica (diagramas de fluxo, arquitetura de módulos).
Colaborar com Code Review: Revisar código de outros desenvolvedores, sugerir melhorias, garantir que padrões de qualidade sejam seguidos (PEP8 para Python).
Gerenciar Versionamento de Código (Git): Usar Git para controle de versão, criar branches para novas funcionalidades, fazer merge requests seguindo boas práticas.
Participar de Melhorias de Arquitetura: Propor refatorações, sugerir padrões de design (MVC, ORM) e contribuir para a evolução técnica da plataforma.
Requisitos Técnicos e Experiência (Hard Skills):

Formação: Graduação ou Tecnólogo em Ciência da Computação, Engenharia de Software, Sistemas de Informação ou áreas correlatas. Profissionais autodidatas com portfólio robusto também são considerados.
Experiência Comprovada: Mínimo 3 anos de experiência como desenvolvedor backend, sendo ao menos 1 ano com Python em produção.
Domínio de Python: Conhecimento avançado da linguagem, incluindo POO (Programação Orientada a Objetos), decorators, generators, context managers, bibliotecas padrão.
Frameworks Web: Experiência com frameworks como Django, Flask ou FastAPI para criação de APIs.
Bancos de Dados Relacionais: Domínio de SQL (PostgreSQL preferencialmente), modelagem de dados, normalização, transações, índices.
ORM (Object-Relational Mapping): Familiaridade com ORMs como SQLAlchemy ou o ORM nativo do ERP utilizado.
APIs RESTful: Conhecimento de padrões REST, métodos HTTP (GET, POST, PUT, DELETE), JSON, autenticação (JWT, OAuth).
Git e Controle de Versão: Uso proficiente de Git (branches, merge, rebase, resolução de conflitos).
Linux (Ubuntu/Debian): Conforto com terminal Linux, navegação de diretórios, edição de arquivos (nano, vim), permissões.
Testes Automatizados: Experiência com frameworks de teste (Pytest, Unittest) e conceitos de TDD (Test-Driven Development) é diferencial.
Docker (desejável): Conhecimento de containerização para ambientes de desenvolvimento e deploy.
Habilidades Comportamentais (Soft Skills):

Resolução de Problemas Complexos: Capacidade de decompor problemas grandes em partes menores, pensar de forma lógica e estruturada.
Autodidatismo: Ser capaz de aprender novas tecnologias e bibliotecas de forma autônoma, lendo documentação oficial e explorando exemplos.
Atenção aos Detalhes: Um ponto-e-vírgula faltando pode quebrar o sistema. Rigor e revisão cuidadosa do código são essenciais.
Comunicação Técnica Clara: Saber explicar soluções técnicas para não-programadores (consultores, gerentes de projeto).
Trabalho em Equipe: Colaborar com frontend, QA, infraestrutura e consultores funcionais de forma harmoniosa.
Gestão de Tempo: Conseguir estimar prazos de forma realista e cumprir entregas.

Humildade para Aprender: Aceitar feedback em code reviews, reconhecer quando não sabe algo e buscar ajuda.

São Paulo, Brasil
DESENVOLVIMENTO DE SOFTWARE

Somos un equipo de personas apasionadas que tienen el objetivo de mejorar la vida de todo el mundo con productos innovadores. Creamos productos increíbles para resolver sus problemas empresariales.