Tuesday, June 30, 2015

Job Hunting in Germany

The author has started to look for a job as soon as he graduated in the end of January 2015. The job search started seriously in February and then became more aggressive from April 2015 until the middle of May 2015. This post summarizes the process of job hunting by the author. With pleasure, the author has ended this hunt recently. The rōnin has finally found a new master to serve.

 

Online Profile

As suggested by local peers, the author has set up his profile on the website XING.com, considered as the top network site in Germany, Austria, and Switzerland. It turned out to be positive, as the author has been approached by recruiters per e-mails and telephones. Apart from that, other websites have also been used, namely StepStone.de, MONSTER.de, and access.de. The author strongly  advises readers to avoid their facebook profiles from being accessible to prospective employers.

 

Resumé / CV

The author has prepared 2-page CVs - in German and English. The 2 pages were due to the intention of being simple and direct / straight to the point, as these are common in Germany. One of the recruiters, hinted on how the author's resumé / CV can be improved. The recruiter suggested to add the summary of the 2 theses written by the author into the CV. Consequently the author added 2 more pages to each CV - 1 page of summary for each thesis. The following figures give an overview of the author's German CV.
Figure 1 - The author's CV, written in German.

Figure 2 - 2 summaries in the CV for the 2 theses by the writer.  

Results

The following figure sums up the job applications sent by the author.
Figure 3 - The numbers of sent job applications, rejections, and interviews experienced by the writer from February 2015 until middle of June 2015.

  Interviews

Prior to certain face-to-face interviews, there were phone interviews. Regardless of the type of an interview, job hunters must do their homework ahead. The expected questions were - academic background, projects, earlier experience, thesis/dissertation, expected salary, etc.

If an interview is conducted far away from the residence of the job hunter, reimbursement for the travel expenses can be requested after the interview. Regarding the travel method, there were 2 times when the author had to switch to express bus, instead of long distance train. These were due to the strikes by Gewerkschaft Deutscher Lokomotivführer or GDL (trade union for German train crews).

The author went as far as to München / Munich for a job interview. There were also interviews in the cities Herzogenaurach (near Nürnberg / Nuremberg), Rüsselsheim, and Stuttgart. Finally the author has landed a job in Darmstadt, near to his former college.

 

Salary, Taxes, and Living Costs

This article by IngenieurKarriere.de can help engineering graduates to estimate an expected salary for entry level. On the other hand, several websites also provide assistance in calculating monthly income after taxes, e.g., Steuerklassen.com and Brutto Netto Rechner.

The main factor for the author to estimate an expected salary is the total of living costs per month. This consists of:

  • rent and utilities,
  • broadcasting services tax,
  • cellphone bill,
  • laundry,
  • commute/train ticket, and
  • workdays' expenses.
 Save before spending. Spend what is left after saving.
[Credits to Warren Buffett]

Apart from that, savings money for general purposes and investments is also crucial.

 

Conclusion

It has been very adventurous and challenging in finding a job in Germany. Foreign job hunters are advised to sharpen and refresh their German language skill, which will be definitely advantageous during any interview. The author looks forward to share this experience with other Malaysian students, probably in a formal presentation session or talk.

Tuesday, February 3, 2015

3D Point Cloud Processing with PCL

"What's better than 2D?"

Three dimensional (3D) point cloud can be understood as a set of points in the Euclidean coordinate system, with every point has X-, Y-, and Z-coordinates. Combined with the corresponding normal vectors or normals, this set forms oriented points - providing 6 degrees of freedom (DOF). This article aims to briefly introduce readers to the 3D point cloud processing with an open source library called Point Cloud Library (PCL). Two examples of using PCL are given and visualized.





A 3D point cloud can be acquired using range sensors such as Microsoft Kinect, ASUS Xtion, or laser scanners. These devices apply either triangulation or time-of-flight (TOF). Apart from that, using the autofocus system on conventional industrial cameras can also deliver 3D point clouds.

To process and visualize 3D point clouds, PCL offers various modules, e.g., filtering, segmentation, I/O, data structures, and visualization. The author has been tasked to implement several of these features in the open source application for image processing called MILAN. The implementations are available within one particular plug-in of MILAN. The following images are examples of using MILAN with PCL.

Figure 1 - The features of PCL in MILAN are accessible via a toolbox docked to the right side as seen above. This is also where the Kinect sensor can be used and controlled.

Figure 2: PCL Downsampling Filter, to reduce the size of an input cloud (left - 63792 vertices) to an output (right - 20462 vertices).
Figure 3: PCL Euclidean Cluster Segmentation, to segmentize spatially isolated point clouds.

Before using MILAN, the author has used the PCL tutorials and implemented them in separate Microsoft Visual Studio (MSVS) 2008 projects. The Service Packet 1 (SP 1) of this IDE needs to be installed, otherwise the developers can only code in Release mode.

Another alternative to MSVS is the Qt Creator. The author has covered this in one post on the app FingKinector 2.0. It was developed with Qt 4 along OpenCV 2.4.5. Without writing any .PRO file for the Qt project, the author used a CMakeLists.txt entirely to build this Qt project.