Diego Castorina, Developer in Prague, Czech Republic
Diego is available for hire
Hire Diego

Diego Castorina

Verified Expert  in Engineering

Multithreading Developer

Prague, Czech Republic
Toptal Member Since
March 5, 2014

Originally from Italy, Diego spent several years working in The Netherlands before moving to Prague, in the Czech Republic. There he has been working as a senior freelance engineer in addition to working on his own company: a web-based CRM for small businesses.


MongoDB, Play Framework, AngularJS, Scala, JavaScript
Flow Traders
Jasmine, Mustache, Backbone.js, jQuery, JMS, EJB3, Apache Wicket, Hibernate...
Quartz, Apache CXF, Hibernate, Spring, ActiveMQ, Apache Wicket, Java




Preferred Environment

Git, Subversion (SVN), Eclipse, Ubuntu

The most amazing...

...project I have worked on was the implementation of a subset of the SIMPLE protocol based on official documents written by the IETF.

Work Experience


2013 - PRESENT
  • Built a web-based CRM for small and medium businesses.
  • Conducted business analysis: studied how CRM's enhance the sales process and how they are used.
  • Fully implemented the front-end using AngularJS, Twitter Bootstrap, and Yeoman.
  • Fully implemented the back-end using the Play Framework for Scala and persisting data on MongoDB.
  • Responsible for system administration on Linode VPS.
Technologies: MongoDB, Play Framework, AngularJS, Scala, JavaScript

Software Engineer

2010 - 2012
Flow Traders
  • Took full charge of the project's life-cycle by directly discussing requirements and scope with the client represented by traders, mid-office, and risk office.
  • Maintained legacy systems implemented using various technologies varying from Bash scripting to database stored-procedures, Perl scripts, Swing, and J2EE applications.
  • Introduced the usage of REST services in the company to facilitate the integration of different systems which are not involved in low-latency operations.
  • Responsible for the decision about which technology to use in order to standardize the development tools within the company.
  • Worked on real-time, multithreaded, distributed systems running in Amsterdam, New York, and Singapore.
  • Involved mostly in applications dealing with clearing and risk data which generate reports about intraday and end of day positions, reconciliation, limits and compliancy.
  • Was remote technical mentor for developers in the office in Cluj-Napoca, Romania.
  • Worked remotely for the office in Amsterdam for 8 months from Italy.
Technologies: Jasmine, Mustache, Backbone.js, jQuery, JMS, EJB3, Apache Wicket, Hibernate, Spring, JavaScript, Java

Web & Java Developer

2009 - 2010
  • Took care of the design and implementation of web applications for Dutch Educational institutions like Kennisnet, Malmberg, and Thieme Meulenhoff.
  • Used Agile Methodologies like Scrum and Test Driven Development.
  • Implemented load tests with the relative profiling and memory usage analysis.
  • Introduced the usage of the JMS technology to replace the old unstable setup.
  • Implemented an e-learning portal consisting of two web-applications. One for content providers and the other for students
Technologies: Quartz, Apache CXF, Hibernate, Spring, ActiveMQ, Apache Wicket, Java

Web & Java Developer

2008 - 2009
  • Maintained and implemented new functionalities for several projects for clients like Samsung, Goodyear, and Tita Tovenaar.
  • Worked in a multi-disciplinary environment including a design, a copyright, and an events department.
  • Single handedly re-implemented in 3 months a tracking system for Samsung previously implemented by 4 people over a 6 months period. Apart from fixing all bugs, the generation of reports was sped up from 20 minutes to 30 seconds.
  • Introduced the usage of the Grails framework within the company in order to accelerate development productivity.
  • Implemented T-SQL stored procedures for the generation of reports involving millions of records.
Technologies: Prototyping, jQuery, JDBC, Apache Struts, Hibernate, Grails, Groovy, JavaScript, Java

Java Developer

2006 - 2008
  • Worked on the Presence Service Enabler based on SIMPLE (SIP for Instant Messaging and Presence Leverage Extensions).
  • Implemented standards defined in RFC by the Internet Engineering Task Force, the same that defines TCP/IP, UDP, SNMP and many others.
  • Introduced the usage of the Spring Framework within the project and mentored the rest of the team about how to use it.
  • Implemented a library for the a real-time configuration, administration, and monitoring the distributed systems running on Bea Weblogic AS.
  • Implemented a web application for creating and configuring the profiles of the users of the systems.
Technologies: JavaServer Faces, JMX, Spring, Hibernate, JavaScript, Java

Java Developer

2006 - 2006
Dok Solutions
  • Single-handedly implemented IP Tetra, a system for making audio and video calls between two or more people.
  • Implemented server side running on Bea Weblogic and based on SIP Servlets.
  • Implemented Java Desktop client using Swing, the Java Media Framework, and JAIN SIP API.
  • Implemented PDA Client running on IBM j9 JVM.
  • Implemented a JNI library wrapping a C library to make calls from mobile devices.
Technologies: MySQL, BEA WebLogic Server, JNI, JavaScript MV* Framework, Swing, JDBC, SIP, C, Java


Ruby Gem for importing contacts from major email providers. It was mentioned by the popular podcast Ruby5: http://ruby5.envylabs.com/episodes/275-episode-271-may-11th-2012/stories/2421-omnicontacts

Work With Play

Blog discussing Scala web development using the Play Framework.

A Developer Life

My old blog about software development.

The Scala Jobs Board

A simple jobs board for Scala.


Java, JavaScript, Ruby, Scala, SQL, C, Groovy


Play Framework, Ruby on Rails (RoR), AngularJS, Apache Wicket, Spring MVC, Spring, Hibernate, Swing, JNI, JavaServer Faces, Grails, Apache Struts, Apache CXF, Jasmine, Apache Struts 2


Distributed Programming, Dependency Injection, Object-oriented Design (OOD), Functional Programming, Asynchronous Programming, JavaScript MV* Framework, Scrum


Multithreading, Data Analysis, SIP, BEA WebLogic Server, Prototyping, EJB3


Backbone.js, JMS, jQuery, Apache Lucene, JDBC, JMX, Quartz, Mustache


Subversion (SVN), Git, Eclipse IDE, ActiveMQ


Linux, Ubuntu, Eclipse


MongoDB, MySQL

2000 - 2006

Computer Science Degree in Computer Science

University of Catania - Catania, Italy