Do you believe that building successful solutions comes from a clever mix of technologies, new or older, common sense and great collaboration? Working on disruptive technologies give you the adrenaline rush? Do you keep yourself abreast of the latest trends in technology? Do you believe in building solutions that will impact millions? Do you know the difference between little ‘a’ agile and capital A agile? Does 3X mean something to you? Is multithreading a thing?
We're looking for a smart, well-rounded Tech Lead / Full Stack Software Engineer who enjoys solving complex problems using clean, efficient and performant methods and putting those solutions into action whilst working in a team and serving as a coach when needed.
You will spend 75% of your time as an individual contributor and 25% as a tech lead.
- Accountable for keeping a high level of collaboration and satisfaction among developers in the lab;
- Coach the developers in the team (pair programming, code reviews;
- Write high-quality code;
- Orchestrate the agile tools set in use at the Lab;
- Review code, pull requests and give constructive feedback;
- Collaborate with relevant stakeholders to define the Product Backlog Items and User stories with their acceptance criteria;
- Collaborate with the other tech leads to improve code reuse and agree on good practices;
- Setup of all needed environments in coordination with the infrastructure team;
- Promoting and coaching about software engineering and agile mindset;
- Help organize digital events (Data hacks, Software Hackathons, etc.);
- Interview potential hires;
- Risks assessment and mitigation;
- Have fun! Learn new skills, experiment and share with the team.
- “Been there, done that” experience;
- “If you don’t try you don’t know” mindset;
- Computer Science degree (BS or MS);
- 6+ years proven experience and at least 3 years in a senior role;
- You are expert in Java 8+;
- Strong knowledge in microservices architecture;
- Strong experience in RESTful APIs;
- You have extensive experience with AWS ecosystem and DevOps;
- You also have a strong foot in at least one other language such as Kotlin, Rust or else.
Will be a plus:
- Practitioner of Domain Driven Design (DDD);
- Experience with event sourcing (CQRS);
- Working knowledge of GraphQL;
- Other Business Intelligence skills – big data, analytics, visualization with a modern toolset;
- Lean start-up / Design thinking experience;
- Excellent technical leadership, communication and presentation skills;
- You can explain complex topics with simple words and adapt to any type of audience;
- Proven experience in coaching other developers;
- Proven experience in defining, planning and delivering digital prototypes and MVPs;
- Able to work and refactor code developed by others;
- You have a deep understanding of agile methodologies, you know what XP means and can talk about the lean principles;
- Solid understanding of OOP, Design patterns and FP;
- You know the Big O notation and can refactor for optimization;
- Good Exposure in Database Design, Performance Tuning, Replication, Multi-Tenants database architectures, normalization and denormalization, NoSQL databases;
- You are a strong advocate of test-driven-development;
- Knowledge of DevOps culture, build and deployment automation;
- Virtualization and container technologies are your usual playground.
Personal + Professional Attributes:
- Passionate & high-energy;
- Intellectual honesty;
- Not afraid to fail;
- Comfortable without big team/resource support;
- Can’t be easily “blocked”;
- Values good design.