Sergey Mikhanov  

In my last pre-Apple position, as a CTO of Fountain Digital Labs, I was working on developing the infrastructure for our own video delivery and transcoding — all necessary to power our BAFTA-winning iPad app.

Previously I worked on Scalar², the application that aims to liberate calculations on touch devices from spreadsheet style, in a small independent development studio called Room. The application is now discontinued.

Earlier I worked on as an employee are the high-performance Java frameworks for telecom and financial services. The product I worked at Nomura facilitates high-frequency trading using FIX and different stock exchanges’ protocols; it routinely processes millions transactions a day with ultra-low latencies. At Kapsch, I have developed the telecom framework architecture and have overseen the development process in the team. This framework now serves millions of subscribers at Kapsch’s biggest customer, and the services implemented on top of it vary from mobile prepaid solutions to fully-fledged mobile VPN — all written in Java.

There are several things in this framework I am proud of as an engineer. It contains a robust asynchronous database layer built with JDBC and we were able to significantly reduce requests processing latency because of it. It runs on top of JAIN SLEE application server and gently hides the event-driven nature of this architecture from the service developer without forcing him to deal with the “callbacks hell”. It manages its memory consumption in a very efficient manner thanks to approaches from functional programming like ubiquitous immutability.

In parallel with developing this product I have consulted several integrators and mobile operators in different countries across the Europe including Switzerland, Spain, Hungary and Croatia. I have facilitated developer trainings in a number of companies including Atos Origin (there is a recommendation I have received after that.)

While working in protocols team in jNetX I have participated in the development of the company’s flagship product, N(x). My main focus was on the high-performance protocol endpoints for some of the N(x)’s resource adaptors. Working at jNetX showed a stark contrast with the typical Java development: instead of throwing together pieces of code in the application server, I have been developing the application server. Multithreading, UDP and TCP sockets, high-performance I/O with Java NIO, backed by the necessity to use some non-trivial algorithms (how about a B-tree?) were an interesting ride.

Before jNetX I did enterprise development. Among other things, I was responsible for very early versions of E-Style Mortgage (now known as eSTYLE Prequal Engine), a web-based workflow tool for the mortgage borrower prequalification. I think that, contrary to popular belief, enterprise development may be interesting if developer is fully responsible for the end product. Luckily, with the projects at that time this indeed was the case for me.

If you need a law firm training contract in the UK, you can give a try to My Training Contract, a firm run by my partner.