Join a team looking to transform the future of education

Who is KEEP

KEEP is a small team striving to see a world where educators and learners are empowered with impactful resources and innovative technologies for lifelong education. We believe that if you help one teacher who helps hundreds of students, you can impact the next generation of world leaders in our society. That’s why when KEEP started back in 2014, we simply wanted to build a platform that would enable access to educational resources, data, analytics, courseware, and tools to a global community.

What’s it like to work at KEEP?

While we’re officially a university research project, rooted in research, data, and time-tested processes, we also operate as an energetic team, with all hands on deck, working together in flexible roles which make this an enjoyable place to work. We’re not here to just “get work done”, but to make an impact and want to have fun while doing it. We still take what we do seriously, and we’re always looking for the best talent and the most effective processes like Agile methodology, to help us get to the next level.

How do I apply?

If KEEP sounds interesting to you, first sign up for an account and take a look around at our products. Look through the available positions below, then send your CV and cover letter to careers@keep.edu.hk. Please include the following in your cover letter.

  • Name, contact information, and a little bit about yourself
  • Earliest availability date
  • Expected salary
  • Any previous related work experience samples
  • Why you want to join KEEP
  • How you heard about KEEP

If you know someone who sounds like a great fit for the team, share this page with them!


Job Openings


1. Analyst Programmer(s)

The appointee(s) will be involved in using the latest software development methodologies to develop the core products that make KEEP relevant, as well as be able to work on an innovative product called VeriGuide, a plagiarism detection system. Front-end and server-side experience is important to improving the user experience and system scalability.

Applicants should have (i) a Bachelor’s degree or above in Computer Science, Software Engineering, Information Technology or related disciplines; (ii) good analytical, organisational and communication skills, and creativity; (iii) a good command of Ruby on Rails, Java, C/C++, Python, SQL, Web programming, CSS, Shell Scripts, PHP or other programming languages; (iv) good skills in various operating system environments, including Windows, Linux, Mac OS X, etc.; (v) the ability to work independently and in a team environment; (vi) the ability to handle multiple tasks, including dealing with system users; and (vii) at least 3 years’ work experience in software engineering .  Possession of information technology-related professional accreditations (such as SCJP, OCP, MCP, etc.) is preferred.  Knowledge of the following areas is preferred: (1) cloud computing; (2) search engine; (3) open-source software development; (4) web programming; and (5) text analysis and natural language processing.  Fresh graduates are also encouraged to apply, as long as the candidate is motivated to learn in a dynamic environment.

The appointment will be made on a 2-year contract with contract-end gratuity, renewable subject to good performance and mutual agreement.

Application Procedure

Please submit your application online via the CUHK website: 

N/A

CUHK Job Opening Information

Requisition Title: Computer Technician II(s) (carrying the title of 'Analyst Programmer')
Job Field:
 Executive, Clerical, Secretarial, Technical and Junior Posts
Department/Unit:
 Department of Computer Science and Engineering
Unposting Date: N/A


2. eLearning Platform Programmer(s)

The appointee(s) will be involved in using the latest software development methodologies to develop online courseware platforms and managing learning management platforms (such as Moodle, Canvas, Blackboard, etc.) while providing technical knowledge to real teachers and users. 

Applicants should have (i) a Bachelor’s degree or above in Computer Science, Software Engineering, Information Technology or related disciplines; (ii) good analytical, organisational and communication skills, and creativity; (iii) the ability to maintain, manage, customise, and develop current and new learning management systems using PHP, Python, and other languages; (iv) a good command of Java, C/C++, Python, SQL, Ruby on Rails, Web programming, CSS, Shell Scripts, PHP or other programming languages; (v) good skills in various operating system environments, including Windows, Linux, Mac OS X, etc.; (vi) the ability to work independently and in a team environment; (vii) the ability to handle multiple tasks, including dealing with system users; and (viii) at least 2 to 3 years’ work experience in software engineering.  Possession of information technology-related professional accreditations (such as SCJP, OCP, MCP, etc.) is preferred. Knowledge of the following areas is preferred: (1) cloud computing; (2) search engine; (3) open-source software development; (4) web programming; and (5) text analysis and natural language processing.

The appointment will be made on a 2-year contract with contract-end gratuity, renewable subject to good performance and mutual agreement.

Application Procedure

Please submit your application online via the CUHK website: 

N/A

CUHK Job Opening Information

Requisition Title: Assistant Computer Officer(s) (carrying the job title of ‘eLearning Platform Programmer’)
Job Field:
 Executive, Clerical, Secretarial, Technical and Junior Posts
Department/Unit:
 Department of Computer Science and Engineering
Unposting Date: N/A


3. Front-end Developer(s)

The appointee(s) will be involved in using the latest software development methodologies to develop the core products that make KEEP relevant, as well as be able to work on an innovative product called VeriGuide, a plagiarism detection system. Front-end experience is important to improving the user experience and system scalability.

Applicants should have (i) a Bachelor’s or Master’s degree or above in Computer Science, Software Engineering, Information Technology or related disciplines; (ii) good analytical, organisational and communication skills, and creativity; (iii) a good command of Python, SQL, Web programming, CSS, Shell Scripts, PHP or other programming languages; (iv) good skills in various operating system environments, including Windows, Linux, Mac OS X, etc.; (v) the ability to work independently and in a team environment; (vi) the ability to handle multiple tasks, including dealing with system users; and (vii) at least 1 year’s work experience in software engineering. Knowledge of open-source software development and web programming is preferred.  Fresh graduates are also encouraged to apply, as long as the candidate is motivated to learn in a dynamic environment.

The appointment will be made on a 2-year contract with contract-end gratuity, renewable subject to good performance and mutual agreement.

Application Procedure

Please submit your application online via the CUHK website: 

N/A

CUHK Job Opening Information

Requisition Title: Assistant Computer Officer(s) (carrying the title of 'Front-end Developer')
Job Field:
 Executive, Clerical, Secretarial, Technical and Junior Posts
Department/Unit:
 Department of Computer Science and Engineering
Unposting Date: N/A


4. Ruby on Rails Developer(s)

The appointee(s) will work with a team in an environment similar to that of a start-up, where creativity and critical thinking are encouraged.  Proficiency in both front- and back-end is encouraged, especially Ruby on Rails.

Applicants should have (i) a Bachelor’s degree or above in Computer Science, Software Engineering, Information Technology or related disciplines; (ii) good analytical, organisational and communication skills, and creativity; (iii) a good command of Ruby on Rails, Web programming and CSS frameworks; (iv) good skills in various operating system environments, including Windows, Linux, Mac OS X, etc.; (v) the ability to work independently in a start-up team environment, and a high willingness to learn; and (vi) at least 1 year’s work experience in software engineering.  Knowledge of other programming languages will be advantageous.  Fresh graduates are also encouraged to apply, as long as the candidates are motivated to learn in a dynamic environment.

The appointment will be made on a 2-year contract with contract-end gratuity, renewable subject to good performance and mutual agreement.

Application Procedure

Please submit your application online via the CUHK website: 

N/A

CUHK Job Opening Information

Requisition Title: Assistant Computer Officer(s) (carrying the title of 'Ruby on Rails Developer')
Job Field:
 Executive, Clerical, Secretarial, Technical and Junior Posts
Department/Unit:
 Department of Computer Science and Engineering
Unposting Date: N/A