Staff Software Engineer

  • Engineering
  • Lahore, Pakistan

Staff Software Engineer

Job description

Communication is our business!

Unifonic provides solutions for better customer engagement through a cloud-based platform. We empower businesses to engage with their people through a variety of channels, making their communication conversational, more meaningful, and with ease!


Engineering principle: We ship robust, high-quality code, written for humans to read and maintain!


Staff Software Engineer

The Staff Software Engineer is working with a diverse team of engineers and developers and is responsible for gaining command of the internal workings of the company's existing product and technology, implementing enhancements, supporting bug fixes, performing data analysis, and reporting key metrics for the company's platform. The Staff Software Engineer is working on the next-generation evolution of the product while using the latest tools and technology within agile scrum teams. The responsibilities of the Staff Software Engineer include but are not limited to:

  • Build and maintain solutions that scale. Serving millions of users every day.

  • Contribute to building and maintaining the policies, procedures, and technical assets in the company's cloud infrastructure.

  • Support various teams with a technical vision in the core areas of interest for the company's products.

  • Support multi cloud-based communication products, especially as an augmentation to the internal technology team and working with partners’ software development teams.

  • Work closely with service delivery teams to support product deployments to the cloud.

  • Understand and use the company's technical architectures, tools, and techniques to build powerful, efficient, flexible, and scalable solutions.

  • Work on cloud-based development and deployment, including the following: AWS (EC2, SQS, S3, RDS, Aurora).

  • Ability to perform basic database administration, performance optimization, index optimization, write advanced select queries, and replace cursor usage with relational SQL.

  • Collaborate with product owners, scrum masters, and other developers to deliver a quality product using tools such as JIRA and Git.

Requirements

Must-Have

  • Hands-on 5+ years of experience as a JAVA Developer AND 5+ years in database management (MySQL, Casandra... etc).

  • Practical experience in queuing systems/Message Brokers like (Kafka, Beanstalk, SQS, etc...).

  • Experience with high-volume solutions.

  • Must be able to spend substantial time interfacing with the offshore teams on a daily basis.

  • Fluent in English with excellent writing/editing and verbal communication skills.

Nice To Have

  • Practical experience with cache technologies (Memcached, Redis).

  • Bachelor's degree in Engineering, Software, or a related discipline or the equivalent.

  • Strong attention to detail while maintaining sight of the big picture.

  • Strong problem-solving and analytical skills.

  • Ability to apply business logic to development requirements in a creative manner.

  • Familiar with SaaS and PaaS integration architecture and applications.

  • General knowledge in telecommunications (SMSC, VOIP, SMPP, etc...).