SUMMARY:
The Software Architect is responsible for architectural guidance and technical leadership resulting in a superior software development methodology. The candidate must possess hands-on understanding of technology and its application to the business process. Must be able to abstract complex problems, define long-term strategies, influence and communicate effectively with technical and business audiences both verbally and in writing.
ESSENTIAL DUTIES AND RESPONSIBILITIES: include the following. Other duties may be assigned.
Decompose business requirements; strategically design the application, information and system architecture to achieve business goals and objectives utilizing a broad understanding of IT enterprise architecture concepts, techniques and models resulting in a new highly scalable, easily maintainable enterprise product solution.
Implementing a wide breadth of technology and tools expertise, the candidate will be responsible for recommending a broad range of solutions, including build vs. buy for architectural challenges. The candidate will proactively suggest areas of improvement, alternative solutions and designs, third party tools, processes, etc to solve the problems at hand.
Research, define, document and promote technical direction in product architecture and key architectural decisions using UML modeling tools, including architectural tradeoff analysis, integration patterns and technology choices.
Mentor junior staff and developers when the need arises to improve their efficiency and effectiveness.
Provide appropriate knowledge transfer for transitioning from architecture and design into development and testing across cross-functional teams.
Lead the development of architectural guidance for projects, including applications, solution and service templates, technology standards and rules applied and ensure compliance of said standards.
SUPERVISORY RESPONSIBILITIES:
LEADERSHIP:
Generates enthusiasm among team members using strong people skills for technical leadership, mentoring, consensus building and evangelizing.
Proactively seeks opportunities to serve in leadership roles.
Challenges others to develop as leaders while serving as a role model.
Manages the process of innovative change.
QUALIFICATIONS: To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
EDUCATION and/or EXPERIENCE: Bachelors degree from a four-year college or university and four years of software\firmware related IT experience; or equivalent experience required.
TECHNICAL SKILLS:
10+ years of experience in overall software development, including 5+ years of prior work in OO development with 3+ years in .Net technologies, preferably C#.Net.
Proven strong architectural skills: MVC, Service Oriented Architecture, understands Design Patterns, Object oriented design using UML, n-Tier, code reuse and the use of a modeling tools, etc. Has good judgment for which solutions work best in which tiers . Includes conviction with your design and possess the ability to differentiate and describe the differences between various design approaches.
Exposure to various technologies, patterns, and methodologies and their limitations.
The successful candidate must have at least one or more areas of technical expertise in which they concentrate.
Ability to learn and apply new technologies and architectural principles quickly.
Must be comfortable leading small and large enterprise scale architectural products from inception through delivery utilizing agile development methods.
Good understanding of enterprise technologies such as: security, network, databases, data/cluster storage, integration and application technologies for distributed systems.
Previous application framework design and development a plus.
Additionally, the candidate may also provide thought-leadership and support to sales teams via participation in sales support activities such as client calls - creating and presenting proposals through compelling presentation skills and visionary insight.
LANGUAGE SKILLS: Ability to read and interpret documents such as software specifications, operating and maintenance instructions, and procedure manuals. Ability to write routine reports and correspondence.
MATHEMATICAL SKILLS: Ability to work with mathematical concepts such as fractions, percentages, and proportions to practical situations.
REASONING ABILITY: Ability to apply principles of logical thinking to a wide array of intellectual and practical problems.
|