Job Title: Senior Desktop Application Developer
Location: Remote
Position Description
The client seeks a Senior Desktop Application Developer with extensive Java development experience, strong technical capabilities, and demonstrated business acumen to support a mature enterprise application. The client is in Washington, DC; work will be performed remotely.
The application is a complex, data-driven Java desktop application installed and executed locally on user workstations. It processes and displays data from databases, local files, hardware devices, and remote systems, dynamically adjusting workflows, processing logic, and user-interface behavior based on data and configuration.
Because this is primarily a desktop application, candidates must have substantial Java Swing desktop development experience in addition to Java/J2EE skills. Candidates whose experience is primarily browser-based web development may not have the background required for this role.
Key Responsibilities
• Design, develop, maintain, troubleshoot, and enhance a complex Java desktop application.
• Develop and maintain Java Swing functionality, dynamic user interfaces, data-driven workflows, processing logic, and business rules.
• Translate business requirements, user stories, acceptance criteria, flowcharts, and process diagrams into detailed technical designs and application functionality.
• Develop and maintain integrations with Oracle, HSQLDB, Excel/local files, remote systems, and USB-connected hardware such as barcode scanners and scales.
• Troubleshoot application, database, data-processing, hardware-interface, and integration issues across development, testing, and production environments.
• Participate throughout the full software development life cycle, including requirements, design, development, testing, deployment, production support, code reviews, defect resolution, and releases.
• Develop technical documentation and collaborate with business stakeholders, product owners, testers, developers, and other technical teams.
• Adhere to client development, security, configuration-management, and documentation standards.
Required Skills and Experience
• 8+ years of advanced Java/J2EE programming experience.
• 4+ years of advanced Java Swing experience developing and maintaining desktop applications.
• 4+ years of PL/SQL programming experience.
• 2+ years of experience with technologies such as Spring, Xerces, Com4j, and Apache Commons.
• Strong experience supporting mature, locally installed, data-driven applications containing substantial existing business logic.
• Strong knowledge of RDBMS concepts, relational database design, SQL, Oracle, database connectivity, and local/embedded databases such as HSQLDB.
• Experience processing structured data files, including Microsoft Excel.
• Experience developing complex workflows, branching logic, decision trees, dynamic user interfaces, and data/configuration-driven business rules.
• Strong knowledge of secure Java coding practices and vulnerability mitigation.
• Experience with WiX, GitHub, source control, configuration management, and change management.
• Experience with full software development life-cycle activities and Agile.
• Experience developing technical designs from requirements, user stories, and acceptance criteria.
• Strong debugging, troubleshooting, and root-cause analysis skills.
Preferred Skills
• Experience with NetBeans IDE, Maven, SonarLint/Sonar, and Jenkins.
• Experience integrating Java desktop applications with USB-connected hardware, including barcode scanners and scales.
• Experience supporting statistical sampling, quantitative data collection, or data-analysis applications.
• Experience supporting systems with large numbers of configurable workflows, processing paths, and complex decision logic.
• Experience analyzing mature codebases and dependencies among application logic, data, configuration, interfaces, and UI components.
• Strong technical documentation and business/technical communication skills.
• Ability to work independently while collaborating effectively within an Agile team.
• Bachelor's degree in Computer Science, Information Technology, Engineering, or a related discipline, or equivalent professional experience.
Key Competencies
The ideal candidate will demonstrate strong business acumen and the ability to translate complex business processes into maintainable technical solutions. The candidate must be comfortable navigating a mature codebase, understanding complex workflows and decision logic, independently investigating unfamiliar functionality, and balancing new development with maintenance, troubleshooting, defect resolution, and production support.
Strong analytical, problem-solving, written communication, and collaboration skills are essential.
Education Requirements
• A minimum of eight (8) to twelve (12) years' relevant experience. A degree from an accredited College/University in the applicable field of services is required. If the indiviual's degree is not in the applicable field then four (4) additional years of related experience is required.
Additional Provisions
The selected candidate must:
• Successfully complete the client-mandated clearance process, which may include drug screening, criminal history, and credit checks.
• Be a U.S. Citizen or Permanent Resident (Green Card Holder).
• Meet all requirements necessary to obtain and maintain the required client sensitive clearance. If an interim clearance is granted, continued employment is contingent upon successfully obtaining the required final clearance.
• Have resided in the United States for the past five years.
• Have no more than six months of travel outside the United States during the past five years, subject to applicable client exceptions. Military service is excluded; this exception does not automatically extend to military family members.
• Adhere to the client's business casual dress code when working at or visiting client facilities.
Place and Period of Performance
Location: Remote, supporting a client located in Washington, DC.
Standard Work Schedule: Monday through Friday, five days per week, eight hours per day.