Senior Lead Software Engineer

Overview

On Site
Full Time

Skills

Technical Drafting
Systems Analysis/design
Project Management
Technical Direction
Partnership
Collaboration
Leadership
Research Design
Automated Testing
System Documentation
Knowledge Transfer
Testing
Training
Programming Languages
Management
Computer Engineering
Database
Software Development
Computer Science
Java
Spring Framework
Gradle
Apache Maven
TypeScript
AngularJS
Microsoft SQL Server
PostgreSQL
Apache Tomcat
Docker
Amazon Web Services
Jenkins
GitHub

Job Details

Description

The Senior Lead Software Engineer is responsible for generating creative solutions to address highly complex and critical issues to current applications and/or to create new solutions that address clients' needs. The Senior Lead Software Engineer is key team player who will take ownership of issues and problems and see them through to a successful resolution exercising judgement with little direction or guidance.

Responsibilities:
  • Participate in technical design of new applications and existing system enhancements.
  • Provide high-level analysis and design to address and create well-integrated application systems.
  • Create clear and concise program specifications that will enable Software Engineers to code the program with minimal additional guidance.
  • Develop highly complex and critical new application solutions and enhance existing solutions by coding system features according to system designs.
  • Lead team to meet the goals of assigned projects (e.g. best practice initiatives, developing a new solution to address a never before seen client request, etc.). This involves providing technical project leadership for highly complex solutions; driving technical direction in partnership with architects, senior leadership, etc.
  • Provide guidance and direction to less experienced staff to ensure bugs to existing applications are fixed and/or to clear up operational deficiencies in both previously released software and software slated for future release.
  • Assure program, module and system integrity through thorough testing and adherence to company standards and procedures.
  • Lead phases of the software development life cycle, including research, design, analysis, requirements, implementation, test automation, and maintenance.
  • Utilize new technologies and tools to modify products and provide integration with applications developed internally and externally.
  • Prepare and modify program and system documentation.
  • Provide guidance to less experienced team members to ensure knowledge transfer and training are successfully meeting department goals.
  • Demonstrate the willingness to take any project and successfully implement it with little or no help from more senior resources.
  • Demonstrate a high degree of skill, efficiency and be a leader to less experienced development staff.
  • Develop programs that are highly complex in nature, adhering to established departmental standards.
  • Learn and implement new technologies and architectures within a reasonably quick timeframe while producing and testing high quality software.
  • Demonstrate expert knowledge of software development practices, concepts, and technologies obtained through formal training and work experience.
  • Demonstrate expert knowledge of required programming languages.
  • Demonstrate expert knowledge of the technical/business environment.
  • Effectively partner, communicate, and negotiate with business analyst, development and support groups in order to gather and communicate business requirements.
  • Work on individual programs that are part of a much larger application.
  • Adapt to changing products and technologies.
  • Fix bugs in existing, often unfamiliar programs, under considerable time constraints.
  • Manage and prioritize often conflicting tasks and interruptions so as to minimize their impact on the current deadlines and workload.
Qualifications:

  • Bachelor's degree in computer science, computer engineering, or comparable work experience.
  • Typically ten or more years of software development experience with database technology.
  • Demonstrated expert knowledge of software development practices, computer science theory, and understanding of relevant technologies.
  • Relevant Technologies:
  • Java / Spring Boot
  • Gradle / Maven
  • TypeScript / Angular
  • Microsoft SQL Server / Postgres
  • Tomcat
  • Docker
  • OpenSearch
  • AWS
  • OpenAPI
  • Jenkins / GitHub Actions
  • Octopus / Harness
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.