David Cervi
** ******** ****, ***********, ****** 15, Ireland.
Date of Birth: 27/09/1990
Telephone: 01 - 8203741
Mobile: +353*********
Email: **************@*****.***
Nationality: Irish
LinkedIn: http://www.linkedin.com/pub/david-cervi/41/477/a52
EDUCATION:
2009 - 2013: BSc, Computer Science and Software Engineering, 1st Class Honours.
National University of Ireland, Maynooth, Co. Kildare, Ireland.
Results: Year 1: 691/1000
Year 2: 731/1000
Year 3: 634/1000
Year 4: 715/1000
(See Appendix for Details)
EMPLOYMENT:
Aug 2013 – Present: Java/JEE Development Engineer.
BAE Systems Detica, Parnell Street, Dublin 1, Ireland.
• Currently developing software for Detica’s NetReveal product. Detica
NetReveal provides risk, fraud and compliance solutions to financial
services and government clients across the globe.
• Java EE backend development to build complex, multithreaded and high
performance solutions.
• Work with QA teams to fix any issues that arise in the development cycle.
• Experience using EJB, Spring, Hibernate, JBoss and Oracle database.
• Developing in both Linux and Windows environments.
Jan 2012 - Aug 2012: Sofware Engineer Intern.
Waratek Ltd, Harcourt Street, Dublin 2, Ireland.
• Developed software in a Linux (Fedora) environment for Waratek’s Cloud
VM for Java, a custom JVM that enables multi-tenancy and provides
cloud like services for java applications.
• C++ code cleanup and writing Python scripts to interact with the Redmine
bug tracking tool and the company’s databases.
• Load and benchmark testing using Java and Python, experience with build
systems Ant and Maven and the version control system Mercurial.
July 2011 – Jan 2012: Bartender.
Brasserie 15 Restaurant, Castleknock, Dublin 15, Ireland.
• Prepared and served beverages to customers in both the bar and the
restaurant.
• Collected payments and operate a cash register.
• Ordered supplies from outside vendors and monitor and maintain an
inventory of supplies.
INTERESTS:
• Sport is one of my main interests and passions in life. I play tennis at a high level
and have represented Leinster on numerous occasions.
• I love meeting new people and experiencing foreign cultures.
• I have a passion for technology and music.
PERSONAL DEVELOPMENT:
I have strong Java, C and C++ programming skills and I possess a solid background in
Object-Oriented analysis and design. I am very good at various software design patterns
and I have used the UML modelling language extensively.
I am currently getting a lot of experience with low-level programming in embedded
devices by programming the AVR Atmega128rfa1 using C as part of my final year
project.
I also have a big personal interest in the inner workings of virtual machines, this interest
was stimulated during my time working as an intern in Waratek.
As part of my final year project I worked with a resource-aware implementation of the
JVM, called NanoVM, so I got a lot of experience of understanding and manipulating
Java byte code instructions.
I am currently working as a software developer as part of BAE Systems Detica’s core
product engineering team. My role involves developing fast, multithreaded and highly
scalable solutions for Detica’s NetReveal product. I am developing mainly in Java and
also using Spring, Hibernate, JBoss and Oracle.
PROFESSIONAL STRENGTHS:
• Possess excellent verbal and written communication skills.
• Quick learner and have an ability to work under pressure.
• Have good management and organizational skills.
• Have an ability to work in a team and under pressure.
• Excellent problem solver.
PROJECT WORK:
Final Year Project:
Project Title: Wireless Sensor Networks – Java Support
https://docs.google.com/file/d/0B7vTnfUcf0qnNU1ZQ2pKbDVnNVE/edit?pli=1#!
Description: My final year project involves adding java support to WSN’s
by porting the NanoVM (a resource-aware implementation of
the Java Virtual Machine) to the AVR Atmega128rfa1 microcontroller, under
the supervision of Dr.Stephen Brown.
The first part of this project involved compiling and running the NanoVM on the
Atmega128rfa1 device with serial I/O support. This involved manipulating and
understanding the makefiles and source code of the NanoVM(C code), using
AVR studio.
The second part entails carrying out performance tests running C code directly on
device, versus running java programs on the NanoVM, which runs on the device.
I am currently in this phase, and I am finding that the C code is running much
faster than the Java code. This is expected, as the NanoVM only contains a
simple interpreter, compared to the JIT compilers that most commercial JVM’s
use nowadays (Oracle Hotspot etc).
The third part of this project will involve adding wireless support to the NanoVM
running on the atmega128rfa1. This will involve writing both Java and C code,
and also will require the use of the Java Native Interface.
The final part of the project was to improve the performance of the NanoVM, by
using a variety of different techniques to improve the speed of the NanoVM
interpreter.
A link to my thesis for this project is given above.
Second Year Team Project:
Project Title: A video website for an Irish Digital Archive project.
Description: As part of the Web Information Processing module I took in 2nd
Year, I participated in team projects that involved building various different
websites for third party clients. My team was chosen to build a website for an
Irish Digital Archive initiative that was set up by one of the lecturers in our
Computer Science department.
We developed a video website (like YouTube) that enabled users to upload, share
and view Irish videos.
My role during the project mainly focused on developing most of the back-end
functionality of the website, so I spent a lot of my time coding in PHP and
JavaScript. I also wrote the majority of the PHP code that interacted with the
MySQL database, so I became very familiar with MySQL. I also learned how to
work effectively as part of a team.
IT SKILLS:
Operating Systems: Linux ( Fedora, Ubuntu), Microsoft Windows (Vista, Windows 7).
Programming Languages:
Imperative - Java, C, C++.
Functional - Scheme.
Scripting - PHP, Python.
Databases - MySQL, PostgreSQL, Oracle.
Low Level- Java Byte code.
Programming Tools: Eclipse, Microsoft Visual Studio, Code::Blocks, AVR Studio
Middleware: Apache Tomcat, JBoss
Build Systems: Apache Ant, Maven, and Make.
Version Control Systems : Mercurial, Subversion.
References: Mr Vincent Liu, Dr Stephen Brown,
Chief Technical Architect, Senior Lecturer,
Waratek, NUI Maynooth,
Harcourt St, Dublin 2. Maynooth.
+353-*-***-****) *******.*****@**.****.**
APPENDIX
Fourth year results (Maximum marks obtainable 1000)
Module Grade
Theory Of Computation 890
Computation & Complexity 860
Machine Learning & Neural Networks 810
Parallel & Distributed Systems 650
Cryptography 460
Numerical Computation 650
Programming languages Design & Semantics 580
Spatial Databases 580
Advanced Concepts & Issues in Comp Science 660
Final Year Project 810
Third year results (Maximum marks obtainable 1000)
Module Grade
Empirical Software Engineering with R 660
Software Design with C++ 850
Programming languages & compilers 510
Computer Networks 590
Software Verification 510
Second year results (Maximum marks obtainable 1000)
Module Grade
Discrete Structures 880
Algorithms & Data Structures in Java 1 790
Computer Architecture 1 730
Databases 790
Software Testing 800
Calculus 3 690
Algorithms & Data Structures in Java 2 790
Web Information Processing 620
Linear Algebra 2 400
Software Engineering & Software Process 800
Operating Systems 830
Computer Architecture 2 650
First year results (Maximum marks obtainable 1000)
Subjects Grade
Mathematics 655
Computer Science 691
Mathematical Physics 545
Biology 425