Description

Overview

Client seeks a talented and experienced Software Team Leader/Architect to join their dynamic team. The Software Team Leader/Architect will be responsible for designing, developing, and deploying software solutions that are tailored to our clients' specific requirements. This position necessitates a thorough understanding of software architecture concepts, substantial expertise with enterprise-level projects, and the ability to lead cross-functional teams to achieve high-quality results.

Key Responsibilities

Requirement Analysis

Meet with stakeholders to collect and analyze project needs.

Translate business requirements into technological specs and architecture.

Architectural Design

Create high-level, detailed design documentation.

Create system architectural diagrams and flowcharts.

Determine the general architecture and design patterns.

Technology Selection

Evaluate and choose relevant technologies, frameworks, and tools.

Ensure compatibility with current systems and future scalability.

Project Planning

Define project milestones and deliverables.

Develop and maintain a project plan and timeline.

Collaborate with other stakeholders to ensure that architecture aligns with product plans.

Collaboration & Communication

Coordinate with cross-functional teams such as developers, testers, and operations.

Share architectural decisions and strategies with stakeholders and team members.

Facilitate architectural discourse and decision-making procedures.

Technical Leadership

Offer direction and mentorship to development teams.

Review and approve modifications to the code and design.

Ensure compliance with coding standards and best practices.

Prototyping and proof of concept (PoCs)

Create prototypes and proof-of-concept models to validate architectural methods and technology.

Iterate designs based on user feedback and technical feasibility.

Implementation Oversight

Oversee the implementation of design plans.

Maintain consistency with the established architecture and design patterns.

During the development phase, resolve technical challenges and suggest solutions.

Performance and Scalability

Create systems with optimal performance and scalability.

Perform performance testing and optimization.

Identify and address potential bottlenecks and scalability difficulties.

Security & Compliance

Ensure that architectural designs meet security standards and regulatory requirements.

Implement security best practices and perform security assessments.

Documentation

Maintain extensive architectural documentation.

Manage development team documentation to ensure design implementation and change management is well controlled.

Record architectural decisions, system setups, and technical specifications.

Quality Assurance

Collaborate with QA teams to develop testing strategies and requirements.

Perform architectural reviews and code quality inspections.

Continuous Improvement.

Stay informed on industry trends, upcoming technology, and best practices.

Continuously evaluate and enhance architectural processes and approaches.

Risk Management

Identify and manage architectural risks.

Create contingency plans and conduct risk assessments.

Post-implementation Support

Qualifications

A bachelor's degree in computer science, information technology, or a closely related discipline. Master's degree is preferable.

Proven expertise as a Software Team Leader with Software Architect experience or a related function, with a solid track record of successful projects.

Extensive expertise building and executing medium to large scale, enterprise-grade software solutions.

Deep understanding of software development approaches, including agile and DevOps practices.

Strong problem-solving abilities and the capacity to make decisions under duress.

Excellent interpersonal and communication skills, as well as the ability to influence and interact with a wide range of teams and stakeholders.

Expertise in programming languages such as Java, C++, C#, Python, or others.

Experience in database management systems, SQL, and data modeling.

Experience with cloud computing systems, particularly AWS or Azure.

Experience with microservices architecture, API design, and containerization technologies (Docker, Kubernetes).

Skills

Advanced understanding of architectural design patterns and principles.

Excellent leadership and team management skills, as well as the ability to inspire and motivate others.

Excellent analytical and critical thinking skills.

Proven ability to manage numerous projects concurrently while meeting tight deadlines.

Experience with CI/CD pipelines

Education

Bachelor's degree