Technical Skills:

  • Java EE (required)
  • NetBeans / Eclipse or similar IDE (required)
  • Java web framework
  • HTML and CSS knowledge
  • Node.js (Optional)
  • SOLID Design Principles (Practical experience)
  • Practical knowledge of a few Designs Patterns
  • Database skills – MySQL / SQL Server / Oracle
  • Knowledge on Hibernate
  • Service-oriented architecture (basic)
  • Domain Driven Design (basic)
  • Agile and Scaled Agile Framework (basic)
  • Kanban and Scrum (basic)


  • C#, Delphi, PHP or other language
  • Source Control (SVN, TFS, Bitbucket).
  • Project Management / Bug Tracking – e.g. Jira

Duties and Responsibilities:

Build and Support Applications in a Technically Exciting and Challenging Industry

  • Engage with Cutting-Edge Technologies: Stay updated with the latest trends and technologies in the industry and integrate these innovations into application development.
  • Understand Industry-Specific Requirements: Grasp the unique challenges and needs of the industry you’re working in, whether it’s finance, healthcare, e-commerce, or another field, and tailor your solutions accordingly.
  • Deliver High-Performance Solutions: Focus on creating applications that meet stringent performance and reliability standards, often required in high-demand sectors.
  • Problem Solving: Identify and resolve complex technical issues and challenges quickly, often in a high-pressure environment.
  • Collaboration and Communication: Work closely with cross-functional teams, including business analysts, product managers, and other developers, to understand and address industry-specific challenges.

Design, Develop, Test, Document, and Support Applications Written in Java EE


  • Architect Scalable Solutions: Develop application architectures that can handle large-scale operations, ensuring scalability and flexibility.
  • Component Design: Create modular and reusable components that can be easily integrated and maintained.
  • User-Centric Design: Ensure the user interface (UI) and user experience (UX) are designed to meet the end-users needs and expectations.
  • Security Considerations: Incorporate best practices into the design to protect against threats and vulnerabilities.
  • Technical Documentation: Produce detailed design documentation that outlines system architecture, data models, and technical specifications.


  • Java EE Development: Write clean, efficient, and maintainable code using Java Enterprise Edition (Java EE) standards and frameworks.
  • Integration: Develop APIs and integrate with third-party services and systems, ensuring seamless communication between software components.
  • Database Interaction: Design and implement robust database interactions, using Java EE technologies such as JPA (Java Persistence API) for data access and manipulation.
  • Code Reviews: Participate in peer code reviews to ensure high code quality and adherence to best practices and standards.


  • Unit Testing: Write and execute unit tests to validate individual components of the application.
  • Integration Testing: Use integration tests to ensure that different modules and services interact correctly.
  • Automated Testing: Implement automated testing frameworks to streamline the testing process and ensure continuous integration and delivery.
  • Bug Fixing: Identify, troubleshoot, and fix bugs and issues in the code, improving the application’s stability and reliability.


  • User Documentation: Create comprehensive documentation for end-users, detailing how to use the application effectively.
  • Technical Documentation: Maintain detailed technical documentation for developers and system administrators, including installation guides, troubleshooting tips, and API references.
  • Code Documentation: Write clear comments and documentation within the code to explain complex logic and workflows.
  • Version Control: Keep a well-documented version history of the codebase to track changes and facilitate collaboration.


  • Application Maintenance: Provide ongoing support and maintenance for the application, ensuring it remains functional and up-to-date.
  • Troubleshooting: Quickly diagnose and resolve issues reported by users or detected by monitoring systems.
  • Performance Monitoring: Continuously monitor the application’s performance and make improvements as needed.
  • Customer Support: Assist customers and end-users with their queries and issues, providing timely and effective solutions.
  • Upgrades and Enhancements: Plan and implement application upgrades and new features to keep the software competitive and aligned with business needs.

Skills and Competencies Required:

  • Proficiency in Java EE: Deep understanding of Java EE architecture, components, and frameworks such as EJB, JSP, Servlets, and JPA.
  • Knowledge of Industry Trends: Awareness of the latest developments and challenges in the specific industry.
  • Software Development Lifecycle: Familiarity with all phases of the software development lifecycle, from planning and design to deployment and maintenance.
  • Problem-Solving Skills: Ability to quickly and effectively troubleshoot and resolve technical issues.
  • Communication and Teamwork: Strong ability to communicate and collaborate with various stakeholders and team members.
  • Attention to Detail: A keen eye for detail in both coding and documentation to ensure high-quality deliverables.
  • Adaptability: Flexibility to adapt to new technologies, processes, and project requirements.
  • Time Management: Efficiently manage time to meet project deadlines and balance multiple tasks simultaneously.

Minimum Requirements:

Educational Requirements:

  • Bachelor’s Degree or Diploma in Information Technology, Computer Science, or a related field.
  • Equivalent work experience will also be considered.

Experience Requirements:

  • A minimum of 5 years of experience as a Software Developer.

Desired Skills:

  • JavaEE
  • Java
  • Full Stack

Learn more/Apply for this position