A software architect guides the technical design and direction of enterprise-level software solutions. Software architects are required to have advanced technical knowledge in all areas of software development, analysis, and design. They posses detailed expert knowledge of existing software architecture design and interconnectivity with upstream and downstream systems.
ESSENTIAL JOB FUNCTIONS
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
SKILLS / EDUCATION / KNOWLEDGE / EXPERIENCE / ABILITIES
10+ years of software development experience in an area applicable to O’Reilly (retail, java, supply chain)
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)

