Position Type: Full-Time / Permanent
Experience Required: 3+ Years
Department: Software Engineering / Application Development
We are seeking an experienced Java Swing Developer to design, develop, enhance, and maintain desktop applications using Java and the Swing GUI framework. The ideal candidate will have strong Core Java programming skills, hands-on experience with Java Swing, object-oriented programming, multithreading, JDBC, and relational databases.
The Java Swing Developer will work closely with software engineers, business analysts, QA teams, and product stakeholders to build reliable, scalable, and user-friendly desktop applications. The successful candidate should have strong debugging and problem-solving skills and experience maintaining both new and existing Java applications.
Design, develop, test, and maintain Java-based desktop applications using Java Swing.
Develop interactive and user-friendly graphical user interfaces using Swing components.
Work with Swing components such as JFrame, JPanel, JTable, JTree, JDialog, JButton, JMenu, and other UI controls.
Develop reusable custom Swing components based on application requirements.
Implement event-driven functionality using Java event handling and listener mechanisms.
Apply appropriate layout managers to create responsive and maintainable desktop interfaces.
Develop application functionality using Core Java and object-oriented programming principles.
Implement multithreading and concurrency to maintain application responsiveness and performance.
Integrate desktop applications with relational databases using JDBC.
Write and optimize SQL queries for application data retrieval and persistence.
Integrate Java desktop applications with RESTful APIs and external services when required.
Debug and troubleshoot application defects, UI issues, memory problems, and performance bottlenecks.
Maintain and enhance existing Java Swing applications and legacy desktop systems.
Refactor existing code to improve performance, maintainability, and code quality.
Write clean, reusable, efficient, and well-documented Java code.
Perform unit testing and support functional and integration testing activities.
Collaborate with QA engineers to reproduce, analyze, and resolve software defects.
Participate in code reviews and follow established software development standards.
Use Git or similar version-control systems for source-code management.
Support application builds and deployments using Maven or Gradle.
Create and maintain technical documentation for application components and development processes.
Collaborate with cross-functional teams throughout the software development lifecycle.
Bachelor's degree in Computer Science, Information Technology, Software Engineering, or a related field.
Minimum 3 years of professional Java application development experience.
Strong hands-on experience with Core Java.
Strong experience developing desktop applications using Java Swing.
Solid understanding of object-oriented programming concepts and design principles.
Experience with Swing GUI components and event-driven programming.
Strong knowledge of Java Collections Framework.
Experience with Java multithreading and concurrency.
Hands-on experience with JDBC.
Experience working with relational databases such as Oracle, MySQL, PostgreSQL, or SQL Server.
Strong SQL knowledge and experience writing database queries.
Experience with exception handling, logging, and application debugging.
Familiarity with Maven or Gradle build tools.
Experience using Git or another version-control system.
Strong debugging, analytical, and problem-solving abilities.
Experience maintaining enterprise or legacy Java Swing applications.
Knowledge of JavaFX.
Experience with RESTful API and web-service integration.
Knowledge of design patterns such as MVC, Singleton, Factory, Observer, and DAO.
Experience with Hibernate or other ORM technologies.
Familiarity with Spring or Spring Boot.
Experience with JUnit and automated unit testing.
Knowledge of CI/CD tools such as Jenkins.
Experience with performance profiling and memory optimization.
Understanding of client-server application architecture.
Familiarity with Agile/Scrum software development methodologies.
Java
Core Java
Java Swing
Swing GUI
AWT
Object-Oriented Programming (OOP)
Java Collections
Multithreading
Concurrency
Event Handling
JDBC
SQL
Oracle / MySQL / PostgreSQL / SQL Server
RESTful APIs
JSON
MVC Architecture
Design Patterns
Maven
Gradle
Git
JUnit
JavaFX
Spring / Spring Boot
Jenkins
CI/CD
Strong Java programming skills
Desktop application development
GUI design and development
Event-driven programming
Database integration
Application troubleshooting
Performance optimization
Legacy application maintenance
Code refactoring
Software testing and debugging
Technical documentation
Cross-functional collaboration
Strong analytical and problem-solving skills
Excellent attention to detail
Good verbal and written communication skills
Ability to work independently as well as within a development team
Ability to understand complex business and technical requirements
Strong commitment to software quality and maintainability
Ability to troubleshoot complex application issues
Ability to manage multiple development priorities
We are an equal opportunity employer committed to creating a diverse and inclusive workplace. Employment decisions are made without regard to race, color, religion, sex, national origin, age, disability, veteran status, or any other characteristic protected by applicable law.