As a member of the Development Team and reporting to the Vice President of Technology, the Software Architect assists the Development and Product Management teams in making high-level architecture and infrastructure decisions while deciding technical standards, including software coding standards, tools, and platforms. They continually troubleshoot and suggest solutions for technical and design issues that have resulted from the use, installation, implementation, and/or release of company software. The Software Architect is a creative, forward-thinking employee that leverages analytical and software development skills to ensure superior solutions that are scalable, well-built, and extensible. They additionally contribute to the growth and success of the company and the company’s clients by working well with their peers, team, department, and all company stakeholders.
Define, document, communicate and defend appropriate system architecture to improve reliability, accuracy, scalability, integrity, and speed of Transfinder software products.
Assist the Vice President of Technology in establishing and enforcing software development standards, guidelines and best practices for the Development department.
Develop systems and methodologies for Development to continually improve estimates for development schedule.
Understand and plan for evolutionary paths, and new technology insertion, while managing risk identification and risk mitigation strategies associated with the architecture.
Monitor standards and code reviews to ensure that software and system architectures are in synchronization.
Provide reports to Vice President of Technology regarding status of system architecture.
Determine the right modeling to develop and maintain Transfinder products.
Give input as needed for issues such as tool and environment selections.
Identify and interact with stakeholders to make sure all internal and external needs are met.
Resolve technical issues and find compromises based on current and future needs.
Provide as needed training for on and offsite developers regarding architecture-related issues.
Participate in the evaluation of new technologies and assist in implementing those technologies in an organized and timely manner.
Manage risk identification and risk mitigation strategies associated with software and system architecture.
Participate in software development as needed (coding).
Bachelors or Masters degree in Computer Science or related field required.
5+ years experience with agile development methodologies.
At least 5+ years experience participating in and/or leading large product evaluation and enhancement efforts.
Strong technical communication skills, with the ability to communicate technology issues to all technical, creative and customer-facing teams.
Strong distributed systems and architecture knowledge, and experience with multi-tiered mission-critical systems preferred.
Proven success working in a fast-paced environment with shifting priorities while managing both strategic and tactical deliverables.
Proven ability to work with in-house and outsourced resources for critical project delivery.
Excellent interpersonal and communication skills.
Ability to work independently and collaboratively.
Ability to communicate rationale for system architecture and build consensus among departments.
Ability to prioritize and manage work to critical project timelines in a fast-paced environment.
Ability to develop new approaches to complex technical problems.
Must be organized, have an eye for detail, and be able to express complex ideas in a written and presentational form.