The Senior Software Architect will beresponsiblefor designing, developing and implementing software solutions to address complex business issues, and providing technical leadership within the Engineering organization. You will see the “big picture” and create architectural approaches for software design and implementation to guide the development teams.
The ideal candidate will have:
- Strong experience in software design principles.
- Strong problem-solving skills.
- Experience building frameworks for the development of a software or system that will result in high quality IT solutions.
- Experience in leading proof-of-concept evaluations. Must be able to demonstrate how a proof-of-concept evaluation should be performed.
- Strong communication skills.
- Strong team leadership, mentorship, and collaboration skills.
- The ability to communicate effectively with Architects, Engineers, Product Owners and Executives using language and tools appropriate to the target audience.
- Design, develop and execute software solutions to address complex business needs.
- Evaluate and recommend tools, technologies and processes to ensure the highest quality product platform.
- Collaborate with business and technology stakeholders to determine functional and non-functional requirements for new software or applications.
- Define all aspects of software development from appropriate technology and workflow to coding standards.
- Effectively communicate all concepts and guidelines to development team.
- Oversee progress of development teams to ensure consistency with design.
- Provide technical guidance and coaching to developers and engineers.
- Ensure software meets all requirements of quality, security, supportability, extensibility, etc.
- Work with software developers to encourage innovation, while discouraging “doing your own thing”.
- Participate in code reviews when necessary.
- 5+ years’ experience in software architecture.
- 10+ years in Python software development in a Linux environment.
- Proven experience with SOA and REST.
- Solid understanding of security/access control, scalability, high availability, and concurrency patterns.
- Strong experience with UML and other software modeling methods.
- Understanding of software quality assurance principles.
- Outstanding communication and presentation abilities.
- Excellent knowledge of software and application design and architecture.
Additional Preferred Qualifications
- MSc/MA in computer science, engineering or relevant field.
- Familiarity with UI/UX technologies and methodologies (HTML, CSS, React).
- Working knowledge of Kubernetes & Docker deployment models.
- Working knowledge of cloud deployment models.