Principal Software Engineer

Job Description

We are seeking a highly experienced and passionate Principal Software Engineer responsible for leading the design, development, and maintenance of our core server-side logic and database architecture. The ideal candidate will be pivotal in defining our technical strategy, ensuring high performance, scalability, and responsiveness of our applications, and integrating front-end elements built by co-workers. A solid understanding of front-end technologies is also necessary.

 

RESPONSIBILITIES

· Lead the integration of user-facing elements developed by front-end developers with server-side logic.

· Write reusable, testable, configurable and efficient code.

· Architect and implement low-latency, high-availability, and performant applications.

· Collaborate with cross-functional teams to define, design, and ship new features.

· Identify and correct bottlenecks, and fix bugs.

· Implement robust security and data protection measures.

· Integrate multiple data storage solutions.

· Mentor and guide junior engineers, fostering a culture of continuous learning and improvement.

· Lead code reviews and ensure adherence to best practices.

· Drive the adoption of new technologies and methodologies to improve the development process.

 

QUALIFICATIONS AND EDUCATION REQUIREMENTS

· 7+ years of experience in software development.

· BS/MS degree in Computer Science, Engineering, or a related subject.

 

REQUIRED SKILLS

· Strong proficiency with JavaScript/TypeScript.

· Expertise in designing and managing microservices.

· Expertise in NodeJS and its frameworks, such as Express, NestJS, GraphQL, Knexjs, Sequlize.js and Socket.io.

· Expertise in RabitMQ, Redis or Kafka.

· In-depth understanding of SQL and NoSQL databases, such as InnoDB, MongoDB, MS SQL, Postgres, etc.

· Familiarity with Docker and Kubernetes for containerization and orchestration

· Solid experience with cloud services, specifically Azure, for deploying and managing applications

· Strong understanding of writing, integrating, and unit testing using frameworks such as Mocha & Jest.

· Proficient in API documentation using tools like Swagger.

· Comprehensive understanding of accessibility and security compliance.

· Deep understanding of asynchronous programming and its quirks and workarounds.

· Expertise in user authentication and authorization between multiple systems, servers, and environments.

· Solid grasp of fundamental design principles behind scalable applications.

· Knowledge of the differences between multiple delivery platforms (mobile vs. web) and optimizing output accordingly.

· Experienced in creating database schemas that represent and support business processes.

Proficient in using code versioning tools, such as Git.

Job Summary

  • Published on:2024-07-22 5:35 am
  • Vacancy:1
  • Employment Status:Full Time
  • Experience:7 Years
  • Job Location:Lahore
  • Gender:No Preference
  • Application Deadline:2024-12-23