What You Will Do
Architectural Design: Design scalable, high-performance, and secure software architectures that meet business requirements, supporting the viewing of millions of photos and other media worldwide.
Technology Leadership: Evaluate and recommend new emerging technologies, frameworks, and tools to optimize development and system performance in the following areas: image processing via large scale manipulation & artificial intelligence, 3D laser scan data processing & display via advanced modelling techniques, interfacing with hardware APIs including those for 360 & DSLR cameras, processing and display of drone imagery, derived models and advanced video data.
Prototyping: When introducing new technologies or frameworks, Architects may build prototypes to validate a solution’s feasibility before handing it off to developers.
Development Guidance: Provide technical leadership and mentorship to the development team, ensuring coding best practices and architectural principles are followed.
Burst Capacity: During peak workload periods, the Software Architect may write code to speed up delivery.
Technical Challenges: The Software Architect may solve complex problems requiring deep expertise, or assist with performance optimization, debugging, and critical bug fixes.
System Integration: Collaborate with other Software Architects and teams to integrate various systems, APIs, and third-party services.
Documentation: Create and maintain comprehensive technical documentation, including architectural blueprints, design patterns, and system workflows.
Stakeholder Collaboration: Work closely with product managers, business analysts, and other stakeholders to understand functional and non-functional requirements.
Quality Assurance: Ensure code quality through unit testing, code reviews, and adherence to performance and security standards.
Problem Solving: Lead the identification of architectural risks, performance bottlenecks, and system failures, and develop solutions for these issues.
Practices: Participate in Agile development processes, including sprint planning, standups, and retrospectives.
Qualifications
Bachelor’s degree in Computer Science, Information Technology, or a related field. Master’s degree is a plus.
10+ years of experience in software development, with at least 3 years in a software architecture role developing enterprise-scale web applications.
Strong experience with multiple programming languages (e.g., Java, C#, Python, JavaScript) and modern JavaScript frameworks such as React, Angular, ExtJS, or VueJS.
Proficiency in Artificial Intelligence and Deep Learning as applied to images and video.
Proficiency in cloud platforms (AWS, Azure, GCP) and microservices architecture.
Deep understanding of databases (SQL, NoSQL) and data modeling techniques.
Experience with DevOps practices, CI/CD pipelines, and infrastructure as code.
Excellent communication and leadership skills with the ability to explain complex technical concepts to non-technical stakeholders.
Familiarity with cybersecurity principles and best practices.
Familiar with GIT and Jira.
Preferred Skills
Experience with containerization technologies (Docker, Kubernetes).
Knowledge of big data technologies (Hadoop, Spark).
Exposure to machine learning or AI-driven applications.
Familiarity with enterprise architecture frameworks (e.g., TOGAF).
Experience developing mobile applications using standard technologies.
Experience building native mobile applications.
Familiarity with a variety of client-side streaming video technologies.
Soft Skills
Strong problem-solving skills and attention to detail.
Ability to work in a fast-paced environment with shifting priorities.
Collaborative mindset with a passion for continuous learning and improvement.
Any Graduate