Betrand Ugorji

                        35 Chantry Court Wood Avenue Hatfield, Herts AL10 8NB

                                                      betrand_ugorji@yahoo.co.uk   

                                                            +447916029046

                   ________________________________________________________________________

                   Personal Statement

A Full Stack Developer, experienced in business process modelling, relational database design, client-side and server-side application design, implementation and testing.    With 6 years of experience developing web applications within the engineering, consultancy, entertainment, finance, education and retail sector, experienced in SQL, Java SE/EE, JavaScript, CSS, JSON, XML & HTML.  Proven ability to deliver applications in challenging environments on time and to specification, working as part of a team or alone.

_________________________________________________________________________

                      

EDUCATION SUMMARY                                             

24/01/2011 – 28/09/2012    MSc. Secure Computing Systems & Advanced Databases –     

                                            1st Class University of Hertfordshire Hatfield UK

04/01/2010 – 03/01/2011    Postgraduate Diploma. Business Management –

                                             Distinction Pinnacle International College London UK

12/09/2000 – 01/04/2004    BSc. Microbiology –

                                             2:1 Nnamdi Azikiwe University Awka Nigeria 

25/09/1992 – 06/12/1998    GCSE –

                                             Maths A, Physics A, Chemistry A, English A & Biology A

                                             Comprehensive Secondary School Avuvu, Nigeria   

EXPERIENCE SUMMARY

Implemented Java web applications, Developed REST API components, Developed Front-end and Back-end components, Designed and implemented databases, Used Agile Delivery Framework.

ROLES

Java Architect & Developer, Full Stack Java Developer, Software Developer/Team Lead

Database Development Engineer

CLIENT/SECTOR EXPERIENCE

Retail and Commerce, Retail Banking, Oil & Gas, Education and Training, Public Sector ERP, Aviation Entertainment, Manufacturing ERP

PROJECT TYPES

Order Management Application, Loans and Credit Application, Multi-Tenant Sales Applications, School Management Application, Project Management Application, Tax Management Application, Digital Content Application

TECHNOLOGIES/TOOLS

Java 8 | Java 7 | Visual Paradigm | Java Security | JPA | EJB | CSV | AOP | CDI | REST | TDD | Agile | SCRUM | JQuery | Jira | BitBucket | JUnit | JMS | Primefaces | OAuth | JSON | XML | JAXB | Jackson | Tomcat | AngularJS | Oracle | Apache Derby | MySQL | CSS | Freemarker | Requirements gathering | Database Design | Confluence | HTML5 | POI | Google Map API | XHTML | Java Mail | Stored Procedures | NetBeans | Eclipse | Notepad++ | Javascript | Payara | iText | SQL | JSR 303 | POI | Gerrit | JSON Schema | WireMock | OAuth2 | Tyk | Docker

PROFESSIONAL EXPERTISE

PHD Cloud Security (part-time/ongoing), SCRUM Master, CMI, IMIS, MSc. Secure Computing Systems, PGD Business Management & Java Architect

            

                          

PROJECT EXPERIENCE

MOJ Croydon – Kainos London UK

10/2017 – until September 2018

Currently working as part of a Scrum team of 9 developers at MOJ involved in the design and development of the UK Single Justice System Platform at Ministry of Justice site at Croydon. Betrand is involved with the development of the customer facing Online Plea micro-service application to be used by over 2 million UK citizens annually using an agile methodology, ensuring that the application UI conforms to accessibility standards that meet GDS assessment. The application development involves the use of HTML5 friendly-markup for JSF and server rendering without AJAX and JavaScript to support non-JavaScript enabled user browsers for UK citizens.

Tools & Technologies Used: Java 7&8, CSS, GIT on BitBucket, Continuous integration on terraform build pipeline, Wildfly application server, CDI, HTML5, CSS, JSF-2.3, Posgres sql Database, Jira, Confluence, Eclipse, Netbeans and intelliJ IDE, Maven, Log4j, Slf4J, Wiremock, OAuth2, Tyk, JAXB, Jackson, RESTEasy, JSON, JSON Schema, pa11y, Pair Programming, Test Driven Development (TDD), Event Sourcing, Domain Driven Design (DDD), Microservices and CQRS.

Training Management System – Uptitek Ltd

09/2017 – 10/2017

Betrand worked in a SCRUM team of 3 to create a training management web application. The system allows users define programs, courses and pathways, capture students, trainers, wage and school fee records and track study attendance. The application allows the archival and export of records in various file formats such as pdf, excel, XML & CSV. MYSQL database and CSVs were used to store the system data. A demo can be accessed at www.school.uptitek.com

