Senior Software Engineer/Team Lead
first-e Bancorp (Dublin, Ireland)
January 2000-September 2001
first-e Bancorp was the nominal operator and de facto promoter of the first-e banks. As part of that operation there was a team dedicated to implementing solutions that are outside the remit of the daily operations of the banks: marketing campaigns, “non-customer” registration, etc. I was the senior developer in this team. I also provided team leadership for the large projects. Prior to being appointed to this position, I was a senior developer on the “German Launch Project” which was the project that implemented first-e’s bank for the German market, implementing the nightly/weekly/monthly batch jobs.
The first-e banking software system was designed using Oracle Designer Release 6.0, and the data model was stored in an Oracle Designer Repository.
- Design and develop software applications and ad hoc tools for marketing department.
- Design and develop software for the daily operation of the bank.
- Lead the design and development of applications in a team of 4 developers.
- Assist other software development teams in their projects as consultant.
- Contribute to the development of how the company achieved its technical goals.
- Investigated new and unknown technologies.
- Train technical and non-technical staff on technologies used in the company.
- Designed and developed an application to take in product preferences from potential customers.
- Designed and developed harvesting of that data from the transactional database to the corporate data warehouse.
- Designed and developed harvesting of data from a customer satisfaction survey from the same transactional database to the corporate data warehouse.
- Designed an application to track success of marketing campaigns.
- Assisted in the migration of that application from MS Access to Oracle.
- Developed reports for that application.
- Proposed and configured an improved software development environment for the Solutions Team.
- Designed and developed the UNIX shell scripts that interfaced with the bank to launch the daily, weekly and monthly batch processes.
- Wrote the UNIX shell script coding standards for the company.
- Liaised with the banking IT operation staff for the team developing the German bank prior to deployment.
- Worked as a consultant developer on the main front-end reengineering project assisting in the java/JSP development.
- Provided training to technical and non-technical staff on the reengineered front-end.
- Performed due diligence examination on a financial services comparison engine and its implementation.
- Performed due diligence examination on a micro-payments solution, and was the technical lead of the team that worked on devising interoperation between the first-e banks and the micro-payments server.
- Wrote a discussion paper on CVS for technical staff.
- Wrote a discussion paper on 128-bit SSL for non-technical staff and customers.
- Investigated various security products for ad hoc use by the marketing department.
- SunOS 5.6; GNU/Linux 2.2.10 (All UNIX); Windows NT.
- Oracle Developer 2000 Release 2.1, 6.0; Oracle Designer 6.0; Oracle Discoverer 3.1; Oracle Server 7.1.x, 7.3.x, 8.0, 8.1.x; T.O.A.D. for PL/SQL development; Oracle Designer and T.O.A.D for data modeling; ArgoUML for object modeling; GNU emacs, vi for file editing; forte4j, Borland JBuilder for java development; Apache web server; Hummingbird’s Exceed and NFS Maestro for interconnectivity.
- SQL; PL/SQL; Scripting (sh, ksh, bash, zsh); Java; HTML; UML; Cascading Style sheets.
- PVCS; rcs; CVS;
- MySQL database; XML; Stronghold secure web server; PGP/GnuPG, ssh.
German Launch Project: This was the development effort for the German version of the first-e bank, which was deployed in March 2000. My rï¿½le on that project was two-fold:
- To implement the batch processing for the bank. This was done using the zsh scripting language on SUN Solaris. The scripts made calls to the bank’s bespoke java-based middle-ware layer, which then made calls to the PL/SQL stored procedures. Due to the manner in which the scripting was implemented for the UK version of the first-e bank, I had to completely rewrite the scripts for the German bank, where I introduced safeguards like script co-ordination and timing using UNIXï¿½s cron facility and locking of processes to ensure that mutually conflicting batch jobs wouldnï¿½t run at the same time. Once the project was completed, and due to the success of my implementation of these scripts, I was given the task of writing the company coding standards for shell scripting, with particular emphasis on scripting for batch jobs.
- I liaised between the German bank development team and the IT operations team which was going to manage the system in deployment. My responsibilities were to ensure that all deployment considerations were taken into account by the development team and that the IT Operations team was aware of the requirements for deployment of this version of the banking system.
I performed the following on this project:
- I redesigned the implementation of the batch job shell scripts.
- I implemented the batch job shell scripts (using the zsh scripting language).
- I documented the enterprise shell scripting standards.
- I documented the batch and cron system for the operations engineers.
- I liaised between the development team of the German bank and the IT Operations team who were going to manage its daily operations after deployment.
Development Lab: With an increasing development load and a decreasing budget, I proposed and got approval for a development lab for the first-e Solutions team. This lab was to utilize 10 PCs dividing the various tasks and loads among them. These would include database development, programming development, source control, information repository, etc. The technologies we were to use came from those software licenses we had already paid for, with the rest of the technologies based on open source licenses. These introduced the possibilities of technologies like MySQL as a database, GNU/Linux as a deployment platform, CVS for configuration management. Unfortunately, first-e ceased operation before this lab was completely rolled out. I performed the following on this project:
- I drew up the original proposal for the lab.
- I installed the necessary operating systems (Slackware Linux (Linux kernel 2.4); MS Windows 98, NT).
- I installed the source control (CVS) and database environments (Oracle8i 8.1.7, MySQL).
Prospect Registration: This was a system to allow potential customers (prospects) to register their interest with first-e Bancorp in specific products and product sets that first-e offered or planned to offer. The data storage module was implemented using an Oracle8i 8.1.6 database. The main engine was a java application which would process e-mail messages at 15 minute intervals. The prospects’ experience was provided by HTML deployed on first-e’s marketing web servers. Connectivity from the web server to the application server was via e-mail; from the application to the database was via JDBC. After deployment it was necessary to implement an analysis module for the system. This was done using an Oracle8i 8.1.6 Data Warehouse and functionality was implemented in PL/SQL. During a very early stage of the product, I developed a pilot version to prove the concept. This was implemented using an Apache web server, a java application and a MySQL database. It was this pilot version that persuaded upper management to go ahead with this highly successful project and application. I documented the system from the two perspectives of a developer and a user. I performed the following on this project:
- I gathered the requirements from the marketing department with the project team.
- I submitted to the development of the business specification of the solution.
- I designed the data model.
- I developed and presented the pilot ï¿½proof of conceptï¿½.
- I led the design of the object model (using the UML).
- I led the development of the solution.
- I designed and implemented the data warehouse analysis module.
Training: I was tasked with training technical and non-technical members of first-eï¿½s Solutions team. This included giving a seminar on first-eï¿½s new front end technology (described below under ï¿½Front-end Reengineeringï¿½, which used technologies like JSP, java beans, CORBA, etc.), and training other developers in the team in on UNIX development and on methodologies and practices.
Customer Satisfaction Survey: This is a form that was deployed on the prospect registration system mentioned above, but due to the nature of the information retrieved, it was necessary to implement a separate analysis tool for the customer satisfaction survey. Based on requirements, I implemented this using Oracle Report Builder 3.0 and PL/SQL on an Oracle8i 8.1.6 database.
Strategic Alliances: first-e Bancorp made extensive use of strategic partners in order to attract customers. Each partnership was unique, but the effort to implement separate performance reports for each partnership was too great. The project was to
- Create a system capable of tracking the success or otherwise of joint marketing campaigns.
- Devise a system of reporting that was generic across all partnerships such that the same reports need be run for any partnership; and
- Implement a set of reports based on this scheme.
I drew the initial design for the system, designing it for an Oracle8 8.0 database. Due to demands elsewhere, the project was handed over to some one else and it was implemented using MS Access instead, but still used my data model. After the application was in use for almost a year (far longer than intended), MS Access was not capable of handling the data any more, and they were migrated to Oracle8i 8.1.6. After this migration, I came back to this application in order to develop reports for the marketing department. The latter was implemented using Oracle Report Builder 3.0 and PL/SQL. On this project, I performed the following:
- I gathered the requirements from the business analyst.
- I drew up a technical specification.
- I designed the data model and the functional specification of the solution.
- I implemented some of the reports.
iPIN — micro-payments: first-e wanted to implement a micro-payment facility for its customers. I was the lead developer of the team that investigated possible implementations, the foremost of which was using the functionality and services of iPIN. We designed an interface between iPIN and first-e using iPIN’s java API. This was done in conjunction with iPIN’s France office. I performed the following on this project:
- I was a member of the team which analysed the iPIN API and interconnectivity.
- I contributed to the design of the interface between first-e and this API.
Xelector: Xelector is a product comparison and choice engine. first-e Bancorp integrated Xelector’s solution into its web site. I was part of a team that performed a due diligence examination on Xelector’s product to ensure that it conformed with first-e’s requirements for product integration.
first-e’s Front-end Reengineering: first-e Bancorp changed its customer interface from a java applet to an HTML/JSP, java beans and CORBA interface. This was implemented by first-e Bancorp’s technical partner, factor-e. I worked as a software engineer on loan from first-e on that project. My duties were bug fixing during the system test phase of the project. This input had a direct benefit on first-e as I was able to bring a full understanding of the software being developed for us back to our team. During this time, I encountered a flaw in the implementation of the design. The nature of this flaw was that it wouldn’t have been apparent immediately, but when it came to implement this new front end for other planned interfaces (WAP, Digital TV), problems would have ensued. I was able to identify the full extent of the issue and provide a solution.
- I attended the SIGSComponent Developer’s and User’s Forum conference in Munich in October 2000.
- I attended a course on UML in August 2000
- I gave the following courses:
- Front End Re-Engineering in September 2000
- Properties in Java in February 2001.
- I authored the following documents:
- A discussion paper on the CVS source control system — this document was instrumental in the adoption of CVS for our development team.
- A discussion paper on 128-bit SSL — This was an explanation of a technical issue intended for a non-technical audience; first-e Bancorp wanted to assure customers that moving from a proprietary security system to an open system was a better way to protect customer data.
- A Due Diligence Report on Xelector’s product offering.