Under general supervision, the Software Architect is responsible for delivering quality software artifacts and serves as the technical expert for the assigned development group and associated systems and applications. This position promotes the development and reuse of common solutions, components, and services, based on architectural standards, guidelines and frameworks set within the enterprise. Interaction with his or her supervisor will occur weekly to receive guidance.
ESSENTIAL JOB DUTIES AND RESPONSIBILITIES*
Mentor and foster the growth of high performing technical teams to meet strategic objectives.
Translate business activities into reusable service components.
Translate business requirements, using patterns and standards, into application level design artifacts
Create comprehensive application designs that address the needs of key stakeholders from the business, solution delivery, and operations areas.
Engage with the solution process to transition the solution architecture to implementation, supporting delivery through the deployment phase to realize the defined design artifacts.
Seek to consolidate and improve technology toolsets utilized in the course of software development
Continuously improve the overall efficiency and effectiveness of the software development organization through common processes
Monitor adherence to corporate standards in architecture, application design, development, and testing frameworks
Research and maintain knowledge of emerging technologies and possible application to business strategy
Lead the prototyping effort of new technologies establishing best practices, patterns and architectures.
Facilitate the evolution of the architecture and governance processes.
Facilitate the process of approving architecture standards.
Mentor application team members in architectural principles and standards.
Assist in the most difficult support problems
Manage relationships in a manner acceptable to others and to the organization (respectful workplace)
Creating Collaborative Relationships - Working effectively and cooperatively with others; establishing and maintaining good working relationships with others outside of his or her own functional area
Managing Work - Effectively manages one's time and resources to ensure that work is completed efficiently.
Developing Others - Planning and supporting the development of individuals' skills and abilities so that they can fulfill current or future job/role responsibilities more effectively
Technical/Professional Knowledge and Skills - Having achieved a satisfactory level of technical skill or knowledge in position-related areas; keeps up with current developments and trends in areas of expertise.
BASIC AND PREFERRED QUALIFICATIONS (EDUCATION and/or EXPERIENCE)
Bachelor's degree from an accredited program in Information Systems, Computer Science or other related field required
At least 5-7 years of object-oriented and component-based application analysis, design, and development
At least 3 years of leadership and design experience in software development required; experience within a retail setting preferred
Proficient knowledge in .NET Framework development preferred
Proficient knowledge of AWS, BlueMix or other PaaS platforms preferred
MINIMUM QUALIFICATIONS, JOB SKILLS, ABILITIES
Proficient ability to communicate effectively with others using spoken and written English including the ability to communicate with technical and non-technical stakeholders.
Ability to resolve technical issues with versatility, flexibility, and proactive thought
Proficient project planning skills, including the ability to organize, prioritize and control job responsibilities in order to meet deadlines in an environment with overlapping and potentially conflicting priorities
Expert analytical, troubleshooting and problem solving abilities
Ability to expertly solve complex technical problems, including architecting and presenting solutions
Demonstrated knowledge of Strategy, Planning, and/or Architecture
Proficient knowledge of architecture design concepts and techniques and the ability to communicate and evangelize those concepts to a broad based team
Practical application of software product development standards and methodologies including Agile, XP and/or UML
Proficient knowledge of enterprise class software requirements including security, scalability, and usability
Proficient knowledge of services design patterns, principles, and practices
Demonstrated ability to design and support scalable services technologies with strict SLA's and high throughput
Working knowledge of Software Development Life Cycle and Configuration Management including agile methodologies