Software Engineer

Overview

On Site
Contract - W2
Contract - 1 day((s))
10% Travel

Skills

java
SQL
React
Angular
Selenium
Spring
CICD
PostgreSQL
SDET

Job Details

Job Description, Day to Day, Education, Certification, etc.:

PURPOSE:

Performs complex analysis, design, development, automated unit and integration testing, and debugging of computer software ranging from operating system architecture integration and software design to selection of computer systems, language, and/or equipment. Designs, codes, tests, develops, and documents application programs for computer systems. Works with end-users and project stakeholders to define system scope and objectives. Manages modifications to and maintenance of operational programs and procedures. Leads stakeholder and product owner meetings to define software requirements and creates highly complex systems. Acts as a mentor to junior engineers

ESSENTIAL FUNCTIONS:

25% Lead a team of software engineers in the design, development, and implementation of multiple applications. Performs and leads the detail technical design, coding, code review and testing of new applications and enhancements of existing applications. Serves as a subject matter expert for specified systems and their subsequent applications. Develop and/or analyze interface design documentation. Comply with hardware and software systems standards and procedures. Deliver large systems for tens of thousands of users. Ensures compliance to the dev/sec/ops practices and policies. Understanding of architectural practices and design.

25% Identifies gaps in requirements and solves problems for the supporting staff. Identifies sequencing of services and technologies that are integrated in later phases of the project. Leads the evaluation of risk and opportunity impacts to existing or proposed projects/programs and implements risk mitigation actions. Develops ways to improve performance and increase system availability. Provides recommendations to infuse new technology. Compile, assess, and report data results from software testing and analysis.

25% Supports the Project Manager as the technical team lead on the project. Estimates the technical costs of projects for clients and project managers. Confers with clients to identify requirements and determine desired outcomes to formulate the design of the system or offer alternatives. Demonstrated experience with front-end and back-end programing and integration frameworks and tools. Assist in the estimation of development of application features.

25% Leads software design and development teams. Identifies, analyzes, defines, and coordinates user, customer, and stakeholder needs and translates them into technical requirements. Manages technical resources (hardware, software, licenses, and services). Plans and leads transformation initiatives to new software architectures. Extend open-source libraries and systems as necessary to meet the needs of the team. Play a crucial role in product scoping and roadmap / architecture discussions. Continually evaluate emerging technologies to identify opportunities, trends, and best practices. Ensure code quality, deployment standards and practices. Mentoring junior developers.

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 Level: Bachelor's Degree

Education Details: Information Technology or Computer Science

Experience: 8 years Software design and development, software test and evaluation, software requirements management

In Lieu of Education

In lieu of a Bachelor's degree, an additional 4 years of relevant work experience is required in addition to the required work experience.

Preferred Qualifications:

Knowledge, Skills and Abilities (KSAs)

Works closely with Architects, Product Owners, Scrum Masters, and Value Stream Managers to provide insight into delivering business value and meeting objectives., Expert

Decomposes functional and technical requirements into project activities and tasks and provides conceptual design, prototype, and test cycles appropriate to a chosen technical solution., Expert

Identifies technical risks and develops mitigation strategies; introduces and recommends industry best practices and standards for the project., Expert

Evaluates and assists in the selection and procurement of hardware and software technologies and serves as a mentor for junior developers., Expert

Works with stakeholders as well as technical and analytical counterparts to define constraints and develop requirements and concept of operations documentation., Expert

Hands-on development experience using Java, Spring related technologies such as Spring Core, Spring Boot, Spring MVC, spring Batch and scheduler/task and Spring Integration, Expert

Hands-on development experience using Angular/React and libraries (e.g., HTML/ CSS, JavaScript, XML, jQuery, Material UI, Angular Routes, jest/enzyme, Bootstrap5), Expert

Knowledge of database technologies (e.g. cloud, SQL, PostgreSQL, etc.), Advanced

Experience with Karate, Selenium, Cucumber scripting. Expert

Fundamental knowledge of software engineers' best practices, agile methodologies, CI/CD pipelines, Advanced

Knowledge of test-first practices including Test-Driven Development (TDD) for unit tests and Behavior-Driven Development (BDD) for automated acceptance tests, Advanced

Strong experience with Deployment/Continuous Integration/ Continuous Testing/ Continuous Delivery processes and tools and have expertise in CI/CD tools and framework, Advanced

Experience with deploying a global application and configuration management, Advanced

Reviewing the work of other developers and providing feedback, Expert

Ability to communicate technical requirements to all levels of expertise., Expert

Proficient in establishing and maintaining good working relationships., Advanced

Knowledge and understanding of software development life cycle (SDLC)., Expert

Proficient with integrating complex and/or existing systems., Expert

Excellent communication skills both written and verbal., Expert

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.