Tools & Technologies Used: Java 7&8, JPA, REST, POI, iText, SQL, CSS, JQuery, Javascript, GIT on BitBucket, JUnit, JSON, XML, Payara, CDI, JTA, EJB, JSR 303, Primefaces, JAAC, JDBCRealm, Apache Derby Database, DigestUtils, Windows and Linux.

HMRC Telford – Capgemini UK

12/2016 – 08/2017

Betrand worked in a Scrum team of 13 developers involved in the HMRC Digital Transformation Program “REGENERATE” in St James House Telford. The project involved the regeneration of a Cool GEN application called ICS from GEN to Java using an XCGV tool created by a third-party company which produced a buggy Java code and bad UI which the developers enhance using an agile method.  Betrand was responsible for ensuring that the ICS application UI meet regulatory requirements on accessibility standards, advising the Scrum team on the most appropriate data presentation option for ICS and alternatives, mentoring and providing support to the 4 junior developers in the Scrum team, ensuring that the Scrum team adhered to Scrum and Agile principles and contributing to the Print-Case solution for HMRC ICS Letters. Betrand investigated the usefulness of a centralized validation model for the ICS GEN project that will be re-used on other HMRC future projects, which turned out to be a successful proof-of-concept. Designed and implemented a robust modern validation framework that is now used to enhance the security of both the client-side and the server-side of the ICS GEN application. Provided demos and confluence page documentations for both the Print-Case work and the validation framework solution to promote knowledge retention and transfer. Provided a walk through to the third-party company representative to enable them to script or incorporate the validation code into the XCGV tool for future REGENERATE projects.

Tools & Technologies Used: Java 7&8, SOAP Web service, Apache Flying Saucer, Apache POI, Apache commons, CSS, Javascript, GIT on BitBucket, Continuous integration on Bamboo, XML, Tomcat, CDI, AOP, Mybatis, JSF-2.1, Spring, Spring Webflow, JTA, JSR 303, Primefaces, Primefaces-extension, Oracle Database, MySQL Database, Notepad++, Jira, Confluence, Eclipse IDE, Hibernate, Maven, IE Debugger, DynamicReport, OpenOffice, .docx editor, Docx4j, JodaTime API, Log4j, Slf4J, Apache Commons, JAXB, Jackson and Xstream.

Retail ERP – Uptitek InfoTech Ltd

11/2016 – 12/2016

Betrand worked in a SCRUM team of 4 to create a micro-service based Retail ERP product currently used by 3 companies. The system allows users perform HR functions, manage supply and pricing information, plan work Rota and track staff attendance, control stock, plan product purchases, manage approval workflow, procure products, process product delivery and returns and track product usage. The application allows the upload, archival and export of records in various file formats such as pdf, excel, XML & CSV.   The supply chain management micro-service application delegates all forms of documents generation and archival and distribution to a document management micro-service application. It also securely allows supplier and customer collaboration.

The Retail ERP sends emails and SMS using Java mail service from www.astrahosting.com and an XML web service based SMS gateway from www.ebulksms.com respectively. Relational databases and CSVs were used to store data across all the micro-service applications. A demo can be accessed at www.rms.uptitek.com

Tools & Technologies Used: Java 7&8, JPA, REST, POI, iText, SQL, CSS, JQuery, Javascript, GIT on BitBucket, JUnit, JSON, XML, Payara, CDI, JTA, EJB, JSR 303, Primefaces, JAAC, JDBCRealm, Apache Derby Database, DigestUtils, Windows and Linux.

Mail Delivery Alert System – Uptitek UK

10/2016 – 11/2016

Worked in a team of 2 developers to create a Mail Alert system and re-designed it into a SAAS application. Subscriber’s details are collected via HTML5 client form and sent to the Mail application using JQuery and JavaScript. The Mail application then forwards subscriber’s details to Admins via SMS and Email and returns confirmation to the subscriber. Admins enters subscriber’s details into the application which interacts with a remote multi-tenant system that stores meta-data info about the Subscriber and eventually creates a cloud space for the tenant. Tenants can login into their cloud space at www.embalert.com to perform Admin functions such as to import a CSV record of their alert recipient details, upload recipient pictures, send alert to the recipient when a delivery arrives and view various reports with limits based on tenant account subscription type. The application allows the archival of records, export of records in various file formats such as pdf, excel, XML & CSV.  

Mail emails are sent using Java mail service from www.astrahosting.com while SMS were sent using an XML based SMS gateway from www.ebulksms.com. Mail accesses a REST based multi-tenant web service application for tenant details validation and registration using JSON payloads. It stores data in a relational database. Tenants database schemas were created using JDBC on open source Apache Derby database.

