1. I applied online, through the Job section on Linkedin.
2. After some time, I got to get a contact request, from the HR department.
3. The first call was a very friendly and straight forward discussion with the HR, setting the stage and going through the expectations from both sides.
4. Some days later, I had a one to one interview with the upper management, the discussion was a mixture of technical and non technical questions - very straight forward and to the point, more on technologies talk rather than questions about something specific
5. Then a new call from a senior engineer, a fully technical session - based on the work that you were expected to do and how competent you feel / are for this. Some digging of your github account occurs or you may have a request to hand some more proof of your work.
Unfortunately during the process I got to have 2 more offers, and due to time limitations - i did not go through the final stage to meet again with the upper management. In general I would say very positive comments, the interview is not an exam (like many others), the company is interested on making sure you have experience and understanding tech wise to do the job - and previous proof of work helps a lot. If I was not limited by time constraints - I would definitely go through the process.