Emanuele Pugliese - Java software engineer
Profile
I am a permanent employee of IT solutions company FDM Group.
I have an overall of two and half years' work experience working both as a Java/PHP developer at Motorola and as a freelance Web developer.
Very committed I enjoy working as part of a team as well as on my initiative, I am reliable and responsible, pleased to listen and understand others’ point of view and help a team work towards a common goal.
Graduate as an Electronic Engineer, I have moved into Web development and now I am chasing my ideal job of talented professional software engineer.I am a strong understanding of Object Oriented concepts as well as Design Patterns and best practice. My IT interests range across different technologies and frameworks such as Spring and ORM, GWT and Android Development, architectural design such as RESTful systems and Open Source software.
I also have a good knowledge of networking, web sites accessibility, HTML 5 and cross-browser issues. Organised and a quick learner I am always interested in enhancing and developing my knowledge.
Training
Java training course
FDM Training centre (course length: 11 weeks)
Module objectivesThe module covered the following topics:
- Java core
- Design patterns and best practices
- Writing Web Applications with JEE: Servlet, JSP, Tomcat, Java Security, JDBC, Connection pool
- Introduction to the Spring Framework: Spring IoC, Spring MVC, Spring Security
- JUnit Testing, Mocks, Log4j, Maven.
The project involved creating an on-line banking system Web application following the standard for enterprise project and applying the best practices of good object oriented design as defined by Robert C. Martin.
Test driven development has been applied throughout the development phases.
Three-tier architectureThe project was implemented using MVC design pattern to clearly decouple the three architectural levels.
The presentation tier was developed using: W3C accessibility guideline, Html 5 (and Javascript patches to solve some cross browser issue) and CSS1 and CSS2.
The middle tier uses Servlets and JSPs.
In the persistence tier the data is committed to an Oracle database using a JDBC connection Pool. DAO design pattern and generics are used in order to decouple the data source implementation from the business logic allowing the maximum flexibility of implementation.
SecurityThe application allows authorization based on two types of role: user roles and administrators’ roles. After navigating the welcome page all users are required to authenticate themselves to access the appropriate, protected area.
Initially, a Java security form-based authentication was used to protect different URL patterns within the application. In a later version of the project, Spring security has been used in order to secure both methods and URL patterns.
Other featuresThe application is a simple Multi-treading application where multiple users can have the same account number and different accounts can be assigned to the same user. To avoid simultaneous accesses to the same DAO, the application synchronizes the service methods.
Software Development Methodologies training course
FDM Training centre (course length: 1 week)
Module objectives:The module aims to introduce Software Development Topics. It covers the following topics:
- Traditional Development Methodologies: Waterfall, Spiral, Prototyping
- Agile Development Methodologies: Scrum, TDD, Extreme Programming, Pair Programming
- Object Oriented Concepts: Abstraction, Polymorphism, Encapsulation, Inheritance
- UML Modelling: Composition, Aggregation, Use Case, Sequence, State and Class Diagrams
- Creational, Behavioural and Structural Design Patterns
- Web Development: HTML, CSS, JavaScript.
Oracle training course
FDM Training centre (course length: 2 weeks)
Module objectivesThe module aims to introduce Oracle. It covers the following topics:
- Introduction to environment, connection to database, schemas, etc.
- Use of Oracle SQL Plus to write scripts
- Tables and column data types
- Creating, deleting and changing tables
- Advanced querying of a database, such as Inner query and Correlated sub-queries
- Join types, use of grouping and ordering in a query
- Oracle functions
- Privileges, views, transactions
- Indexes, constraints, triggers.
The project involves production of various reports for a given car rental scenario for a warehouse using an Oracle database containing data regarding its staff, clients, products and all the sales that have been made.
The requirements of the project were set across three phases and covered the following:
- Table creation and constraints
- Implementing a bash automated system to migrate the cars data from the spreadsheet into two tables, Cars and Rentals
- Cleansing of raw data by applying constraints
- Normalization of some table
- Complex querying including the use of Oracle functions and correlated sub-queries
- Use of Update statements with nested queries.
Unix training course
FDM Training centre (course length: 1 week)
Module objectiveThe module aims at introducing Unix and Bash Scripting. It covers the following topics:
- Unix main components, file system structure
- Shell commands:
- file system command: man, ls, rm, etc.
- file and directory permissions
- the “sort”, “grep”, “find” and “sed” command and the “awk” utility
- Use of the VI editor
- Shell operators and commands
- Bash scripting, variables, arithmetic operations, conditions, looping and functions.
The project involves creating a script that emulates an “Employee Appraisal System”, measuring employees against a set of metrics stored in a file.
Requirement specification includes:
- Validating user inputs, informing the user when invalid data has been entered
- Measuring employees against a set of metrics stored in a configuration file, along with the maximum possible score for each. Data validation has been carried out to insure the value is in the correct range
- The programme allowed the user to insert, update and delete records
- Various colours and formatting styles were used to make the output more user-friendly.
As well as the above points, a number of restrictions were added to the project specifying what could not be used in the scripts, these included SED, AWK and Arrays.
Soft Skills training course
FDM Training centre (course length: 1 week)
Module objectivesThe module aims at introducing the trainee to the following topics:
- Technical and Business Presentations Delivery
- Project Methodologies (Agile, Scrum)
- Effective Communication and Team Work Skills.
Java tuitions
Private tuitions (Feb 2010 – June 2010)
Subjects: UML, JUnit 4.6, Mocks, Logo4j, Design Patterns.
Project: A website application demonstrating the use of Object Orientated design principles including MVP and 4 layer architecture. Database connectivity has been implemented using JPA.
Employment
Java Consultant
June 2011 – present: FDM Group, London
- Java, Spring, Oracle and Sql trainings
- HTML, CSS, Web accessibility.
Web developer
May 2009 – Jun 2009: Eynsford college Ltd, London
- Translating client requirements into technical specification
- Web pages development using Joomla CMS
- XHTML 1.0 transitional markup and CSS style sheets have been used.
Administrator and IT Maintenance
Feb 2009: MG Eco Engineering Ltd, Italy
- Configured networks in order to control and monitor remote electronic heating devices
- Updated the documentation of the existing web application.
Web e-commerce developer
Jun 2008 – Sep 2008: MG Eco Engineering Ltd, Italy
- Developed web pages for an e-commerce ASP.NET application. We used C#, XHTML markup, CSS style sheets and a SQL Server DBMS
- DHTML main menu has been developed by using CSS and JavaScript.
PHP and JAVA Developer
Apr 2007 – Sep 2007: Motorola Company, Italy
Worked as part of the ITIS team responsible for the monitoring and dimensioning of the network resources of the company.
- Implemented a system monitor prototype multi-threaded engine which pings the monitored systems at regular time intervals via socket connections. Monitored systems are registered in an XML configuration file and they include legacy and newly developed systems. The result of each cycle is stored in text file.
- Implemented a PHP web solution using XHTML 1.0 stick, CSS, PHP
- Regular expressions have been used to parse data
- Bash scripts have been used in order to work on both platforms of UNIX and SOLARIS
- Implemented ClearCase tools aimed at checking for incorrect users’ views and sending automatic alert emails, checking space usage of users’ home quotes and views
- Implemented monitoring tools aimed at monitoring temperature, CPU, memory usage, processes running on different servers and available software licenses, as well as tools aimed at starting up PCs in specific locations
- Configured a MySQL server tasked with holding analysis data manipulated via MRTG
- Configured UNIX AND SOLARIS server in order to communicate with the web server
- Configured Apache web server
- Modified and maintained Perl code developed by 3rd parties.
Education
Polytechnic of Turin (Italy) - B.Sc. (1st Class) in Electronic Engineering and Computer Science
Sep 2001 – July 2005
Jan 2008 – Mar 2008
Subjects includes:C programming, Computer Networks and Communications, Navigation Satellite systems, Legislation and security of networks.
Vocational Qualification (Mark 44/50) in Web Developing and Internet Website Administrating
Sep 2006 – Apr 2007
Subjects includes:- Operating systems, local networks and the internet, Object Oriented Programming
- ASP.NET 2.0, PHP, DBMS Access and MySQL, stored procedures, XHTML, XML, JavaScript
- DHTML, CSS, graphics and animation.
GCSE
Sep 2010 – Jun 2011 City Lit, London
Subject: English Literature.
Interests and activities
I like dancing and keeping fit. I am passionate about my career. I read Open Source journals and am involved in Java Meetup Groups. I also repair mobiles and PCs as part of my spare time.