Description

Job Description:

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
Skills Required:

Demonstrated experience leading projects and acting as a team lead
Programming/systems analysis experience
Demonstrated project experience using Angular (11+)
Demonstrated project experience using Spring Boot.
demonstrated project experience with Java 8+
demonstrated project experience working with JavaScript and TypeScript
demonstrated project experience with responsive and adaptive UI/UX design or development and supporting technologies (HTML5, CSS, Bootstrap, etc)
Experience working with an RDBMS such as Oracle or PostgreSQL.
Experience with RESTful Web Services or APIs and supporting tools (Postman, Swagger, JMeter, etc.)
Experience with data exchange/serialization languages, formats, or technologies (JSON, YAML, XML, etc.)

Education

Bachelor's degree in Computer Science