Tools & Technologies Used: Java 7&8, JPA, REST, POI, iText PDF, Agile, SQL, CSS, JQuery, Javascript, GIT on BitBucket, JUnit, JSON, XML, JAXB, Jackson, Payara, CDI, JTA, EJB, Primefaces, JAAC, JDBCRealm, Apache Derby Database, Swagger, JSR 352 Batch Processing for Java Platform, Apache DigestUtils, Bcrypt, FileUploader, Windows and Linux.

Petroleum Order Mgt. System – Uptitek InfoTech Ltd

09/2016 – 10/2016

After ACE contract ended, Betrand developed a multitenant cloud SAAS liquid product wholesale order management application called GAS. The GAS application is a micro-service that interacts with other micro-services to achieve the complete user-story.  Gas collects subscriber’s details via HTML5 client form which is sent to a Java EE form details handling micro-service application using JQuery and Javascript. The Form Java EE application backend then forwards subscriber’s details to System Admins via SMS and Email and returns confirmation to subscriber. Admins then enter subscriber’s information into the GAS application which within 2 minutes creates a cloud space for the tenant. Tenant can login at www.gas.emberpsoftware.com to perform user account management, personnel management, CRM, vendor management, stock control, price management, invoice management, process customer order, track product delivery and view various real-time reports with limits based on tenant account subscription type. The GAS system allows multiple users per tenant cloud space but applies storage limits on records based on account type.

GAS emails are sent using Java mail service from www.astrahosting.com while SMS were sent using an XML based SMS gateway from www.ebulksms.com. GAS communicates with a REST based multi-tenant micro-service based web service application for tenant details validation and registration using JSON payloads. It stores data in SQL database and in CSV. Tenants database schemas were created using JDBC on Apache Derby Database.

Tools & Technologies Used: Java 7&8, UML, JPA, REST, OOD, Agile, SQL, CSS, JQuery, Javascript, BitBucket, JUnit, JSON, XML, JAXB, Jackson, Payara, CDI, JTA, EJB, Primefaces JSF, JAAC, JDBCRealm, Apache Derby Database, Bean Validation, Swagger, Multi-tenant ORM, Eclipse-Link, Application Managed Persistence, Factory Patterns, Windows and Linux.

Project Management Application – ACE & ACC UK

02/2016 – 09/2016

Betrand was involved in the enhancement of an existing ERP system using a more loosely coupled architecture. Project management capability was built and integrated with the existing system for Acoustical Control Engineers & Consultants in Cambridge UK. The system tracked engineering, manufacturing and consultancy projects from customer enquiry through to equipment manufacture, delivery and product installation over a Primefaces timeline component. The Project also involved a re-design of some existing system front-end and introduction of accessibility and other more user-friendly features using EMB ERP. The system will allow the users log client information, end-client information, product specification, quote information, contract information and track the product manufacturing states. It alert users of deadlines on a real-time by sending them reminders and highlighting the UI with color codes. The development followed remote working and agile practices including TDD and monthly sprints meetings. Users were also trained on how to use the system after every major iteration & release.

Tools & Technologies Used: Java 7&8, TDD, Oracle Java DB, System data model using UML/ERDs. SQL3, CSS3, XHTML, HTML5, Web sockets, Pair programming, MVC, OOD, CDI, REST, JSON, XML, JTA, JPA, JDBC, EJB, JSF Primefaces, JAAC, JDBCRealm, Windows, GIT on BitBucket.

Banking Application - MbaikeFC

02/2016 – 02/2016

Betrand worked as part of a team that developed using waterfalls approach a micro-finance bank system used in processing customer’s loans, micro-credits and grants. The system captures a loan application and generates loan repayment schedule and sends a downloadable copy of the loan repayment schedule to the customer after the loan is approved following a strict approval work-flow. It then starts tracking customer’s loan repayment and performance and populates various report dashboards with statistics on real-time. The system uses various Timer services - the Java Schedule API with the Java 8 Date-Time API in sensing and triggering various asynchronous multi-threaded background processes which then triggers various system alerts depending on customer’s loan status. The system relies heavily on SMS and email messaging in reminding customers about their loan application progress and loan repayment times and overdue repayments. Message alert delivery reliability was achieved by tracking message delivery status and logging undelivered messages and retry times in a database. The front-end was developed using a combination of XHTML, HTML5, CSS and Javascript. Colour coding was used to highlight applicant’s loan and application status as visual aid and for accessibility. Users can switch between grid and list displays. Real-time updates were developed using a combination of Java EE Web sockets server API and HTML5 Web socket client API.

Tools & Technologies Used: Java EE 7&8, OOD, SQL3, CSS3, HTML5, Web sockets, Pair programming, TDD, CDI, JTA, JPA, ORM, JDBC, EJB, JSF, XML, JAAC, JDBCRealm, MYSQL, Bash, Git, PHPMyadmin, Maven, Netbeans, iText PDF, POI, Primefaces Chart components, Freemaker code templating, Facelets templating, Glassfish Application Server.

