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. Senior Analyst Programmer / Java Developer

The appointee will be leading a technical team 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. Duties include (a) managing a technical team, developing less experienced members, and creating project plans, requirements and progress reports; (b) managing the software development process using both Agile and waterfall methodologies, and overseeing and developing system architecture; (c) generating test cases off of design documentation and wireframes, understanding patterns, trends and edge cases, and using cases in software; and (d) achieving quality assurance operational objectives by implementing production, productivity, quality and customer-service standards.
Applicants should have (i) a Bachelor’s/Master’s degree or above in Computer Science, Software Engineering, Information Technology or related disciplines; (ii) at least 4 to 5 years’ software engineering experience and 2 to 3 years’ managerial experience; (iii) a strong background in web development using JavaScript, jQuery, AJAX, Ruby on Rails, Python, SQL, CSS frameworks, Shell Scripts, PHP or other programming languages; and (iv) good skills in various operating system environments, including Windows, Linux, Mac OS X, etc. Front-end and server-side experience is important for improving the user experience and system scalability. 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.
Appointment will be made on a 1-year contract, renewable subject to good performance and mutual agreement
Application Procedure
Please submit your application online via the CUHK website:
https://cuhk.taleo.net/careersection/cu_career_non_teach/jobdetail.ftl?job=190000LA
CUHK Job Opening Information
Requisition Title: Assistant Computer Officer(s) (carrying the job title of ‘Senior Analyst Programmer / Java Developer’)
Job Field: Executive, Clerical, Secretarial, Technical and Junior Posts
Department/Unit: Department of Computer Science and Engineering
Unposting Date:  April 28, 2019


2. Senior Developer / Technical Manager / Team Lead

The appointee(s) will be leading a technical team 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. Duties include (a) managing a technical team, nurturing less experienced members, and preparing project plans, requirements and progress reports; (b) managing the software development process using both Agile and waterfall methodologies, and overseeing and the software developing system architecture; (c) generating test cases off of design documentation and wireframes, understanding patterns, trends and edge cases, and using cases in software; and (d) achieving quality assurance operational objectives by implementing production, productivity, quality and customer-service standards.
Applicants should have (i) a Bachelor’s degree or above in Computer Science, Software Engineering, Information Technology or related disciplines; (ii) at least 4 to 5 years' software engineering experience and 2 to 3 years' managerial experience; (iii) a strong background in web development using JavaScript, jQuery, AJAX, Ruby on Rails, Python, SQL, CSS frameworks, Shell Scripts, PHP or other programming languages; and (iv) good skills in various operating system environments, including Windows, Linux, Mac OS X, etc. Front-end and server-side experience is important for improving the user experience and system scalability. Possession of information technology-related professional accreditations (such as SCJP, OCP, MCP, etc.) is preferred. Knowledge of the following area is preferred:
(1) clouds computing; (2) search engine; (3) open-source software development; (4) web programming; and (5) text analysis and natural language processing.
Appointment will be made on a 1-year contract, renewable subject to good performance and mutual agreement.
Application Procedure
Please submit your application online via the CUHK website:
https://cuhk.taleo.net/careersection/cu_career_non_teach/jobdetail.ftl?job=190000OB
CUHK Job Opening Information
Requisition Title: Assistant Computer Officer(s) (carrying the title of 'Senior Developer / Technical Manager / Team Lead')
Job Field: Executive, Clerical, Secretarial, Technical and Junior Posts
Department/Unit: Department of Computer Science and Engineering
Unposting Date: May 4, 2019


3. IT Co-ordinator

