Description:
Working as part of the technology team with minimal daily supervision, the senior software engineer will be responsible for designing, developing, updating and supporting software systems and applications from a broad system-wide perspective. You shall be capable of working on virtually all phases of application development and independently carrying out all essential development tasks. The level of work assigned is complex and broad in scope.
The Location:
Islamabad, Pakistan
Responsibilities:
- Design, code, test and debug complex backend solutions for software with C# and SQL server or other DB technologies.
- Develop new functionality and enhancements to satisfy internal and external customer requirements.
- Consult with business partners to refine requirements and design software.
- Collaborate with the QA team and other engineers to continuously improve and expand all levels of testing efforts, methods, automation and processes.
- Author and maintain detailed specifications and documentation from which applications and APIs will be written, designed, coded, and tested.
- Make recommendations and influence engineering processes, methods and DevOps.
- Provide operational support on complex/escalated issues to diagnose and resolve incidents in production systems. Incidents tend to be fewer but more complex, requiring analysis of issues, determination of additional resources to resolve the issue, and an in-depth system perspective.
- Elevate the surrounding engineering team by inspiring, mentoring and coaching junior engineers in technical best practices and blocking challenges.
Basic Qualifications:
We are looking for a candidate having 2 to 4 years of experience with the following skill set:
- Excellent programming skills.
- Proficient with software development lifecycle (SDLC) and agile methodologies.
- In-depth understanding of the entire web development process (design, development and deployment).
- Good experience with developing solutions involving relational and NoSQL database technologies such as MySQL, MongoDB.
- Experience in back-end development languages and frameworks, Node JS (Express, Loopback, NestJS).
- Experience of writing unit tests in Mocha or similar library/tool.
- Knowledge of REST API and micro-services architecture.
- Familiarity of CI/CD pipeline and tools such as Jenkins and Kubernetes is a plus.
- Knowledge of code versioning tools such as Git, or SVN.
- Ability to learn, embrace and apply new technologies and techniques.
- Strong organizational skills to juggle multiple tasks within the constraints of timelines.
- Strong communicator and ability to work in a team environment
- Ability to analyze and solve problems