Lab Instructor - Software Engineer
A lab instructor is sought to support students and faculty of the Computer Information Science division. The candidate will lead lab sessions and provide hands-on instruction in all areas of Software Engineering practice and mentor students through assignments or projects. The candidate will foster a positive and collaborative learning environment that ignites a passion for learning with students.
- Bachelor’s degree in Software Engineering, Information Technology, Computer Science, or a related field. An MSc degree is advantageous.
- Relevant certifications in software engineering or programming language / frameworks are desirable. (e.g., Certified Scrum Master, Certified Associate in Python Programming, etc)
Requirements:
Preference is given to candidates with at least 5 years of industry experience as a software engineer.
The range of expertise sought includes:
- Programming languages such as Java, C#, and Python.
- Web technologies such as HTML, CSS, JavaScript, and AJAX, along with libraries and frameworks like jQuery, Angular, React, and Vue.js.
- Server-side development tools and frameworks such as Node.js, Express.js, Spring Boot, and ASP.NET Core MVC.
- Relational databases (e.g., MySQL and Oracle) and NoSQL database management systems (e.g., MongoDB).
- Version control systems like Git
- Containerization technologies such as Docker.
- RESTful API development and consumption
- Cloud platforms like AWS, Azure, or Google Cloud.
- Continuous integration and deployment (CI/CD) pipelines
- Automated testing frameworks (e.g., Jest, Mocha, Selenium).
- Agile development methodologies, particularly Scrum
- Project management and collaboration tools such as Jira.
- Strong troubleshooting and problem-solving skills to address issues that arise during development or in the learning process.
- Strong verbal and written communication skills and a demonstrated competency to explain complex concepts clearly and concisely to students and ability to interact with people at all levels of an organization
- The ability to work well with others in a collaborative educational environment
- The ability to cope with pressure in a positive manner while working to deadlines within a busy and demanding environment
- A demonstrated willingness to engage in professional development activities in order to improve current skills and acquire new skills, and to adapt to the evolving needs of the organization
- Previous teaching assistant experience is beneficial
- Lead lab sessions where students practice programming concepts and software development / engineering principles, focusing on student’s acquisition of competencies by practical application of skills
- Provide one-on-one assistance to students during labs, ensuring comprehension of programming principles and troubleshooting code
- Monitor progress of student learning and support their continuous learning process by offering guidance and feedback
- Grade lab assignments and projects, provide constructive feedback, and assess students' progress.
- Work with other instructors to align lab work with lectures and overall course objectives.
- Keep up with the latest programming languages, frameworks, libraries, tools, best practices, and industry trends to ensure that the lab instruction is relevant.
- Ensure that all computers and software in the lab are up to date and functioning properly.
Key Skills
Ranked by relevance
Related Jobs
3 roles aligned with this opportunity
Senior Software Engineer
2026-05-24
Software Engineer/Developer
2026-05-21
AI Engineer
2026-05-23
- Posted
- Feb 26, 2025
- Type
- Full-time
- Level
- Entry
- Location
- Abu Dhabi Emirate
- Company
- Higher Colleges of Technology
Industries
Categories
Related Jobs
3 roles aligned with this opportunity
Senior Software Engineer
2026-05-24
Software Engineer/Developer
2026-05-21
AI Engineer
2026-05-23