Full Stack Developer II
AFSCME · Washington, DC
This position in the Data & Analytics Department is responsible for completing tasks related to the design, development, implementation, and maintenance of Web-applications and/or services, PC, and client/server software programs to meet user needs. This requires the use of multiple programming languages, including database/SQL scripts, and development conventions and standards while helping to mentor other developers. An ideal candidate would demonstrate a passion to learn new tools and techniques, identify and implement system improvements, and stay abreast of the latest trends in the software industry. Some travel may be required.
Under the general direction of the Assistant Director, Development and Operations provides a high degree of customer service, information privacy and availability, data safety and recoverability for the AFSCME user community.
- Participate in the full software development life cycle (design, development, deployment, documentation).
- Contribute towards design, development, and overall architecture of applications.
- Design and implement efficient, reusable and intuitive Web applications, microservices and database changes to meet user needs.
- Peer review team members’ development and share constructive criticism.
- Introduce and support adherence to industry standards and best practices for software development while helping to mentor other developers.
- Capability to lead the design of solutions for complex problems when needed.
- Collaborate with other developers to design and launch new features.
- Take end-to-end product and features ownership from design to implementation, including the responsibilities for code roll-out and responding to customer issues.
- Estimate development effort, assist in the planning of implementation and rollout of system changes.
- Ensure software stability via regression and unit testing so production operations run successfully.
- Assists in developing documentation required for new programs, modifications, or off-the shelf packages.
- Assists in the implementation approach for new software programs, modifications, and off-the shelf packages.
- Assists in post implementation reviews to determine if software programs or modifications meet user requirements and whether procedures can be made more efficient or effective.
- Suggests ways to improve the department's procedures and standards based on process analysis, results evaluation, and information gained from external sources.
- Evaluates software by reviewing technical documentation and demonstrations.
- Keeps current on emerging technologies via professional organizations, technical or functional reference manuals and magazines, and other external sources, and transitions knowledge to IS management/staff.
- Documents work performed in accordance with department standards and reports on the progress and status of assigned projects to managers.
- Provides basic support to users by analyzing and resolving user problems with custom developed or packaged applications.
- Independently design, code and test major features, as well as work jointly with other team members to deliver complex changes.
- Performs other duties as assigned.
Education & Experience:
- Graduation from an accredited four-year college or university with a degree in Computer Sciences or equivalent.
- A minimum of five (5) years of related work experience or any equivalent combination of education and experience which provides the following knowledge, skills and abilities:
- Knowledge of UI/UX and basic prototype design.
- Extensive experience with server-side languages such as Python, Ruby, Java, PHP and PostgreSQL support for JSON.
- Experience building web services, like REST/OAuth/JSON, and a good understanding of microservices architecture.
- Provide SME input on compliance of products to architectural standards and impacts to IT environment
- Extensive experience with relational database development, database queries, stored procedures, data modeling (e.g., MySQL, MS SQL).
- Experience with NoSQL databases (e.g. Apache Cassandra, GraphDB) and NoSQL support in PostgreSQL
- Extensive experience with application servers like Tomcat, Wildfly, etc.
- Extensive experience in developing in and deploying to a Cloud environment (such as Amazon Web Services) and DevOps.
- Expertise with Docker, Kubernetes or similar tools.
- Expertise with JMS (e.g. ActiveMQ).
- Expertise with source code/configuration management tools (GitHub), branching/merging, build, and deploy techniques.
- Experience with performing design and code reviews.
- Experience with collaboration tools (e.g., Jenkins, JIRA, Confluence).
- Programming experience on/with Linux platforms.
- Experience in the use of development tools (e.g., databases, report writers) and conventions for the PC, client/server and mainframe environments.
- Strong interpersonal skills.
Travel and Work Hours:
- Extended work hours, travel and a valid driver’s license are required.
Please submit resume and cover letter to [email protected]