WATI is an early stage, fast growing SaaS platform that is revolutionizing how companies communicate with their customers. Through our cutting-edge customer engagement software built on WhatsApp's Business API, businesses are now able to have personalized conversations, be easily accessible and engage with their customers in-real time - at scale! We live in the on-demand economy, where customers expect fast, simple and easy service and that's exactly what our platform empowers companies to do.
This is made possible through WATI's easy-to-use platform that can be made up and running in no time. As a result, small and medium businesses have embraced the platform rapidly, and thousands of customers across 54 countries are now using WATI within just a year of launch.
We are growing fast, and we are now looking for an experienced Senior Software Engineer. Working closely with the Software Development and Product teams, you will be responsible for expanding product offerings and deploying new features using best-in-class technology. In addition, a key component of this role will be to help drive the development team deliver quality software within schedule.
What you'll do:
- Work in a team of 4-6 software engineers (with remote teammates)
- Work with other technical engineers to drive conversations around technical issues and engineering best practices, suggesting improvements and ideas as you see them
- Engage with code review: provide thoughtful, constructive feedback for your team while also using it as a learning opportunity for yourself
- Technical analysis and estimation of business requirements
- Prioritize, thin slice and schedule the tasks for the team to work on during the sprint
- Collaborate with Product Managers, Designers, and QA Engineers to define issues with thorough acceptance criteria prior to engineering beginning
- Mapping customer business problems and provide end-to-end technology solutions from design, implementation to rollout
- Raise test coverage by writing high quality unit tests and integration tests.
- Implementation of product features and internal tools
- Implementing test automation and CI/CD pipelines.
- Provide week long technical support on a monthly basis.
- Responsible for site reliability, provide front line response to production incidents and create solutions for better system health monitoring.
- Bachelor or Master in Computer Science / Computer Technology
- 4+ years of Product development experience
- Strong foundation in data structures & algorithms, problem solving, analytical skills
- Good understanding in software design principles like DDD, SOLID, KISS, DRY and writing Clean Code that others can understand and maintain.
- Proficient in TDD and C# programming is a must
- Strong coding experience in any of these languages - NodeJS, react.js and/or Python
- Solid knowledge of Docker, Docker Compose, and/or Kubernetes
- Working knowledge in NoSQL Databases e.g. MongoDB
- Experience and understanding from Monolith, SOA (Service Oriented Architecture), Microservice to Serverless Architecture and real-time chat applications
- Experience working in Agile methodology and in Scrum team setup
- Hands-on experience in cloud computing like Google Cloud, Azure or AWS
- Experience in mentoring junior developers or managing a small team and able to work independently and take ownership is an advantage
- Experience in Helm and Terraform is an advantage.
- Knowledge of Data Streaming concepts and distributed caching technologies
- Must have a deep understanding of web services software architecture and design issues
- Ability to learn new technologies quickly, work under pressure and in the face of conflicting demands
- Experienced using Project Management tools eg. YouTrack, Jira, Trello etc
- Good communication skills -- both written and verbal, the ability to communicate complex procedures to other colleagues, all interviews will be conducted in English
- Candidates with less experience will also be considered for the role of Software Engineer.