Java Developer in Prague, Czech Republic
Co-founder2013 - PRESENTSirecta
- 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.
Software Engineer2010 - 2012Flow 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.
Web & Java Developer2009 - 2010Func
Technologies: Java, Wicket, ActiveMQ, Spring, Hibernate, Apache CXF, Quartz
- 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
Web & Java Developer2008 - 2009Quince
- 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.
Java Developer2006 - 2008Italtel
- 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.
Java Developer2006 - 2006Dok Solutions
Technologies: Java, C, SIP Servlets, JDBC, Swing, Java Media Framework, JNI, Bea Weblogic, MySQL
- 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.
- OmniContacts (Development)https://github.com/Diego81/omnicontacts
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 (Other amazing things)
Blog discussing Scala web development using the Play Framework.
- A Developer Life (Other amazing things)
My old blog about software development.
- The Scala Jobs Board (Development)
A simple jobs board for Scala.
- Concurrency and Fault Tolerance Made Easy: An Akka Tutorial with Examples (Publication)Writing concurrent programs is hard. Having to deal with threads, locks, race conditions, and so on is highly error-prone and can lead to code that is difficult to read, test, and maintain. This post provides an introductory guide to the Scala-based Akka framework, showing (with code samples) how Akka facilitates and simplifies the implementation of robust, concurrent, fault-tolerant applications.
FrameworksPlay Framework, Ruby on Rails (RoR), AngularJS, Apache Wicket, Spring MVC, Spring, Hibernate, Apache Struts 2
ParadigmsDistributed Programming, Dependency Injection, Object-oriented Design (OOD), Functional Programming, Asynchronous Programming, Scrum
Libraries/APIsBackbone.js, JMS, jQuery, Apache Lucene
ToolsSubversion (SVN), Git, Eclipse IDE
- Computer Science degree in Computer Science2000 - 2006University of Catania - Catania, Italy