- Lahore, Punjab, Pakistan
- Software Engineering
We are looking for an experienced developer (8+ years’ experience) responsible for the design, development and maintenance of applications. You will be working alongside other engineers and developers working on different layers of the infrastructure. Therefore, a commitment to collaborative problem solving, sophisticated design, and the creation of quality products is essential.
- Can design and build applications for Java platform
- Understands design principles.
- Understand business problems and suggest appropriate technology solutions
- Drive Proof of Concepts (POC) and Proof of Technology (POT) evaluations
- Lead engineering efforts from rapid prototypes to large-scale applications using variety of languages and tools/technology stacks.
- Able to produce first class technical documentation (architecture, user/process etc.) along with realistic estimates from requirements and mockups.
- Architect, design, build and deploy cutting edge solutions at scale that has the potential to server millions of users.
- Create and recommend solution design options factoring in requirements, standards and current infrastructure. Communicate and present solutions to relevant stakeholders.
- Excellent programming and analytical abilities.
- Self-driven with a strong desire to excel and ability to work independently
- Exhibits strong leadership and communication skills to collaborate with business, product engineering and management across different geographic locations.
- Ensure performance, quality, and responsiveness of applications
- Collaborate and work well with co-workers and client to define, design, and ship new features in an Agile environment.
- Upholds code quality, organization, and automation.
- Perform regular code and architecture reviews in diverse technologies and domains.
- Identify and correct bottlenecks and fix bugs
- Able to quickly understand existing application
- Possesses understanding of relational and non-relational databases.
- Experience of building multi-threaded, high performance scalable applications
- Strong ability to troubleshoot, diagnose and problem-solving
- Participate in community knowledge sharing activities and skill building
- Guides and mentors’ other members in team to promote highly technical and self sufficient teams.
- Graduate or post graduate degree in CS or related field.
- Minimum 8 years of overall experience
- Minimum of 5 years’ experience working with Java (Spring, MVC, Hibernate).
- Hands on in Architecting and developing large scale Core Java applications
- Deep Understanding of Application and Infrastructure as well as overall Operations/Network Management eco-systems for efficient operations management
- Strong experience on building distributed large-scale systems
- Experience in Real time applications, Transactional Systems, Encryption
- Experience with performance and memory tuning tools
- Expertise in producing RESTful APIs and back-end services
- Has done benchmarking and optimization
- Has worked with SQL as well as NoSQL databases (Firebase, Cassandra, MongoDB etc.)
- Proficient understanding of code versioning tools (GIT will be preferred)
- Familiarity with continuous integration and build tools such as Jenkins.
- Comfortable working with static code analysis tools.