Software Architect
Company | O’Reilly Auto Parts |
---|---|
Location | Springfield, MO, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s |
Experience Level | Expert or higher |
Requirements
- 10+ years of software development experience in an area applicable to O’Reilly.
- Demonstrable experience with app modernization and hybrid architecture (on-prem and cloud).
- Experience designing, implementing, and deploying microservices.
- Experience designing, implementing, and deploying event-driven systems (Kafka and GCP Pub/Sub preferred).
- Experience in transactional model design, optimization, and production use.
- Experience in NoSQL model design, optimization, and production use (Cassandra, Redis, and MongoDB preferred).
- Experience designing containerized applications and deploying them to Kubernetes.
- Experience using Hashicorp Terraform to provision resources.
- Experience using CI/CD to deliver well-tested code to production.
- Complete understanding of the department and or system(s) they are responsible for, as well as the overall business process of O’Reilly Auto Parts.
- Understands how to establish the value and cost of an IT project.
- Advanced understanding of change management and the O’Reilly change control process and procedures.
- Advanced knowledge of Project Development Life Cycle (PDLC) and Software Development Life Cycle (SDLC).
- Ability to lead and get results from others.
- Ability to articulate advanced technical concepts and teach others.
- Ability to effectively multitask.
- Expert software debugging and testing knowledge.
- Expert knowledge of complex computer systems (multiple programs, databases, communications etc).
- Expert knowledge of programming, database systems, and systems analysis and design.
- Ability to write advanced technical documentation.
- Exceptional problem-solving skills.
- Good verbal and written communications skills.
- Must work well in a team environment.
- Ability to learn independently.
- Willingness to work flexible schedule including nights/weekends.
- High School diploma or equivalent.
Responsibilities
- Works with Software Engineers, Database Analysts and Systems Architects to design and create, dependable, scalable, and maintainable systems.
- Develops standards and technical documentation for existing theoretical design of software systems.
- Ability to lead and teach others complex technical designs, demonstrating new ideas from proof of concept to step by step how to instructions.
- Takes lead role on designing and approving designs of new software or software integrations with 3rd party packages.
- Begins to participates in the discussion surrounding the long-term technical direction of the department.
- Mentor software engineers that aspire to become software architects.
- Ensures designs are implemented correctly and developers follow standards outlined in the software development methodology.
- Stays current with new and emerging coding techniques and standards, programming languages, and technology in general as it relates to the needs of the company.
- Works with software engineers and management to help shape coding standards and software development life cycle best practices.
- Takes leadership role in guiding projects through the complete software development life cycle.
- Responsible (takes ownership) for multiple software applications.
- Manage tasks and resources while utilizing modern project management principles.
- Leads the development of multiple projects at one time.
- Recommend software improvements and changes to systems, as needed.
- May approve software to be deployed to production systems.
- Perform software and data analysis to uncover issues and solve complicated problems that typically span multiple systems.
- Lead various meetings to gather software requirements and project details.
- Conduct software demo’s to educate and train others in the use of software.
Preferred Qualifications
- A bachelors of science in a technology related field.
- Excellent verbal skills.
- Advanced understanding of financial methods to evaluate ROI of IT projects.
- Advanced education in leadership and teambuilding.
- Advanced skills in Project Management and Business Analysis.
- Advanced technical training or certifications related to scope of work.
- Ability to motivate and inspire others.