Job Title: Senior Software Engineer
Location: Sri Lanka
Job Responsibilities
As our Senior Software Engineer, you'll be responsible for designing & building new features, enhancing the existing features as well as supporting them in production. You will also be responsible for building reusable libraries or technology platforms/products that address multiple use cases. You will work towards delivering specific milestones and objectives in a very dynamic environment.
You will be in charge of the following:
- Functional availability of the software developed, enhancing the product based on functional requirements.
- Managing cloud-based backend services, web applications and frontend applications for their functional correctness, availability and security.
- Development, deployment and maintenance of SprintBoot/Java and Golang based backend micro-service applications & solutions.
- Development, deployment and maintenance of ReactJS based frontend applications & solutions.
- Own the engineering excellence and operational readiness of the services driving engineering SLI, SLO and SLA.
- Take full ownership of developed applications for the quality, security, availability, scalability etc.
- Adhere to all the engineering best practices established in the company.
- Dive deep into each issue, own reactive fixes and execute long term fixes.
- Assist other Support Engineers on complex RCA issues.
- Provide L4 engineering support to field teams to keep the SLAs in-tact.
- Working in a collaborative, agile environment with multiple cross functional teams distributed across different geographical locations.
Requirements
- A Bachelor's Degree in Computer Science, Software Engineering or equivalent.
- Minimum 6 years industrial experience with a focus on full stack development.
- Excellent communication skills.
- In depth understanding in at least one modern backend development framework preferably SpringBoot and/or Golang.
- In depth understanding in at least one modern frontend development framework preferably ReactJS.
- In depth knowledge on RESTful API design and development.
- A very good understanding working on SQL & NoSQL Databases such as MongoDB, MySQL, PostgreSQL, Redis etc. Hand-on experience in query optimizations and data modeling for scale and performance.
- A very good understanding of Software Design Patterns and Enterprise Integration Patterns.
- A very good understanding of application performance optimizations in backend (preferably SpringBoot/Java and/or Golang) and frontend (preferably in ReactJS).
- A good understanding on MSA, DevOps, Observability and Domain Driven Design.
- A good understanding on containerization and K8s stack.
- Preferred experience in Elasticsearch and Kibana (ELK Stack).
- Preferred experience with messaging systems like RabbitMQ.
- Hands on experience in maintaining scalable, extensible and testable code.
- Deep dive, problem-solving, RCA and systematic thinking to reach to the cause of issues.
- Stay up to date with modern frameworks & practices.
- Able to work independently and multi-task effectively.