Full Stack Developer II, Tester
AFSCME · Washington, DC
This position in the Data & Analytics Department is responsible for both software development and testing tasks with a focus on the testability, quality, robustness, reliability, and performance of production-ready software. The Full Stack Developer II, Tester, will be part of the architecture design, software development, and testing of the solutions built in-house or develop in partnership with third-party vendors. Under the general direction of the Assistant Director, Development and Operations provide a high degree of customer service, information privacy and availability, data safety, and recoverability for the AFSCME user community.
Duties:
- Identify, design, and implement technical solutions increasing test effectiveness and coverage, while reducing the cost of test execution.
- Assist in the design and development of efficient, reusable and intuitive Web applications, microservices and database changes to meet user needs.
- Analyze and understand design and source code to establish test hooks and API testing.
- Design and implement industry-standard testing and continuous deployment frameworks that facilitate both reusability and scalability for mobile and web applications built in-house or developed in partnership with third-party vendors.
- Analyze test data and results to identify patterns and influence software quality and reliability.
- Set up, maintain, and perform build, deploy, and test automation frameworks on multiple application platforms, such as mobile and web, and build test scenarios and acceptance tests.
- Research test tools, methodologies, and trends to create and/or upgrade existing practices and processes.
- Ensure software stability via regression and unit testing so production operations run successfully.
- Lead the implementation approach for automation testing and code quality screening tools and frameworks.
- Keep current on emerging technologies via professional organizations, technical or functional reference manuals and periodicals, and other external sources, and transitioning knowledge to IS management/staff.
- Document work performed following department standards and reports on the progress and status of assigned projects to managers.
- Provide support to users by conducting in-depth analysis and resolving user problems with custom-developed or packaged applications.
- Must be able to independently design, code, and test major features, as well as lead/work jointly with other team members to deliver complex changes.
- Performing other duties as assigned.
Requirements:
Education and Experience
Graduation from an accredited four-year college or university with a degree in Computer Science or equivalent with a minimum of five (5) years of related work experience or any equivalent combination of education and experience that provides the following knowledge, skills, and abilities:
Skills Requirements:
- Strong programming experience, including client- and server- side Javascript/Typescript development.
- Strong experience developing both unit and integration tests for RESTful APIs and AWS lambda microservices using test automation frameworks such as JEST.
- Strong experience developing web app UI tests, including the use of browser automation frameworks like Webdriver.IO.
- Strong experience with automated mobile app integration testing, particularly device-based testing with Flutter.
- Strong experience automating running of tests and deployment procedures using CI/CD tools such as CircleCI and Github Actions.
- Experience with the use of IaC frameworks, like Serverless and Pulumi.
- Strong experience building event-sourced microservices, with a good understanding of message-based architectures, and all related protocols and technologies (HTTP, JSON, OAuth, message buses like SNS and SQS).
- Strong experience building web services, like REST/OAuth/JSON, and a good understanding of microservices architecture.
- Experience with relational database development, database queries, stored procedures, and data modeling (e.g., PostgreSQL, MS SQL).
- Familiarity with "NoSQL" database systems, including key-value stores and document indexes (DynamoDB, ElasticSearch, Redis/Valkey, ScyllaDB).
- Strong experience in developing in and deploying to a Cloud environment (such as Amazon Web Services) and DevOps.
- Strong experience with Docker, Kubernetes or similar tools.
- Strong experience with source code/configuration management tools (GitHub), branching/merging, build, and deploy technique
- Experience with collaboration tools (e.g., Jenkins, JIRA, Confluence).
- Strong interpersonal skills and ability to communicate effectively both orally and in writing.
Travel & Work hours
- Extended work hours, travel, and a valid driver’s license are required.
**A Skills Assessment may be required of all candidates. **