Roles and responsibilities
Exciting Opportunity for the role of Technical Architect with one of the Largest Airline in the World
Exp:10+ Years
Location: Dubai
Technical Architect
10+ years of experience in development of enterprise desktop, Web applications with backend and frontend responsibilities using Java J2EE technologies (Java 1.6 onwards)
10+ years of experience with frameworks like Spring, Spring Boot, Spring JPA
10+ years of experience in developing APIs (REST & SOAP protocols).
8+ years of experience with frontend technologies object-oriented HTML 5, CSS, JavaScript and TypeScript
6+ years of experience in application design using design principles, patterns and best practices.
6+ years of Experience in Unit Testing Framework (UI and server side) using technologies like Jasmine, Jest, Karma, Junit, mockito, Jmock.
6+ years of experience with ReactJS
6+ years of experience in Microservices development
6+ years of experience with relational databases like Oracle, SQL Server etc..
6+ years of experience with Application Performance monitoring using AppDynamics or any monitoring tool
6+ years of experience in developing applications using cloud platforms (either AWS or Azure)
4+ years of experience with Lean / Agile development methodologies
4+ years of experience in creating configuration build and test scripts for Continuous Integration environments (Jenkins, Ant & Maven Tools)
Lead technical design and build for medium to large sized solutions in a team. Translate complex functional and non-functional requirements into fit for purpose technical design. Debugging and solving issues and follow design documents and implement/test codes and make design decisions while coding and using strong coding principles.
Should have hands on experience in designing and implementing micro services based solutions.
Experience in Application Development, maintenance and in operating technical environments for software development, continuous integration and continuous deployment for data solutions.
Expertise in managing multiple technical teams in AGILE framework for large scale projects.
Desired candidate profile
1. Architectural Design
- System Design: Ability to design scalable, high-performance, and secure software systems based on business requirements.
- Software Architecture Patterns: Knowledge of common architectural patterns like Microservices, Monolithic, Event-Driven Architecture, Layered Architecture, and Client-Server Architecture.
- Cloud Architecture: Designing systems to run on cloud platforms such as AWS, Azure, Google Cloud, or private clouds using services for compute, storage, networking, and security.
- Scalability and Load Balancing: Ensuring that systems can handle growth in users, data, or transactions, using techniques like horizontal scaling, sharding, load balancing, and caching.
- Distributed Systems: Knowledge of designing and building distributed systems that handle communication and data consistency across multiple nodes or services.
- Fault Tolerance and High Availability: Designing systems with resilience, ensuring they can recover from failures, and implementing strategies like replication, failover, and disaster recovery.
2. Technical Expertise
- Programming Knowledge: Deep expertise in programming languages such as Java, C#, Python, JavaScript, or C++, depending on the tech stack of the organization.
- Frameworks and Libraries: Familiarity with frameworks and libraries that can help in system development, such as Spring Boot, Django, Angular, or React.
- Database Architecture: Knowledge of both relational (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB, Cassandra), including database design, indexing, normalization, and querying techniques.
- API Design: Ability to design RESTful or GraphQL APIs and integrate various systems and services.
- Security Architecture: Expertise in security practices such as authentication (OAuth, JWT), authorization, data encryption, network security, and secure coding practices.
- Middleware and Integration: Experience with middleware solutions like Message Queues (e.g., RabbitMQ, Kafka), API Gateways, or Enterprise Service Buses (ESB).
3. Cloud and DevOps
- Cloud Infrastructure: Expertise in designing cloud-native applications that utilize cloud services for scalability, security, and monitoring.
- Containerization: Knowledge of using Docker for containerization and Kubernetes for orchestration of containerized services.
- CI/CD: Understanding of Continuous Integration/Continuous Deployment practices, including tools like Jenkins, GitLab CI, CircleCI, and Travis CI.
- Infrastructure as Code (IaC): Familiarity with tools like Terraform, AWS CloudFormation, or Ansible to automate infrastructure provisioning and configuration management.
- Monitoring and Logging: Implementing monitoring solutions using tools like Prometheus, Grafana, Elasticsearch, or Splunk to monitor application performance and troubleshoot issues.
4. Leadership and Collaboration
- Team Leadership: Ability to lead and mentor development teams, guiding them in the adoption of architectural standards, coding practices, and best practices.
- Stakeholder Communication: Strong communication skills to interact with business stakeholders, product owners, and technical teams. Translating business requirements into technical specifications and ensuring that the solution meets the desired goals.
- Collaboration with Other Architects: Working closely with other architects (e.g., solution, enterprise, and cloud architects) to align on the overall system architecture and design.
- Code Review and Quality Assurance: Ensuring code quality through reviews, adhering to design patterns, best practices, and appropriate use of tools for static code analysis and testing.
- Vendor and Tool Selection: Evaluating third-party tools, libraries, frameworks, and vendors to integrate into the architecture when necessary, ensuring they align with the overall design and goals.
5. Technical Strategy and Planning
- Roadmap Planning: Defining the technical roadmap for the system or product, identifying potential challenges, and creating strategies to address them.
- Risk Management: Identifying technical risks and providing mitigation strategies, including scalability, security, and performance considerations.
- Technology Evaluation: Keeping abreast of emerging technologies and trends in the industry (e.g., Machine Learning, Blockchain, Edge Computing) and assessing how they can be incorporated into the architecture.
- Budgeting and Resource Allocation: Understanding project constraints and making decisions that balance cost, time, and quality. Ensuring that the team has the necessary resources and skills to execute the architecture effectively.