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 timeCommunicate with middle managers of other departments to make sure expectations are set and metMentoring (15%) : Work closely with less experienced developers to make sure they have the support they need to be successfulPerform code reviews with the goal of creating better developers, not just validating the functionality of the codeArchitecture (15%) : For smaller projects and modifications, design the architecture needed for a software productFor larger projects, work closely with the architecture team, specifically the Software Architect, to assist in designing robust, clean and scalable software solutionsEngage with the architects to become more familiar with newer technologiesResearch 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.
Qualifications (Education, Experience, Certifications & KSA) : High School Diploma requiredBachelor's degree in Computer Science or a related field preferred5-7 years of Software Engineering experience requiredExtensive (5-7 years) proficiency working with most of the following technologies required : C# (or some other object-oriented language)JavaScript frameworks (React, , Angular, )Cloud Services (AWS, Azure, GCP)Web services (RESTful and / or SOAP).
NET CoreMVCWindows / Worker servicesDevOps including CI / CDSQLPegaNoSQL databasesExtensive understanding of the software development lifecycle (SDLC)Ability to create flow diagrams for software productsExpert knowledge of database design and file management techniquesExtensive understanding of Agile conceptsDevelop reusable software building blocks to enable faster deliveryExperience with relational databasesHighly self-motivated and self-directed.
Experience working in a team-oriented, collaborative environmentStrong customer-service orientationExcellent written and oral communication skillsExcellent listening and interpersonal skillsAbility to communicate ideas in both technical and user-friendly languageAbility to conduct research into application development issues and productsKeen attention to detailAble to work in a team-oriented, collaborative environmentAbility to work both independently and on a teamCollaborate with stakeholders (, product owners, project managers, and end users) to understand functional and non-functional requirementsInvestigate and propose solutions to development and design problems