Responsible for designing, selecting and creating appropriate software architectures for the software systems such that the business objectives and user requirements are met. Sets direction for software patterns, tools and methodologies used by the product development and design team. Provides technical support to and may lead and manage a group of software engineers toward project goals and completion.
The SW Architect & Development Manager is accountable for the following:
â¢ Application Development
â¢ Business Requirements and Functional Design Review and Analysis
â¢ Technical Design
â¢ Planning future technological direction
â¢ Applying standards to product development
â¢ Team Management
â¢ Develops software as part of a team; writing clean, clear, commented code to specification.
â¢ Provides assistance and routine consultation to users in development of project software.
â¢ Must apply generally accepted programming standards and techniques to ensure efficient program logic and data manipulation.
â¢ Analyzes software performance and identifies alternatives for optimizing the usage of computer resources.
â¢ Utilizes and ensures proper usage of version control software during development.
â¢ Performs unit and integration testing of code during development; including testing code of other engineers.
Business Requirements and Functional Design Review and Analysis
â¢ Participates in functional design sessions.
â¢ Analyzes business requirements and provides resource / time estimates for project planning.
â¢ Reviews product specification development.
â¢ Works with the design team in product analysis and design efforts.
â¢ Gathers business requirements and maps them to software technical designs to ensure that business needs and usersâ requirements are met.
â¢ Ensures software and system (hardware) architectures are compatible.
â¢ Utilizes and encourages software industry best practices and design patterns.
â¢ Designs sustainable software systems to meet the companyâs goals.
â¢ Ensures software technical designs are appropriately documented.
â¢ Ensures system architecture is flexible, maintainable and sustainable.
â¢ Conducts code reviews to ensure that code satisfies stated requirements, meets documented design, and follows standard coding conventions.
Plans Future Technological Direction
â¢ Understands and plans for new and evolutionary technologies while identifying and managing the risks associated with introducing them.
â¢ Introduces new concepts, software packages and methodologies while weighing the associated risks of their introduction.
â¢ Mentors engineers on new technologies and works collaboratively to determine if a new solution is appropriate for the system.
â¢ Progressively makes critical decisions on application platforms and frameworks.
â¢ Proactively participates in the software development and design.
Apply Standards to Product Development
â¢ Manage day-to-day activities and overall direction of the software engineering team.
â¢ Continuously improve product development methodology with the goal of optimizing the SDLC processes.
â¢ Continuously evaluate new development tools and techniques.
â¢ Mentors, inspires and encourage engineers and other architects in applying industry best practices in software designs and implementations.
â¢ Conducts code reviews.
â¢ Conducts technical design reviews.
â¢ Professionally demonstrates expertise with core competencies as well as leadership capability.
â¢ Provides team members with a variety of experiences to help round out skill sets.
â¢ Effectively communicates expectations to team members.
â¢ Conducts internal status meetings.
â¢ Conducts employee performance reviews.
â¢ Engenders trust and openness among team members.
â¢ Motivates each team member to execute flawlessly and strive for excellence.
â¢ Attends weekly team meetings as required to review project status and issues.
â¢ Daily attendance and performance of job requirements.
â¢ Professionally demonstrates expertise with core competencies and products; as well as leadership capability.
â¢ Has established respect and credibility with clients, internal and external team members.
Computer / Technical Skills
â¢ Expert object-oriented programming skills.
â¢ Strong knowledge of Java, Java Application Servers and J2EE technologies (Servlets, JSPs, JDBC, JavaBeans, EJBs, RMI-IIOP, JMS, etc.)
â¢ Good fundamental and hands on knowledge of relational databases such as MS SQL Server, Oracle.
â¢ Strong Knowledge of open source technologies (Struts framework/Spring/Hibernate/Lucene).
â¢ Experience with web services technologies (WSDL, SOAP).
â¢ Familiar with Rich Internet Application (RIA) platforms and tools.
â¢ Familiar with Extract, Transform and Loading (ETL) concepts and tools.
â¢ Experience with reporting tools and reporting system architectures.
â¢ Experience with process/workflow engines.
â¢ Proficient in database design and data modeling.
â¢ Expert development skills including the associated tools such as integrated development environments
(IDEâs), debuggers, application frameworks, version control systems and build systems.
â¢ Well versed in industry technical best practices.
â¢ Must be proficient in software development methodologies and management techniques.
â¢ Knowledgeable in most recent developments and emerging technologies in software.
â¢ Ability to apply concepts such as fractions, percentages, ratios and proportions to testing situations.
â¢ Ability to apply principles of logical and scientific thinking to a wide range of intellectual and practical problems.
â¢ Must be able to deal with concrete and abstract variables.
â¢ Strong analytic abilities.
â¢ Ability to solve practical problems and deal with a variety of concrete variables in situations where only limited standardization exists.