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:
- Bachelors 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:
- PHP Native
- JavaScript / NodeJS
- AWS
- MySQL
- Java / Kotlin
- Obj C / Swift
- Flutter
- Docker
- Apache Server
- OpenAPI
- Harness
Required Experience:
Senior IC