Personal Data

Name:                  Reza Ghaffaripour
Home Page:        http://www.RezaGh.com
Mobile:                (+61) 040 26 36 492
Email:                  me@rezagh.com, rezaghp@gmail.com

Degrees

- M.Sc. Computer Science (MCS), Pune University, India, 2001 - 2003, GPA: 70 % (First Class), syllabus, projects
- B.Sc. Mathematics, Teacher Training University (Tarbiat Moallem), Iran, 1994 - 1999, GPA: 66 %, syllabus

Skill Summary

I started working in Java/EE officially at around 2002 in uni and moved on to different projects, technologies and positions, from junior developer to architect and project lead/manager. My development experience is mostly on backend but I have good experience and understanding on Frontend too. My exposure to different aspects of IT industry is as follows:

Java, JavaEE, Different Frameworks, Backend: 8+ Years
Desing, Methodologies, Patterns: 5+ Years
Architecture: 4+ Years
Leadership: 2+ Years
Domain Knowledge: Telecom, ERP, E-Commerce, Ordering, Advertisement

See the table at the end of my resume for details.

Objective

I am seeking a challenging career in design/development/architecture roles in a place where I can make a difference, learn, earn well and do new things.

Recent Work Experiences


Positions Senior Developer - Technology Specialist
Where Telstra-BigPond, Sydney
Dev. Team Size 3-20
Time From Nov 10th 2008 till now, Full time, Contract Position
Project Transformation
Technology JPA, Spring, Hibernate, EJB 3, Ehcache, EasyMock, PowerMock, JUnit, Webservices, JAXWS, JBoss
Tasks Backend design and development of the "product catalogue system" of Transformation project. The system contains product management and price calculation modules. I am among the core members who designed/developed the system from scratch to production. Among coding almost all the business modules of the system I also worked on performance and caching mechanisms.
I have also done some JMS R&D on HornetQ to replace the normal RMI calls with a messaging system (MOM) for better performance and using clustering capability.
Other activities to mention: Implementation of a JAXWS cookie handler, custom classloader, ...; Design of an authentication module, ...



Positions Senior Developer/ Consultant
Where Hyro Services, Sydney
Dev. Team Size 3-10
Time From April 10th 2007 till 24/10/08, Full time, Permanent Position

Project QHConnect (Bolero) is a B2B application for Qantas Holidays to enhance land contracting process
Technology JMS, Axis Webservices, Weblogic, Struts, Hibernate, J2EE, EJB, MDB
Tasks Review, enhancement, adding new functionality and bug fixing of the new releases. We worked on site for a couple of months as consultants.

Project Mobile Positioning Module
Technology Spring, Hibernate, Tomcat, XML, Telstra Mobile Positioning Interfaces
Tasks Developing a module for locating a mobile user inside Australia using Telstra GIS services

Project Australian Idol Fan Messaging Forum and BigBrother Forums for channel TEN
Technology Jive Forum, J2EE, Tomcat, MySQL
Tasks Customization of Jive Forum and integrating it with other channel TEN websites.

Project Telstra Events Platform; allows Telstra customers to access video services
Technology Spring MVC, Hibernate, Tomcat, MySQL
Tasks Developing a couple of modules for the events management website with mobile support

Project Foxtel EPG (Electronic Program Guide)
Technology Spring, Hibernate, Oracle db, Axis2, Maven, JPA
Tasks Was involved in design and development of the early version of the product for a short time

Positions Developer
Where McGirr Information Technology, Australia, Sydney
Dev. Team Size +5
Time From October 16th, 2006 till April 5th 2007, Permanent Position
Reference Mr. Peter Nanayakkara (PM), Mr. Jerry Maher  (Managing Director)
Project State Disaster Recovery System for NSW Department of Community Services, Information Management System for Queensland Industrial Relations Commission, McGirr Case Management Systems
Technology Java/J2EE, EJB, Struts, Oracle Application  Server, Tomcat, Jasper Reports, Oracle database, Scrum methodology, DotJ Taglib
Tasks

