Summary
OVA.Work is seeking an experienced Java Swing Developer to design, develop, enhance, and maintain desktop applications using Java and the Swing GUI framework. The role involves collaborating with various teams to build reliable, scalable, and user-friendly applications while ensuring high code quality and performance.
Responsibilities
- 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
Skills
- 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
Qualifications
Must Haves
- 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
Nice to Haves
- 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