Principal Architect
Principal Architect
About Company:
Nomiso is a product and services engineering company. We are a team of Software Engineers, Architects, Managers, and Cloud Experts with expertise in Technology and Delivery Management.
Our mission is to Empower and Enhance the lives of our customers, through efficient solutions for their complex business problems.
At Nomiso we encourage entrepreneurial spirit - to learn, grow and improve. A great workplace, thrives on ideas and opportunities. That is a part of our DNA. We’re in pursuit of colleagues who share similar passions, are nimble and thrive when challenged. We offer a positive, stimulating and fun environment – with opportunities to grow, a fast-paced approach to innovation, and a place where your views are valued and encouraged.
We invite you to push your boundaries and join us in fulfilling your career aspirations!
What You Can Expect from Us:
Here at NomiSo, we work hard to provide our team with the best opportunities to grow their careers. You can expect to be a pioneer of ideas, a student of innovation, and a leader of thought. Innovation and thought leadership is at the center of everything we do, at all levels of the company. Let’s make your career great!
Position Overview:
As a Principal Architect, you will lead the design and development of robust, scalable, and efficient software solutions. Your expertise in distributed systems and modern architecture will drive technical decisions and influence the direction of our technology landscape
Roles and Responsibilities:
Key Responsibilities:
- Architectural Leadership:
- Design and implement high-level architecture for hyper-scale distributed systems.
- Develop logical architecture and data flow diagrams to communicate solutions effectively.
- Ensure the architecture meets business needs and aligns with overall organizational goals.
- Define and communicate overall architecture vision and strategy across the board
- Develop and maintain technology roadmaps to outline future initiatives
- Review and approve design and implementation decisions
- Hands-On Development:
- Actively participate in coding and development tasks (10-20% of time).
- Build proofs of concept (POCs) and experiment with new technologies to solve business problems.
- Provide technical guidance and mentorship to development teams.
- Technical Solution Development:
- Identify and implement optimal technical solutions to address complex business challenges.
- Leverage Domain Driven Design, Event-Driven Architecture, Microservices Architecture, REST, and Service-Oriented Architecture principles.
- Analyze and choose appropriate data storage solutions (RDBMS, NoSQL, etc.) based on business requirements.
- Production Operations:
- Oversee the deployment and operational support of applications in cloud and data center environments.
- Monitor system performance and availability, ensuring uptime ≥ 99.9%.
- Lead incident response efforts during production issues, performing root cause analysis and implementing permanent fixes.
- Security and Compliance:
- Ensure applications are developed and run securely, both in cloud and on-prem environments.
- Coach teams on implementing security best practices for application and infrastructure.
- Collaboration and Communication:
- Work closely with C-level leaders to align technical initiatives with business strategies.
- Communicate complex technical concepts to non-technical stakeholders effectively.
- Influence and guide team members and peers in adopting best practices and new technologies.
- Continuous Learning and Community Engagement:
- Stay updated on industry trends, emerging technologies, and best practices.
- Contribute to the broader software community through blogs, open-source contributions, or speaking engagements.
- Team Leadership and Development:
- Foster a culture of innovation, collaboration, and continuous improvement within the engineering team.
- Mentor junior engineers and encourage professional growth within the team.
Must Have Skills:
Overall with 15+ years of experience with 10+ years as hands on building hyper scale distributed systems following modern architecture in software. Should be able to work as an individual contributor or as lead for the team,
- Should be a hands-on person who can build technical solutions that will solve business problems in an optimal way.
- Should have thorough knowledge in one or more of Domain Driven Design, Event driven architecture, REST architecture, Service Oriented Architecture.
- Should have been hands on developer for a long time and currently spend some time on coding to tinker or build new things or fix something that is broken.
- Should have great hands-on experience in building and running highly data intensive applications in production.
- Hands on experience in implementing caching, low latency services, highly responsive applications, systems that can handle billions of requests in a day, concurrency in upwards of 100K+
- Languages and tools: Should have a good hands-on experience in any of the programming or scripting languages such as python, golang, Java, node, to name a few.
- Environment: Should have expert level knowledge in cloud (aws and/or google and/or azure, etc), or data center. Should know how the applications run in production so should have technical knowledge on services/systems like load balancers, firewalls, routing, dns, etc. (need not be expert coder in these things but should have a detailed understanding of how these services work).
- Application: Should have thorough understanding of distributed systems and know how the caches, queues, databases, service application code, the front-end system, etc work. He/SHE need not be hands-on like an everyday developer but should know the details of these different systems.
- architecture for internet scale, highly available systems (fault tolerant/HA) (uptime >=99.9%), understand how to run systems during disaster and enable business continuity.
- Should be able to produce logical architecture / data flow diagrams to explain the solution and system behaviors is a must.
- Design patterns such as circuit breaker, CQRS, proxy, MVC, etc should be at fingertips. Theorems like CAP should have been applied in everyday work (not enough just to talk about it).
- Should be able to scientifically choose datastores for given business problems (rdbms vs nosql vs file system storage vs object storage vs block storage)
- Security: Should know how to run applications securely in the cloud or in the on-prem data center. He is not a security expert, but basics of security should be known and able to coach / mentor teams on implementing the security for application and infrastructure.
- Authentication / Authorization: Should have implemented authnz, should know about distributed tracing, monitoring, logging.
- Production triaging: Should be able to jump in during production incidents and quickly identify the problem, put a mitigation and restore the system and immediate follow up with RCA, permanent fixes, etc.
- Having experience in building applications using https protocols, REST architecture, websockets, gRPC, QUIC protocols is a must.
Good to Have:
- Familiarity with chaos engineering principles.
- Experience with AI tools, technologies and implementation of AI-driven systems (e.g., recommendation algorithms, personalization).
- Active contributions to software development communities (e.g., GitHub, tech blogs).
Qualification:
- Master’s or Bachelor’s degree in Computer Science Engineering, or a related technical degree.
Location:
- Melbourne, Australia
About Nomiso:
Nomiso is a product and services engineering company. We are a team of Software Engineers, Architects, Managers, and Cloud Experts with expertise in Technology and Delivery Management.
Our mission is to Empower and Enhance the lives of our customers, through efficient solutions for their complex business problems.
At Nomiso we encourage entrepreneurial spirit - to learn, grow and improve. A great workplace, thrives on ideas and opportunities. That is a part of our DNA. We’re in pursuit of colleagues who share similar passions, are nimble and thrive when challenged. We offer a positive, stimulating and fun environment – with opportunities to grow, a fast-paced approach to innovation, and a place where your views are valued and encouraged.
We invite you to push your boundaries and join us in fulfilling your career aspirations!
We are an equal opportunity employer and are committed to diversity, equity, and inclusion. We do not discriminate on race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, disability status, or any other protected characteristics.
Apply for this job
*
indicates a required field