The Application Architect’s role is to strategically design and direct the implementation of in-house information systems and networked software architectures that support core organizational functions, and assure their high availability. This includes defining, developing, testing, analyzing and maintaining new software applications in support of the achievement of business requirements. In addition, the Application Architect provides technical leadership across the application development team, from strategic decision making down to the project planning level.
The right candidate will be able to weigh business decisions against technical ones and will determine product-definitions and feature sets in conjunction with the rest of the team. This position is about half architecture/design and half actual coding, with some managerial duties, and will strongly influence our engineering process and culture
Duties and responsibilities
• Collaborate with developers, QA, project managers, business analysts and account managers in conceptualizing, developing and implementing new software applications and enhancements.
• Lead and mentor development team members, including preparing and dispensing work assignments and reviewing the work of other team members
• Recognize and identify potential areas where existing policies and procedures require improvement and help in the process improvement activity.
• Work with cross-functional teams during crisis to address and resolve complex incidents and problems in addition to assessment, analysis, resolution and root cause analysis of cross-functional issues.
• Assist in defining software development project plans, including scoping, estimating, scheduling, and implementation.
• Analyze user requests and assist in the design and implementation process for new products/projects, informing senior executive of alternatives.
• Implement solutions that are reliable, scalable, and perform at a high-level to meet the service levels associated with mission-critical web-based solutions.
• Deliver high-quality solutions to business owners to ensure alignment of technical solution with business objectives
• Develop technical documentation to define the system components, development environment and implementation planning/strategies
• Recommend business process flow improvements and clearly communicate problem/resolution process to project management.
• Maintain a current awareness of new technology development techniques and trends as it relates to Web architecture, databases, development and tools.
• Define and implement strategies for integration of 3rd party systems into the business and technical architectures.
• Work with functional teams to define and implement migration strategies from legacy systems to new architecture and technologies.
• Education: Bachelor's degree (and/or 5 years equivalent work experience or specialized training) in Information Technology (IT), Computer Science (CS), Software Engineering, or a related discipline.
• Deep architecture and development skills in both back-end and front-end Microsoft technologies.
• Outstanding communication skills (verbal and written) and an ability to communicate with internal and external customers and all levels of management, including communicating technical information to nontechnical audiences.
• Ability to work within tight deadlines and effectively prioritize and execute tasks in a high-pressure environment.
• Ability to work well within a team environment that includes geographically distributed team members.
• Able to decompose and solve problems at the appropriate level within the system, keeping in mind the higher-level structures and their requirements and dependencies with adjoining subsystems
• Attention to detail and the ability to manage several projects at once
• Excellent understanding of coding methods and best practices.
• Flexible and adaptable in regards to learning and understanding new technologies.
• Solid experience in using design patterns, distributed paradigms, modeling techniques and UML.
• Experience designing and developing core architectural components such as security models, messaging infrastructures, exception handling and tracing frameworks, etc.
• Experience in defining integration strategies and implementing integration and migration strategies and using integration and ETL tools and technologies.
• Experience leading development teams and providing technical direction and leadership.
• Excellent skills in Microsoft technologies, including C#, ASP.NET, Microsoft .NET Framework
• Strong skills in database technologies (Microsoft SQL Server or Oracle) including database development (T-SQL or PL/SQL)
• Excellent knowledge of web architectural and design patterns
• Solid working knowledge of current technologies including Object Oriented analysis and design practices (Object modeling, use cases, activity diagrams, and UML).
• Familiar with various forms of SSO and an understanding of security best practices such as OWASP
• Familiar with Software Development Life Cycle, various development methodologies, and able to independently participate in each phase.
• Ability to design and implement solutions that are reliable, scalable, and perform at a high-level to meet the service levels associated with mission-critical solutions.
• Proven analytical and problem-solving abilities with ability to anticipate and avoid problems.
• Ability to define and implement migration strategies from legacy systems to new architecture and technologies.
• Ability to design and build flexible and extensible systems with focus on code reuse and generation.
• Experience with writing detailed technical specifications for developers; design, validate and execute software test plans.
o Development experience with Microsoft Visual Studio 2012+
o Experience with Team Foundation Server (TFS)
o Experience with GIT Version Control
o Experience with responsive and/or adaptive design
o Experience with progressive enhancement
o Familiarity with NoSQL solutions such as Redis
o Familiarity with Service Bus architecture
o Familiarity with content management solutions/frameworks such as Kentico, WordPress and/or DotNetNuke
o Experience in automotive marketing
o Excellent Analytical and problem solving skills
o Ability to diagnose and troubleshoot problems quickly
o Motivated to learn new applications and domains
o Strong time management skills
o Ability to take full ownership of tasks and projects
o Experience with Agile/SCRUM process