The appointee will provide support to teachers and students of the IT Foundation Course, which is a compulsory course for about 3000 undergraduate students each year. As a member of the technical team, the appointee will be responsible for (a) working on web development, infrastructure design, data migration, workflow automation and troubleshooting; (b) developing and supporting the video portal, which is a web service maintained on a distributed infrastructure. He/she will have chances to gain experience on handling large-scale traffic in a distributed environment, explore new technologies and enhance services of the team. As an IT Co-ordinator, the appointee will also be responsible for (a) supporting and developing IT systems for the IT Foundation Course; (b) providing consultation services and teaching support for students, such as guiding undergraduate students on general IT skills through consultations and IT workshops; (c) providing IT support to office intranets; and (d) performing other departmental duties.

Applicants should have (i) a Bachelor’s degree in Computer Science, Computer/Information/System Engineering or a related technical field; (ii) experience in writing software in at least one programming language (e.g. PHP, JavaScript, Python, Java, Go or C/C++); (iii) good communication and problem-solving skills; and (iv) the willingness and patience to teach students. Knowledge of/Experience in the following areas is preferred: (1) Linux/Unix command line environment operation; (2) web technologies (e.g. PHP, Ajax, Node.js, MySQL, MongoDB, Redis, Apache and Nginx); (3) container technologies (e.g. Docker and Kubernetes); (4) scalable networking technologies (e.g. Load Balancers and Firewalls); (5) SCM (e.g. Git); (6) shell scripts (e.g. Bash); and (7) basic networking (e.g. TCP/IP).

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:

https://cuhk.taleo.net/careersection/cu_career_non_teach/jobdetail.ftl?job=190000NO

CUHK Job Opening Information