Inflight Entertainment System – Global Eagle Entertainment UK

01/2016 – 02/2016

A team of 3 Java developers who maintained the Inflight Entertainment System code base at GEE media lacked the technical skills required to debug and refactor the code they inherited to fix bugs one of which was similar to the Y2K Compliant bug which broke their system after 31 December 2015 so Betrand was called in to assist in reviewing the existing CMS code, fix bugs and resolve performance issues. Betrand assisted the development team to track, debug, re-write and test some of their OSGI based CMS modules to fix bugs and improve performance. Betrand helped the team debug and fix date issues, non-performant data access API, locking and transaction issues, unsafe code, memory leaks and broken REST web services (both XML and JSON API’s) by using safer, better performant API and data access patterns and finally configured their production server for optimum performance.

Tools & Technologies Used: Source Code Management using GIT, documentation using confluence & Jira, Java 6&7, OSGI, Maven, MYSQL, CDN, REST API, JPA, ORM, JUnit, SQL, JTA, Android APK building and IOS App packaging, Glassfish application server, AngularJS.

Activity Tracking & Alumni R/ship Mgt. System – Learners & Trainers

08/2015 – 01/2016

Betrand was involved in the development of an employee activity tracking system, a modern responsive company website and an alumni relationship management system that publishes newsletters, email and SMS notifications for an Int’l training institute called Learners and Trainers Ltd.

First stage involved development of a Business Activity Tracking System to assign targets to employees and monitor their deliverables and other KPIs, track the time employees spend on tasks, capture customer prospecting activities, leads acquisition, meetings with clients, etc.

Second stage involved development of a new mobile friendly website. Third stage involved development of an Alumni Relationship Management System that will enable the company to capture 15,000+ Alumni records, send Newsletters and other updates to them, capture alumni registration information, allow alumni access to their course certificates whenever required. The system sends birthday greetings, events and other notifications automatically to Alumni via SMS and emails.

Tools & Technologies Used: Linux, REST API, AOP, JQuery, JavaScript, Bootstrap, POI, Java EE 7/8, SQL3, CSS3, HTML5, Web sockets, Pair programming, MVC, OOD, TDD, Agile, Font-awesome, Google Map, JTA, JPA, ORM, JDBC, EJB, JSF, JSON, XML, JCA, JAAC, JDBCRealm, Apache Derby, Bash, BitBucket, Glassfish application server.

MRPII System - Innovate UK, University of Hertfordshire, Acoustical Control Engineers & Consultants, Cambridge UK

09/2014 – 08/2015

Betrand led a team of 3 software engineers in the development of an MRPII system. MRPII system modules included Bill of Material module (BOM), Inventory management module, and Production scheduling module.

Tools & Technologies Used: UML/ERDs, Java EE 6/7, SQL3, CSS3, HTML5, APIs, Web sockets, REST, SOAP, Pair programming, MVC, OOD, DDD, TDD, Scrum & Agile,

 Eclipse-Link, JTA, JPA, ORM, JDBC, EJB, JMS, JSF, JSON, XML, JAXB, JCA, JAAC, JDBCRealm, JavaDB, Bash, Web sockets, Server-sent events.

Manufacturing ERP Application - Innovate UK, University of Hertfordshire Hatfield UK, Acoustical Control Engineers & Acoustical Control Consultants Ltd, Cambridge UK

09/2012 – 09/2014

Betrand worked as a change champion in the development of an 18 module Enterprise Resource Planning (ERP) system called decibase. ERP system modules include – Core/HR, Contact, Accounting, Product, Activity, Communication/Enquiry, Pricing, Quotation, Order management, and Contract management, Consultancy, Quality Assurance, Delivery, Security, Admin and Maintenance, Reporting, Acoustic Analysis. Implemented database indexes, stored procedures & triggers. Betrand took active lead on key technology and design decisions and detailed architecture, design and implementation of each ERP system module, technical lead in all stages of the software development lifecycle, from initial requirement analysis to design and implementation.

Tools & Technologies Used: Ability to turn requirements into enterprise system designs, models and sound architecture. Acoustic and pricing algorithm design, implementation and testing. Core Java, Java EE 6, Java EE 7, Java 8, Java Web development frameworks - JSF, Icefaces & Primefaces, Glassfish, Maven, Java EE, HTML5, NetBeans, UML, JUnit, Pair programming, SOAP web services, JSON and XML, ERD, CSS3, Scrum, DDD, TDD, JMS, Server sent events, web sockets, JSON, Javascript and EJBs, Batch Processing.