As Lead Software Engineer, you will provide technical leadership to a team that develops and maintains a suite of ASP.NET Web applications. You will ensure that your team produces quality software on time by following and improving our software development process. You will be thoroughly involved in team projects from initiation to wrap-up. You will work most often with Web Application Developers, Database Analysts, Quality Assurance, the Documentation Manager, and Project Managers. You will also work directly with our customers, as well as with company management personnel.
Job Duties
- Coordinate team activities; escalate problems; report team status to Project Managers and the Software Development Manager.
- Advise Project Managers and the Software Development Manager when proposing new projects.
- Solicit software requirements with the aid of business analysis personnel.
- Provide estimates of the time required to implement requirements and proposed designs.
- Analyze software requirements, evaluate approaches to implement the requirements, and select the best implementation approach.
- Select, design, or extend application architecture.
- Design or modify relational database schemas.
- Collaborate with team members and product owners to define and review program UI.
- Work with Web Application Developers to produce wireframes.
- Write documentation to support software development, including program specifications.
- Implement non-UI components of the application. This includes components that enforce business rules, components that access application databases, and components that interoperate with other applications or systems.
- Occasionally, implement Web and desktop application user interfaces.
- Perform unit testing in order to prevent defects from entering the application.
- Assign software development tasks to team members; coordinate software development activities; organize team meetings.
- Resolve technical problems with software development tools.
- Manage the application build and integration process.
- Manage and maintain development and testing environments.
- Use bug-tracking software to report and respond to defects.
- Analyze and resolve defects.
- Assist application users (customers and employees) in resolving problems as needed.
- Support users with application deployment; maintain deployment tools.
- Mentor team members; assist with professional development.
- Conduct code review.
- Support the Documentation Manager in writing documentation for application users; write technical documentation for technical users.
- Continuously observe and recommend improvements to our software development process.