Professional teaching with Passerelles Numériques Vietnam

For the last two weeks, Linagora Vietnam and OpenPaaS staff organized a hackaton in Passerelles Numériques Vietnam.

Passerelles Numériques is a french NGO (Non Governemental Organisation) which focus on teaching underprivileged students about IT. They take care of them from program interviews until they got a job, and have good employment rates. Most of the children they are working with could not have offered a college degree otherwise.

Action of Linagora in Da Nang

Linagora Vietnam organized a two weeks Java training centered on methodologies used in Linagora, by using and contributing to Linagora’s Free software. I manager eight students (Mai, Lai, Suu, Cuong, Phuc, Vi, am and Tuan) in four pair programming teams.

The work we did with students is centered around real code contributions. The code they write should end up being contributed to the project. And each pair programming team was working on a different ticket, to avoid duplicated work. Students:

 
 
 
 
 
 
 

 

A JIRA ticket on the Apache James server solved by Passerelles Numériques Vietnam students

  • Wrote test code for some untested mail processing logic
  • Proposed some new mail processing building blocks
  • Implemented interfacing allowing the use of Quotas on top of JPA
  • Challenged some Java8 code migration

To do this, we set up some common good practice we use on a daily base at Linagora.

Teaching Linagora methodology!

We used an adapted version of the SCRUM framework to organize the work of students. We got a planning each Monday, a review before leaving each Friday. We had a daily meeting, maintained a backlog, a board, and a burn-down chart.

 

 

Burn-down chart of second week. We finally met the objectives the last day.

Getting agreement in a company is something very important. We set up a review process using GitHub for them to get a maximum of feed-backs. So they learned about GitHub and used the Git command line, opened pull request. We ensured to give the comments allowing them to improve the code quality of their contributions. We also encouraged them to read each other work.

Then we enforced the use of tests. We started writing JUNIT tests for untested parts of the James project. We showed them how to use tests to enforce specifications of what you expect your code to do. We showed them tests allow you safe refactoring and writing maintainable code.

That being done the first week, we presented some of the James team coding best practice. Most of them are listed in the excellent Clean code book: write test, single responsibility, limit the size of classes/methods, limit the number of parameters, prefer composition over inheritance. We also added some of our specific rules, mostly about java8.

Finally, we showed them the big picture. Showing them how their work integrates into the James server and in OpenPaaS. We were able to demonstrate them:

 

 

Thunderbird displaying quotas of a JPA stored mailbox

  • A rejected email because of too low quotas, a piece of logic they contributed to refactor. This was one from the OpenPaaS interface.
  • A IMAP server based on the work they contributed to write.

As a conclusion, I really was impressed by Passerelles Numériques students in Da Nang. They work well in group, are very motivated and learn fast! Working with them was a real pleasure. And I hope this partnership might help them in their future professional life.

Share: 

Press contact

Service Communication de Linagora
Tél : 08210 251 251
Contact us

About Linagora

LINAGORA is one of the leading Open Source Software company in the world. LINAGORA brings innovation, Open platform and digital independence to its customers. LINAGORA is well-known as e-gov specialist but works also with large private organizations.With software such as OBM, which is a collaborative messaging software, and LinShare, which is a secure file sharing software, and its Open Social Platform OpenPaaS, LINAGORA stands up to global software and "platforms" giants. This is one of the few non-US companies to offer an alternative to the proprietory solutions. Thus, with its software, LINAGORA supports nearly half of the French government and has already deployed its solutions in many other countries.LINAGORA has offices in France, Belgium, Canada, Vietnam and Tunisia and and sells its software and services around the world. LINAGORA is very active in emerging high-growth countries, particularly in Africa.LINAGORA is an Innovative SME with over 200 people internationally. The founders own 100% of capital. Founded in 2000, LINAGORA is today a French digital champion. As such, LINAGORA has received numerous awards and prizes, and is a proud supporter of the French Tech initiative in France but also in Africa, Vietnam and Canada.