My tasks are design and development of new use cases, generating reports with JasperReports, adding new requirements to some written systems, system enhancement etc.

I also developed a web based system capable of dynamically handling the CRUD of all sort of db tables. This can act instead of developing a separate use case for every db table. It is good for CRUD use cases (with little or no logic) and handling of all fundamental tables of a system. This system works based on reflection and a grid with inline insert/update/delete.


Positions Senior Developer/Architect
Where Caspian Company owned by Parsian Bank, Iran
Dev. Team Size +10
Time From March until October 2006, Full time
Reference Mr. Alireza Amiri, Mr. Amir Leilazi
Project A large scale banking system (Lending)
Technology Java/J2EE, Hibernate, Spring, RMI, Weblogic Application Server, Swing, Oracle 10g database
Tasks

I was developer of the core architecture, member of architecture team and involved in design and development.

Among other things I:
  • Developed a fully transactional Financial (Voucher) Engine which is part of every banking system. All financial transactions must go through this engine. Being transactional is a vital characteristic of this component. It also prevents concurrent access/operation on accounts and avoids negative problems of concurrency. It is a server side component.

  • Developed a data shronization mechanism for synchronization of server and branch tables. Some tables used to be duplicated in branch servers in order to reduce network traffic and these tables had to be synchronized with central servers. This was a server side component with different synchronization algorithms.


Positions Project Manager
Where Center for Distance Education, done in NSY Corporation, Iran
Dev. Team Size ~4
Time Dec 05 till March 06, Full Time
Reference Mr. Dr. Mohammad Talasaz (Project Consultant), Mr. Iman Baradari (Director)
Project A web based and XML based digital library and e-book reader application
Technology Java/J2EE, Web based, Oracle 10g database, Hibernate, Oracle Application Server, OC4J, Lucene open source search engine, XSL, XSLT, RUP methodology, JDeveloper IDE, Struts
Tasks I was the PM and involved in analysis, design, architecture and development. I developed a number of use cases in the system as well. This was a project with a very tight and short schedule and we had to finish it in 3-4 months. A customized form of RUP, accurate planning and time slicing helped us a lot to achieve this goal on time.

Positions Senior Developer/Architect/Team Lead
Where Consortium of Information & Communication Technology (Kafa), Iran
Dev. Team Size 10-30
Time September 2004 - Jan 2006, Full time, and from Jan 06 till March part time
Reference Mr. Mehran Khansari , Mr. Ghasemi, Mr. Youssefian, Mr. Behrooz Katanchi
Project A large scale, national and web based ERP
Technology Java/J2EE, web based, Struts, Hibernate, Oracle 10g database, Oracle application server, JDeveloper IDE, RUP methodology
Tasks

I was a senior developer, architect and programmers' head in one of the three sub systems of the ERP. I designed and developed a number of components here in this company. Among them:

  • Developed an image uploader for uploading photo and signature of personnel. This component can attach to any web page in the system (using its own tag) for uploading.

  • Developed a hibernate code generator to automatically generate hibernate XML and Java object files from database tables.

  • Developed a dynamic report generator to generate, format and view reports online. User can define one or more tables, their relations, columns of the report, colors and other formatting parameters and then view the report or print it. Using this, everyone can make his own reports and save them; so there is no need for hard coded report queries. I used JFree Report open source.

  • Developed a code generator for the whole project's framework. Using this code generator, developers can focus only on the logic of a use case and the rest of architectural classes can be generated with a this generator.

  • Developed a duplicate key finder for resource bundles. In this project we had lots of resource bundles for user interfaces and we always had the problem of duplicate kys. This component can find/view/delete/replace duplicate keys.

I also worked on work flows and Oracle application server deployment. I was also a team lead in my last couple of months and used to interview new Java developers.

