Description

Job Description
RESPONSIBILITIES:
Responsible for technical leadership in the analysis, design, development, integration, testing and enhancement of software, applications or middleware.  Actively involved in researching, troubleshooting or resolving complex support issues.  Responsibilities include, but may not be limited to, the following:
●      Consults in the project planning process with clients, business analysts, architects and team members.
●      Monitors project milestones and critical dates to identify potential project schedule risks. Identifies ways to resolve schedule issues.  Keeps management aware of project progress and status.
●      May lead the technical evaluation and selection process for software or middleware packages.  Supports any communication and training necessary for successful adoption of selected tools or software.
●      Ascertains work effort for various tasks within a project and assigns work to other members of the project when leading a project.
●      Communicates with business analysts, quality assurance, project owners, and stakeholders about the project, including status, roadblocks, etc.
●      Provides input for buy vs. build recommendations.  Researches the feasibility or availability of custom, open source and commercial (COTS) solution alternatives.  Provides input on system options, risk, cost versus benefit, and impacts on business processes and goals. Provides input to business cases and may assist in procurement activities for buy decisions.
●      Proactively analyzes existing applications to identify weaknesses and develop opportunities for improvements.  May initiate the identification, analysis, implementation, communication and adoption of technical process improvements to benefit the team.  This may include recognizing the potential for streamlining or automation of existing processes, determining the value of new or different approaches to application implementations, suggesting or proposing changes to applications to solve or address existing problems.  Supports any change management necessary for implemented process improvements.
●      Identifies system and/or business requirements.  Able to elicit, analyze, document and communicate business or technical requirements for designated systems or applications.  Has the ability to work with business and technology stakeholders to translate business requirements into technical designs.  Provides input to the architect on design approaches.
●      Recommends procedures to solve problems considering computer equipment capacity and limitations, operating time, form of desired results, and integration of components.
●      Creates and helps to implement conversion, upgrade and migration designs.  Recommends or applies system patches and/or certificates in a timely manner and validates that they are kept up to date for designated applications or systems. 
●      Assists with documenting or demonstrating examples to ensure code, data or document repositories are appropriately utilized, accessed, maintained and updated.
●      Develops software and/or applications specifications. Makes recommendations and provides input for decisions or considerations involving new code development or existing code reuse.  Recommends and develops methods to efficiently reuse existing components.  Identifies better sources of data feeds and interfaces. 
●      Provides input and assistance to architects when requested on software or system specifications, selecting and adopting technologies or tools, prototyping solutions, communicating technical decisions and assisting other developers with the adoption and understanding of agreed upon technical approaches or direction.
●      Provides technical leadership for the definition, development and modification of individual or integrated software modules as well as enterprise applications using disciplined software development processes. 
●      Familiar with web development, web platforms and content management.  Understands and may have working knowledge of graphics design, mobile-first and user-first web design approaches as well as other user interface (UI) or user experience (UX) implementation techniques.
●      Develops and helps to define integrated solutions aimed at modernizing, consolidating and coordinating the independently designed applications within and across the enterprise. Codes, integrates and tests components, middleware, data, systems and their interfaces to create seamless communications across services. 
●      Determines how existing applications, legacy systems, databases, Web interfaces, enterprise server software and/or hardware logic, which may be currently operational on multiple platforms, work together to meet new and emerging requirements.
●      Adheres to technical or quality standards and procedures.  Reviews modules for quality assurance and checks compliance with software architecture standards.  Assists in defining and communicating development guidelines and standards to be utilized in software development and integration.  Selects and effectively applies appropriate architecture or design standards, methods and tools.  Reviews the designs and code of other developers in collaboration with architects.
●      Provides technical guidance and support for unit testing of software modules to ensure software meets specifications.
●      Coordinates with configuration management on integration build activities across systems or environments and understands how to perform or support integration builds in preparation for both integration and quality assurance testing.  Provides input for deployment documents and related artifacts for production environment deployments.
●      Participates in and supports both integration testing and quality assurance testing activities which includes assisting with the test planning process, performing technical testing of integrated solutions to verify appropriate outcomes or results of interfaces, functions, features and data, as well as identifying or reporting defects, change requests or enhancements.  Helps others to resolve or fix identified defects or issues and also fixes them.  May also assist with or participate in regression testing, user acceptance testing or performance/load testing.
●      Documents changes to architecture, integration and/or conversion plans.  May develop and maintain system and software architecture diagrams.
●      Supports maintenance of software, as needed.
●      Makes applications or modules production ready by including or referencing supporting libraries, incorporating supporting configuration or properties files, updating version control documentation, completing required forms, following move to production procedures, etc.
●      Provides Tier III (integration) support.  Troubleshoots existing information systems to identify errors or deficiencies and develops solutions.  Dissects problems or issues to identify and diagnose root causes and determine resolutions.  Assists with communicating resolutions and helping reporters of issues to understand or adopt resolutions.
●      Provides technical leadership, coaching, and mentoring to team members.  Provides technical guidance along with business process expertise for projects.  Creates technical documentation related to coding, testing, integration, support or best practices.  Develops reports and presentations for management, as needed or requested.
●      May provide input to help define, analyze, plan, forecast, measure, monitor, maintain and improve systems and services availability, which includes hardware, software, network, data/storage, core infrastructure/operations, virtual and cloud solutions such as SaaS/IaaS (software or infrastructure as a service) and security controls.  Assists architects with managing systems and services to ensure that they meet performance targets and business needs.
●       Has knowledge of the security, confidentiality and integrity of information systems and complies with adopted organizational standards or other relevant legislation and regulations.  Understands how to incorporate appropriate security controls as a core part of designed solutions or services. 
●      Supports architects in preparations for user, client or partner engagements.  Understands the needs of users, clients or partners and may assist to interpret those needs into solution proposals.  Able to engage in direct interactions with end users.  Supports sales/marketing demos, prototypes, meetings or other such initiatives to generate awareness or revenue for existing or potential products and services.

Key Skills
Education

Any gradudate