TechSeed Lanka logo
6
applicants

Java Swing Desktop Application Developer

TechSeed Lanka    Colombo • Full-time

Job Description

TechSeed Lanka (Pvt) Ltd | Full-time | Remote 

About us

TechSeed Lanka is a small software company building ERP and custom applications for medium to enterprise-level companies. Several of our clients run on mature Java desktop systems that we built and continue to support. We’re a small team, so every person carries real responsibility, and every piece of work has a visible impact on our clients and on the company.

About the role

We’re looking for a Java desktop developer to maintain, improve and extend our legacy Java Swing applications. You will fix bugs, add features, improve performance and memory usage, and keep these systems stable for the clients who depend on them every day. You will be accountable for the quality and timely delivery of your own work.

Key responsibilities

  • Maintain and enhance existing Java Swing desktop applications.
  • Diagnose and fix bugs in legacy code, including code written by other developers.
  • Profile and optimise memory usage and performance (memory leaks, heavy forms, slow queries, large data loading).
  • Design, write and tune MySQL queries, stored procedures and indexes.
  • Design and modify reports using JasperReports (iReport / Jaspersoft Studio).
  • Implement new modules and client change requests based on written requirements.
  • Test your own work before release and support UAT with the project coordinator.
  • Document changes and use version control (Git) to track them.
  • Give daily progress updates and take part in stand-ups.

Requirements

  • Strong core Java (OOP, collections, exception handling, multithreading, generics).
  • Hands-on experience building Java Swing / AWT desktop applications (JTable, custom renderers and models, layout managers, event handling, SwingWorker, look-and-feel customisation).
  • Experience with NetBeans IDE, including the GUI builder (Matisse).
  • Solid MySQL skills: joins, subqueries, indexing, transactions, stored procedures, query optimisation.
  • Experience with JDBC and database connection management (connection pooling, resource cleanup).
  • Experience creating and customising JasperReports (sub-reports, parameters, charts, export to PDF/Excel).
  • Understanding of memory management in Java: garbage collection, heap and stack, memory leaks, and the ability to use profiling tools (VisualVM, NetBeans Profiler, JConsole or similar).
  • Ability to read, understand and safely modify legacy code with limited documentation.
  • Experience with Git or other version control.
  • Good problem-solving, debugging and attention to detail.
  • Clear written English and the discipline to report progress daily while working remotely.

Advantages

  • Experience with Maven or Ant builds and packaging desktop apps (JAR, installers, launch4j or similar)
  • Experience with design patterns (MVC, DAO, Singleton) and clean code practices
  • Knowledge of Hibernate/JPA, Swing libraries such as JGoodies, MigLayout or FlatLaf
  • Familiarity with REST APIs, JSON, & migrating desktop modules to web
  • Experience with multithreading and concurrency in desktop apps, and with SQL optimisation on large datasets
  • Experience in HRM, payroll, inventory or accounting systems
  • Basic knowledge of Linux, Windows deployment and network environments

Freshers

Freshers are welcome to apply, but you must have real experience building Java Swing desktop applications, through academic projects, internships, freelance work or personal projects. Please show us what you’ve built.

Working arrangement

  • Remote, with in-person team meetings every two weeks.
  • Candidates living within a comfortable travel distance of Colombo are preferred.
  • Daily stand-ups, weekly reports and regular check-ins are part of how we work.

Terms

  • Salary: LKR 30,000 - 150,000 per month, depending on experience
  • 1-year minimum service agreement signed at joining
  • Other benefits: EPF/ETF, performance bonus, paid leave, learning budget

Apply with

  1. Your updated CV
  2. An updated portfolio: GitHub profile, project links, screenshots or a short demo video of the desktop applications you’ve built (Swing projects especially)
  3. Your preferred monthly salary

Applications without a portfolio or salary expectation will not be considered. Shortlisted candidates will receive a short technical assessment and interview.
Applications close on 20th November 2026.