Designing, developing, and implementing custom software and database application capabilities for a variety of legacy and modernized systems with limited oversight
Acting as a member of a product team supporting teammates and collaborating with a do what it takes attitude to ensure product and team success
Providing improvements to the product(s) being supported
Actively participate in release and sprint planning, artifact creation, sprint testing, regression testing, demonstrations and retrospectives and solution releases
Supporting release planning with conceptual design and development / refinement of software engineering guidelines
Analyzing complex project-related problems and creating innovative solutions involving scheduling, technology, methodology, tools, and solution components
Ensuring product quality and timeliness of work, providing advice and guidance, resolving problems to meet objectives, and providing periodic performance reports
Providing mentoring to junior members of the team
Requirements
You must live within the DC, MD, VA area.
Candidate must have current CBP Public Trust clearance.
College degree (B.S.) in Computer Science, Software Engineering, Information Management Systems, or a related discipline. Equivalent professional experience will be considered in lieu of degree
Professional Experience: at least seven (7) years related technical experience, with software design, development, and implementation
Experience with JavaScript Web-Services Development; Familiarity with any of the following: JavaScript, React, Typescript, Micro services architecture and development: Familiar with JavaScript, NodeJS, React, Jest
Database Development: Experience with NoSQL databases (DocumentDB)
Experience with application integration and delivery with a DevOps pipeline
Acting independently to expose and resolve problems
Experience with GIT source code control systems and concurrent development workflows
Ability to apply estimation techniques to software development efforts
Working knowledge of and ability to assist others in the use of software engineering tools to support process improvement
Excellent written and verbal communication skills
Strong collaboration skills and desire to work within a team
Understanding of all elements of the software development life cycle, including planning, development, requirements management, CM, quality assurance, and release management.