Software Engineer (GoLang)
Location
Madrid | Spain
Job description
At Intelygenz, we envision a future where processes accelerate performance. For the companies we work with, this means finding ways to optimize their data using cutting-edge technologies like AI-enabled automation. This mindset is a huge part of our culture. We thrive on pooling our skills, collaborating on projects, helping one another learn and creating innovations.
We’re looking for a Software Engineer to participate in challenging projects, learn and grow in a friendly, international and collaborative environment, and help us take innovation to the next level.
Requirements
Your responsibilities:
- Develop software application features against customer requirements
- Participate in implementations of new systems or modifications to existing systems to meet business requirements.
- Master our development process and code base, then improve them.
- Engage with product and software development to understand use cases and technical implementations to enable the design of effective, comprehensive testing strategies.
Must have:
- Experience 3+ years in software development, programing in Java, C#, Python, C++, TypeScript or GoLang.
- At least basic skills in GoLang.
- Design patterns and SOLID principles.
- Experience in using Queue Management systems.
- Experience in using NoSQL DBs.
- Knowledge of Docker and/or Kubernetes at a User level.
- English level C1
A plus if you know:
- Experience in Data Engineering
- Experience in using Event-stores.
- Experience in using Protobuf.
- Experience in using Time Series DBs.
- Experience in Serverless.
- GraphQL APIs.
Valuable Skills and Qualifications
- Strong object-oriented design skills with understanding of common design paradigms and patterns.
- Relational and Nonrelational databases
- Excellent English verbal and written communication skills with the ability to understand and explain complex concepts to both technical and non-technical audiences
- Experience and solid understanding of modern Software Development Life Cycle best practices.
- Test-driven development knowledge. (Unit Test, Integration Test, End To End...)
- Expertise building and troubleshooting integrations. (Rest, gRPC, Events...)
- Version control & Collaboration culture (Git, Branching Strategy, Pull Request, Code Reviews, Pair Programming...)
- Excellent problem solving and debugging skills
- Culture of DevOps and high-quality software standards.
- Experience in API definition, versioning, management and testing
- Knowledge of Bash and Unix command line toolkit.
- Continuous Integration and Delivery expertise (Trunk Based Development, Git Workflows, Pipelines...)
- Message-oriented middleware experience (NATs, RabbitMQ...)
- Experience working with containerized applications (Docker, Kubernetes...)
- Team player attitude and clear communications skills.
- Familiar with agile development and lean principles.
Job tags
Salary