Computer Science Apprenticeship Program An-Najah National University

You are here

Mentoring

Mentoring in CAP program

With the help of our industry club members, we have recently designed & delivered a ‎completely new and innovative program to teach software engineering and artificial ‎intelligence to CAP students at An-Najah University. During the program, students will complete ‎‎10 industry-based courses where they will work in small teams of 3 to 5 over a 16 week period ‎with the support of a professional software engineer, or expert from industry who mentors and ‎coaches their work.‎

As part of the courses, students will be using a standard industry toolchain of Eclipse, ‎TensorFlow, python, Git (GitLab), JUnit, Mockito, Apache Ant, Jenkins, Gerrit and SonarQube to ‎build automation, test automation, issue tracking, version control and code quality. These ‎courses have been designed specifically to prepare students for the realities of modern ‎software developments projects

CAP mentors have contributed to the industrial relevance of the courses by giving them access ‎to an industry professional who can discuss with them, amongst other things:‎

  • The range of career options available to graduates with particular flavors of Computer ‎Science degrees.‎
  • The realities of being a software engineer in today’s industry.‎
  • The skills and knowledge needed to compete effectively in the current job market and to ‎succeed in the future.‎
  • Typical tools and techniques used by software teams.‎
  • Specific technical insight, on questions like what makes a good test, and what makes a ‎good commit message.‎

Mentors primarily interact with their teams face-to-face on campus one or two sessions; other ‎alternative forms of communication are also possible. We ask mentors to meet with their ‎teams twice in one semester, with an optional third encounter at the end-of-semester ‎assessment showcase.‎

  • Arrange a face-to-face meeting with their teams at a mutually convenient time and place.‎
  • Arrange to hold online meetings with their teams.‎
  • Arrange for a colleague from their organisation to meet with their teams in their workplace.

Mentoring will be beneficial to employers in several ways, including advertising their company, ‎building relationships with students, and most importantly improving the quality of the entire ‎cohort by helping to embed good software practices early on. It can be beneficial to junior ‎developers to put mentoring on the CVs as it demonstrates continuing professional ‎development (CPD), that allows mentors to progress in their own careers.‎

An optional showcase session at the end of the semester will provide an opportunity for ‎mentors to assess all the teams presenting (other than their own mentees), which will provide ‎contact for employers with a wider group of students for recruitment.

We will ask our students to take the initiative in asking questions and posing topics for ‎discussion, and will give them guidance in preparing to get the most out of their mentor’s time. ‎But we’ll also give mentors a “crib sheet” detailing issues that the students are currently facing, ‎just in case a mentor has to deal with a particularly shy team.‎

Mentors can discuss their own personal experiences in the software industry, as well as giving ‎career advice and help in preparing for job applications and the recruitment process. They can ‎describe the toolsets in use in their own and other organizations, and the skills needed of a ‎good software engineer. They can talk about different software processes and dealing with ‎team working challenges.

We ask that mentors not to make any attempt to help students directly with their assessed ‎coursework, for this or any other course unit.‎

It would naturally lead to an unfairness in the assessment process if some teams receive direct ‎help from an experienced and talented industry professional while other teams do not. More ‎importantly even than that, we want our students to become independent problem solvers, who ‎are not fazed by a seemingly difficult challenge.‎

Mentors can help students by suggesting how they might go about looking for a solution if they ‎were working in a real team, rather than by giving answers directly.

We know from our experience with many organizations that they are prepared to be very ‎generous with their time, and would be willing to engage with their student teams in between ‎the meetings outlined above. This contact could be by e-mail, slack, gitlab or by Skype, for ‎example, or even by inviting the team to visit your organization.‎

We’ll be very grateful for any additional contact mentors propose to have with their mentees, ‎and will facilitate these kinds of interactions where we can. However, we won’t expect this level ‎of contribution from all mentors, and will make sure that our students know not to hassle ‎mentors in an irritating and unsolicited way.

To prepare mentors for the scheme, a short mentor guide is available. If you were not able to ‎attend one of the mentor orientation sessions face to face, the slides are available which give ‎more background to the general aims of the mentoring scheme ‎.


How to sign up

If you'd like to get involved in mentoring and haven't already been invited, please contact ‎[email protected]