Software Architect
As a Software Architect you will work with product teams and evangelize best-practices to turn business requirements into technical implementation plans through prototyping, research, and design; to provide mentoring and technical oversight to a wide range of distributed product teams, and to leverage existing technologies available through Amazon Web Services and Google Cloud Platform.
Role and Responsibilities:
- Work as part of several discovery teams to identify realistic architectural objectives that meet customer and product management needs
- Work with product management and senior technical leadership to define a technical roadmap that will make customers happy
- Design components, services, and patterns within our microservice-based ecosystem that enable teams to meet goals
- Document existing system interactions and desired future state
- Work with development teams to implement changes to architectural designs that meet customer needs
- Assist in the development and testing of code and have architectural oversight over components, services, and products
- Research industry trends and advocate for adoption of emerging best-practices
- Work with the architecture group to help define the company's overall technical vision, architecture principles, and technical strategy
- Guide technical direction of company by producing written material, talks and work with teams and individuals to explain company vision to drive shared understanding
- Educate developers on best practices and trends in the industry through mentorship, internal presentations, and workshops
- Present content at national conferences on technology trends and best practices in software development, establishing Workiva as a thought leader in software development
- Ensure industry standards in microservices and cloud-based architectures are leveraged properly across a range of distributed services
Qualifications and Education Requirements:
- Bachelor's Degree in CS, SE or related field required
- 10+ Years of experience in a senior software engineering role
- Documented experience in a Software Architecture role a plus
- Expertise in Google Cloud Platform (including GAE, GCE, GCS) or Amazon Web Services (including EC2, Lambda, Kinesis, RDS) required
- Expert level programming experience in Python, Java, or Go
- Expertise in design, development, and support of Microservices / Distributed Systems
- Expertise in data modeling and database systems (both relational and no-SQL systems)
- Expertise in system design patterns to produce systems that are robust, scalable, and highly performant
- Experience in RESTful, library, or system API design and implementation expertise required.
- Excellent technical communication skills, both written and verbal