Job Openings
Senior Software Engineer - Java
About the job Senior Software Engineer - Java
Responsibilities :
- Building and maintaining solutions that scale. Serving millions of users every day.
- Contributing to building and maintaining the policies, procedures, and technical assets in company cloud infrastructure.
- Supporting various teams with a technical vision in the core areas of interest for company's products.
- Supporting multi-cloud-based communication products, especially as an augmentation to the internal technology team and working with partners software development teams.
- Working on cloud-based development and deployment, including the following: AWS (EC2, SQS, S3, RDS, Aurora).
- Working closely with service delivery teams to support product deployments to the cloud.
- Understanding and using company's technical architectures, tools, and techniques to build powerful, efficient, flexible, and scalable solutions.
- Ability to perform basic database administration, performance optimization, index optimization, write advanced select queries, and replace cursor usage with relational SQL.
- Collaborating with product owners, scrum masters, and other developers to deliver a quality product using tools such as JIRA and Git.
Job requirements
- Hands-on 9+ years of experience in developing complex projects, preferably in the communications domain by using Java (Spring Framework).
- Hands-on experience in Web Development (HTML, CSS, JS).
- Practical experience in queuing systems/message brokers like ActiveMQ, RabbitMQ, Kafka, Beanstalk, SQS, etc.
- Practical experience with cache technologies such as Memcached, and Redis.
- Solid experience in managing Linux servers and applications (Nginx, apache2, etc).
- Proficiency in a Linux environment and in consuming and designing RESTful APIs.
- Solid experience with full Software Development Lifecycle, Distributed Architectures (REST, SOAP, Queue-based), and Microservices Architecture.
- Bachelor's degree in Engineering, Software, or a related discipline or the equivalent.
- Familiarity with software project management tools similar to Agile, Maven, and Git.
- Experienced with using cloud hosting technologies such as AWS.
- Familiar with SaaS and PaaS integration architecture and applications.
- General knowledge in telecommunications (SMSC, VOIP, SMPP, etc).
- Excellent communication skills.
- Strong problem-solving and analytical skills.