The Senior-Level Software Engineer is responsible for developing and supporting the individual components within an application. They will coach and mentor less experienced software engineers and will often lead code reviews. Work is expected to be completed correctly and quickly with little-to-no supervision or assistance needed. Success in this position will largely be determined by the ability to help other software engineers improve and by the ability to lead technical efforts within the team and the department. Job Duties and Responsibilities: Development (45%): Review and analyze existing application effectiveness and efficiency. Develop strategies for improving or leveraging these systems. Design, build, and implement new applications, web pages, and websites; integrating sites with back-end applications; migrating legacy applications to the web; and performing day-to-day administration of the organization's web portfolio. Work in collaboration with a team to develop strategies for improving or leveraging existing systems. Analyze and prioritize front-end backlog tasks for in-development applications. Work in collaboration with a team to research and make recommendations on software products and services in support of procurement and development efforts. Communications (15%): Collaborate with developers, analysts, designers, and system owners in the testing of new software programs and applications. Work directly with the product and scrum teams to make sure all requirements are met and work is being completed in a satisfactory amount of time Communicate with middle managers of other departments to make sure expectations are set and met Mentoring (15%): Work closely with less experienced developers to make sure they have the support they need to be successful Perform code reviews with the goal of creating better developers, not just validating the functionality of the code Architecture (15%): For smaller projects and modifications, design the architecture needed for a software product For larger projects, work closely with the architecture team, specifically the Software Architect, to assist in designing robust, clean and scalable software solutions Engage with the architects to become more familiar with newer technologies Research and Risk Management (10%): Conduct research and make recommendations on software products and services in support of procurement and development efforts. Updates job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment, and by participating in educational opportunities, reading professional publications, etc. Documents and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments, and clear code.