Architect
Lahore, Punjab () 5 Positions
Job Description
- Design the overall architecture of the software system, including components, their interactions, life cycles with additional focus on security and performance.
- Lead the design and development of the software architecture, making decisions about technologies, frameworks, and best practices to ensure system scalability, performance, and reliability.
- Identify bottlenecks and performance issues, implement optimizations to improve system efficiency.
- Enhance and refactor existing code to improve maintainability, performance, and scalability.
- Create and maintain technical documentation, including architecture diagrams, design specifications, and API documentation.
- Conduct code reviews and provide technical guidance to the development team, ensuring that coding standards and architectural principles are followed.
- Collaborate with cross-functional teams, including Product, Solutions, and Dev Ops Teams.
- Responsible for information security tasks within own work scope.
- Stay updated with the latest industry trends, technologies and evaluate their potential applicability to the organization.
- Develop and carry-out unit testing of code components or complete application.
- Train and guide junior developers in best coding practices.
- Adhere to company policies and procedures.
We are looking for
- Education: BS (CS, SE, CE, IT)
- Experience: 10+ years
Skills
- Strong understanding of software design patterns and architectural best practices.
- Demonstrated experience in designing and architecting complex systems.
- In-depth knowledge of multi-threaded and distributed applications.
- Expertise in Microservices architecture and design principles.
- Proficiency in designing SOAP & RESTful APIs.
- Strong proficiency in Java programming language.
- In-depth knowledge of backend & frontend frameworks, libraries, and technologies.
- Excellent problem-solving and analytical skills.
- In Depth Knowledge of database technologies (SQL and NoSQL).
- Proficiency in code versioning tools, such as Git.
- Proficiency in software design tools such as UML.
- Familiarity with cloud-based technologies and microservices deployment (Docker, Kubernetes).
- Ability to perform well under pressure.
- Strong problem-solving skills, Self-Motivated, Out of the Box thinking.
- Ability to multitask and manage workload efficiently.
- Quick learning abilities.
Specific Tools, Technologies, or Equipment Skills
- Core Java Language Concepts, J2EE, Java, JSP, JDBC and HTML/CSS.
- Automated tools and techniques for development e.g., JProfiler, PMD, Ant, Aspect-J, Junit.
- Concepts about software management tools and techniques e.g., concepts about software configuration management tools and techniques.
- Understanding of full SDLC, GOF Design Patterns, Architecture and Design Patterns (SOA, ORM, MVC), J2EE Design Patterns, OOP, UML, ERD Diagrams.