Requisition Title:  Computer Technician II(s) (carrying the title of ' IT Co-ordinator’)
Job Field: Executive, Clerical, Secretarial, Technical and Junior Posts
Department/Unit: Department of Computer Science and Engineering
Unposting Date: April 21, 2019


4.System Administrator & Developer

The appointee(s) will work on a cross-institutional project in developing an education cloud platform, which consists of various aspects like (1) cloud computing, e.g. IaaS, PaaS, and SaaS; (2) machine learning and Big Data analysis; (3) social networking; (4) multimedia processing; (5) resource sharing; and (6) information retrieval. Duties include (a) deploying, maintaining, installing and configuring large-scale computer systems, network equipment, SAN hardware and virtualisation on Windows or Linux platforms; (b) meeting supervisors, managers, and potential users to understand the requirements; (c) providing technical support to the project team, as well as project events, such as demonstrations and seminars; and (d) assisting in ad-hoc tasks and projects.
Applicants should have (i) a Bachelor’s degree or above in Computer Engineering, Systems Engineering, Computer Science, Information Technology, or related disciplines; (ii) good analytical, organisational and communication skills, and creativity; (iii) a good command of Java, C/C++, Python, SQL, web programming, CSS, Shell Scripts or other programming languages; (iv) experience in system infrastructure planning, administration and hardware maintenance; (v) experience in network performance, network security and storage systems (e.g. NAS, SAN, etc.); (vi) proficiency in managing various systems and platforms, including but not limited to Windows and Linux platforms; (vii) proficiency in web application servers (such as PHP, J2EE, and Apache) and database management systems (such as Oracle and MySQL); (viii) the ability to work independently and as a team member; and (ix) the ability to handle multiple tasks, including dealing with system users. At least 1 year’s related work experience, possession of system administration-related professional accreditations (such as MCSE, LPI/RHCE, etc.), and experience in Big Data and cloud computing platform setup and maintenance (such as MapReduce, Hadoop/OpenStack, etc.) are preferred.
Appointment will initially be made on a 1-year contract, renewable subject to good performance and mutual agreement.
Application Procedure
Please submit your application online via the CUHK Website: 

https://cuhk.taleo.net/careersection/cu_career_non_teach/jobdetail.ftl?job=190000NV
CUHK Job Opening Information
Requisition Title: Assistant Computer Officer(s) (System Administrator & Developer)
Job Field: Executive, Clerical, Secretarial, Technical and Junior Posts 
Department/Uint: Department of Computer Science and Engineering 
Unposting Date: May 4, 2019 


5. Machine Learning, Big Data, Artificial Intelligence, Neural Networks

The appointee(s) will be involved in (a) using the latest software development methodologies to develop the core products that make KEEP relevant; and (b) working on an innovative product called VeriGuide, a plagiarism detection system.
Applicants should have (i) a Bachelor’s degree or above in Computer Science, Software Engineering, Information Technology or related disciplines; (ii) at least 3 to 5 years’ prior development experience; (iii) good analytical, organisational, communication and interpersonal skills, and creativity; (iv) the ability to work independently, as a team member and on multiple projects; (v) a good command of back-end technologies, machine learning techniques, big data, and AI; and (vi) familiarity with various operating system environments, including Windows, Linux, Mac OS X, etc. Experience in Python, Ruby on Rails, PHP, Java, SQL, etc. will be advantageous. Fresh graduates are also welcome to apply, as long as the applicant is motivated to learn in a dynamic environment.
Appointment will initially be made on a 1-year contract, renewable subject to good performance and mutual agreement.
Application Procedure
Please submit your application online via the CUHK Website:

https://cuhk.taleo.net/careersection/cu_career_non_teach/jobdetail.ftl?job=190000NW
CUHK Job Opening Information
Requisition Title: Assistant Computer Officer(s) (Machine Learning, Big Data, Artificial Intelligence, Neural Networks)
Job Field: Executive, Clerical, Secretarial, Technical and Junior Posts
Department/Unit: Department of Computer Science and Engineering
Unposting Date: May 4, 2019


6. Research Assistant

Applicants should have (i) a Bachelor's degree or higher in Computer Science or a related field; (ii) proficiency in programming; (iii) knowledge in database and storage systems; and preferably (iv) experience in software projects.
The appointee(s) will be responsible for software development in the project "KEEP Learning for Life: Knowledge & Education Exchange Platform 2.0" during their contract period. This project is among the proposals selected by the University Grants Committee (UGC) as a part of the Funding Scheme for Teaching and Learning Related Proposals. The total project cost supported is HK$15,000,000 with 70% funding coming from the UGC and the rest to be matched by the institutions.
Appointment will be made on contract basis for one year, renewable subject to good performance and mutual agreement.
Application Procedure
Please submit your application online via the CUHK website:
https://cuhk.taleo.net/careersection/cu_career_non_teach/jobdetail.ftl?job=180001NC
CUHK Job Opening Information
Requisition Title:  Research Assistant(s) 
Job Field: Executive, Clerical, Secretarial, Technical and Junior Posts
Department/Unit: Department of Computer Science and Engineering
Unposting Date:  Ongoing


7. Research Assistant

The appointee(s) will be responsible for creating, sourcing, and writing content for KEEP's events, programs, report, and all other communications.
Applicants should (i) have a Bachelor's degree, fresh graduates are encouraged to apply; (ii) have the ability to do research and write original content pulled together from various sources; (ii) be able to work independently and have prior research and writing publication experience; (iv) have determination for projects that take several revisions; (v) have social perceptiveness to make their content relevant and modern, and understand how people will react to their writing; (vi) have proper writing skills to communicate with proper tone, feeling, sentence structure and emotion, including technical writing ability; (vii) have teamwork ability to brainstorm ideas with others and communicate different integrated responsibilities; (viii) be detail-oriented to catch small things like typos, grammar problems, printing errors; (ix) be willing to learn how to use different tools to disseminate content such as social media, script writing, report writing, interview recording, etc; and (x) have good English and Chinese communication (verbal & written) skills.
Application Procedure
Please submit your application online via the CUHK website:

https://cuhk.taleo.net/careersection/cu_career_non_teach/jobdetail.ftl?job=180000ZL
CUHK Job Opening Information
Requisition Title:  Research Assistant(s) 
Job Field: Executive, Clerical, Secretarial, Technical and Junior Posts
Department/Unit: Department of Computer Science and Engineering
Unposting Date:  Ongoing