As a Quality Architect at MicroStrategy, you will have recent hands-on experience in defining and deploying enterprise software applications in an agile development environment.
The primary objective of a Quality Architect is to help to drive definition of the optimal technology stack for MicroStrategy.
Express your visionary skills and experiences as a software development and systems architect by ensuring the flow of development process is aligned with the overall architectural runway of the entire technology modernization effort.
Take ownership of cross-team issues and product delivery issues including pro-actively communicating across teams to coordinate activities.
Utilize your innovation and affinity for research, learning, and practical technical decision making as you provide oversight and technical design requirement advice to complex solutions.
Develop high-level product specifications with attention to system integration and feasibility.
In this role, you will be THE technical leader while also being hands-on from start to finish as it relates to all aspects of the project : prototyping, proof of concepts, technical road mapping, participating in stand-ups and sprints, and providing ongoing technical mentorship and skill development.
Design and build scalable software systems in a high-availability, high-performance programming environment.
Collaborate with stakeholders to gather functional and non-functional requirements for software products and features.
Decide on technical and architectural directions of software development that aligns with the unified vision of MicroStrategy technology.
Create architectural approaches for software design using cutting edge technologies that meet all requirements of functionality, quality, security, and performance.
Effectively communicate the concepts, architectures, designs, and guidelines to product management, product owners, and development teams.
Guide the development teams on the development process and lead the design and code review to ensure consistency with the design and quality of the implementation.
Provide technical leadership and mentor team members on best practices in software design, development, and processes.
Work in an agile environment with participation in daily stand-ups and scrum ceremonies with iterative development.
Build and grow a culture of engineering and coding excellence by example.
Required Experience and Skills
Motivation, Innovation, Passion, Integrity, Teamwork, Customer-Focus
You should also bring the following :
Bachelor’s degree in Computer Science, Engineering, or relevant fields. MS preferred
Minimum 6 years’ hands-on development experience and 2+ years in leading design and implementation of enterprise software products
Excellent knowledge and experience of software and application design and development; experience building enterprise-scale analytic applications a plus
Excellent knowledge and experience of modern distributed computing, cloud computing, enterprise data, security, and / or service-oriented architectures
Experience of modern open-source technology stacks and frameworks, including, but not limited to Spark, Consul, Zookeeper, Redis, MongoDB, Kafka, Lucene, ElasticSearch, Docker, , Spring
Experience of cloud computing technology and infrastructure, such as AWS, Microsoft Azure
Experience of modern development, collaboration, testing, and continuous integration toolsets, including, but not limited to Jira, Confluence, Rally, GitHub, Jenkins, Maven, ANT, Make, JUnit, JMock
Strong analytical skills and creative thinking to develop innovative solutions
Strong desire to learn new concepts and technologies
Strong people skills to interact effectively with teams at all levels
Experience of Agile software development process
Fluent English required