SourceGeneral Dynamics Information Technology
Type of Requisition: RegularClearance Level Must Currently Possess: NoneClearance Level Must Be Able to Obtain: NoneSuitability: Agency Specific Public Trust/Other Required: NoneJob Family: Software DevelopmentJob Description: The Senior Java Developer will execute the following responsibilities:
- Participate in an agile team to deliver the full lifecycle, including requirements, architecture, design, development, testing and deployment.
- Design, develop, and maintain code that meets requirements, is high quality, and performs efficiently and effectively to provide a great customer experience.
- Incorporate standards and best practices, including performance, security, scalability, and maintainability.
- Update and maintain system design documents.
- Review and provide feedback on functional and technical requirements.
- Define and propose solutions for meeting requirements.
- Contributing to improvements in the software development lifecycle (SDLC) utilizing practices such as test-driven development (TDD), static code analysis, code reviews, continuous integration, continuous delivery, and automated security scanning.
- Working closely with solutions architects to ensure system design follows the industry best practices and standards that aligned with the Judiciary framework.
- Investing in learning and the software development efficiency of the entire office through teamwork, personal responsibility, individual and group training, and process improvement.
- Provide strategic technical guidance and mentorship to the development team, proactively recommend solutions that improve performance, reliability, and security. Evaluate the work processed and implement solutions that meet the customer's current and future needs.
- Support application bug fixes, enhancements, and business policy requirements adhering to the best practices. Evaluate and determine root cause and resolve production support issues in a timely manner.
- Collaborate with Security Team, provide recommendations, solutions for remediation efforts, and documentation of security controls.
- Develop, scale, and troubleshoot the issues along the CI/CD pipeline. Create and maintain Red Hat Ansible playbooks invoked via Bamboo jobs for application deployments. Collaborate with Production Support team and recommend deployment approach that reduces risk and impacts to end users.
- Enhance Production monitoring by implementing strategies that check the status of the different Production components and report failures preemptively. On a quarterly basis, analyze the latest Red Hat Enterprise Linux 6 kernel upgrades available, their compatibility with the current application components, and establish effective and efficient path for production implementation.
- Define architectural standards and develop technical specification documents.
- Bachelor's Degree (Computer Science, Computer Programming, Computer Engineering or relevant computer-based major) plus 7+ years of overall IT experience (or master's degree plus 5+ years), with work on at least one enterprise software development project within the past three years.
- 5+ years Linux administration and scripting experience (RHEL 6+ preferred).
- Experience in software engineering and design architectures.
- Experience and understanding of best practices regarding system security measure
- Experience with building and migration software and IT services to align to strategic business needs and goals.
- Experience in conducting research for advanced technologies to determining how IT can support business needs leveraging software, hardware, or infrastructure.
- Experience with nginx configuration and administration.
- Ample SDLC experience with working knowledge of functioning in an agile environment.
- Ability to collaborate and interpret business and technical needs.
- System orchestration and distributed management with Ansible.
- Experience with LDAP-enabled applications (Microsoft Active Directory, IBM Security Server, etc.).
- Linux system hardening and security auditing experience.
- Extensive experience developing applications in an agile environment.
- Outstanding communication, organization, time management, and interpersonal skills.
- Good written and verbal communication skills coupled with strong listening skills.
- Ability to contribute on an individual basis as well as demonstrate your strengths as a team player as a member of an agile team.
- Experience communicating and collaborating with other software developers, business owners, and management.
Java Developer II