From Jan I changed to part time and worked as a consultant.

It is to be noticed that this consortium was an ISO and TickIT holder.


Positions Developer
Where Arman Sharif Informatics, Iran
Dev. Team Size 10-15
Time March - Sep. 2004, Full time
Reference Mr. Arash Rajaian (CEO)
Project web based university automation and total system
Technology Java/J2EE, web based, EJB, Applet, Oracle Database, JBuilder IDE, Weblogic/Websphere/Tomcat servers
Tasks

I was involved in design and development. Among other things, I wrote a web based dynamic report and chart generator using "JFree report" with applets. I also developed a chat server with SOAP in order to enable .NET clients use this server as well. I developed three client types in web, Swing and applet. I also researched on web services, JSF and JDO for a while. I started my EJB experience here in this company.


Positions College Faculty
Where DY Patil College, Pune University, India
Time June 03 - Dec 03, Full time
Reference Mr. Ranjit Patil (Dean of Computer Science Faculty)
Tasks CORBA Project Guide and instructor for "client-server and component based architecture" paper in master degree level. I used to guide around ten CORBA/RMI projects and instructed a small portion of the paper as well.

Positions Developer
Where Ascent Informatics, India Pvt. Ltd., India
Dev. Team Size ~5
Time Feb - June 2003, Full time
Reference Mrs. Sujata Tilak (Managing Director)
Project

A web based information repository and management system called Infository. It was a tree based tool for storing/searching knowledge and information (of any type) in an organization.

Technology Java/J2EE, Applet, JSP, Tomcat, Servlet, Swing
Tasks

I was involved in design and development. My first official place to work on Java/J2EE. I worked here as my industrial training semester (4th semester) for master degree and developed a number of use cases in the system.


I have omitted my work experiences related to Hardware and Teaching.

Skills Set in Detail


Category Technology Last Used Year/Month Used
Java Core Java Recent Since 2002
J2EE, EJB, Servlet, RMI Recent Since 2003
Hibernate Recent Since 2004
Spring, JTA Recent Since 2006
Spring Security, JPA, Tiles Recent Since 2009
Struts 2006 2y
JSTL Recent Since 2004
JSF 2009 1m
Webservice Recent Since 2009
JMS, MDB 2007 1y
Swing 2007 1.5y
Lucene 2007 5m
JDO, Toplink 2006 2m
EasyMock Recent 2010
Front End JSP, Javascript, HTML, Applet Recent Since 2003
Patterns Design/ Enterprise/ J2EE/ Architectural Patterns, ... Recent Since 2005
Version & Tracking Clear Case, CVS, SVN, Jira, SourceSafe Recent Since 2003
Design and Process UML Recent Since 2002
RUP,Rational Rose, Power Designer 2006 2y
Scrum, XP Recent since 2007
OO Design Recent since 2004
Database Oracle, Mysql Recent Since 2004
Access,HSQL 2006 1y
IDE JDeveloper, Eclipse Recent Since 2005
Jbuilder, IntelliJ, WebSphere, Together, NetBeans 2004 1y
OS Windows/Dos Recent Since 1993
Linux/Unix Recent 1995 VAX/VMS ,2002 RedHat, Since 2006 Ubuntu
Servers Tomcat Recent Since 2003
Oracle AS 2006 2y
Apache, JBoss Recent +1y
Weblogic, Websphere 2007 6m
Other Languages C++, C, Win32 SDK, VC, VB, Lisp, Prolog, GWB 2002 Tried GW Basic in 1989 and kissed goodbye all these in 2002
PHP 2009 2m
Python Recent 2010
Reporting Jasper Reports, JFree Reports 2007 7m
Other XSL, XSTL, XPATH 2006 6m
RPC, SOAP, Shark Work Flow (XPDL) 2006 3m
CORBA, COM, OpenGL 2003 1y
Oracle UCM 2008 Less than 1m

Hobbies