Curriculum Vitae
Personal details
Name | Kenneth Thomas Keenan BE MSc |
---|---|
Address | 7 Newlands Manor Drive, Green Isle, Clondalkin, Dublin D22T3H4, IRELAND |
Home phone | +353 (0)1 461 4041 |
Mobile phone | +353 (0)87 621 0731 |
Email address | ken@kaia.ie |
Career goals and objectives
I am an Electronic Engineering graduate with over twenty years’ experience in the Irish IT industry. During this time, I have worked in many different roles on a wide variety of software and hardware platforms. I would describe myself as a good “all-rounder” or “full-stack developer” with a pragmatic attitude to problem-solving. I have a great deal of experience with Visual Basic and Oracle and, more recently, C# and JavaScript.
I have worked with computers from a very early age and I’m very passionate about what I do. My experiences in the industry have taught me the value of good communication both within the IT organisation itself and with its customers; as a result, I also have an interest (though, sadly, little concrete experience) in the more “human-oriented” aspects of the business such as technical writing and usability testing. I genuinely believe that computerisation, wisely and sensitively applied, can bring real improvements to everybody’s life and it is my ambition to help deliver those improvements through my work.
In 2005, having “served my time” in the IT industry, developing a good foundation in many technologies and gaining experience in many different work environments, I founded Kaia Limited to take up a career as an independent software contractor. Since then, I have worked for a number of organisations, large and small, and further expanded my experience and technological repertoire. During this time, I also obtained an online Master’s degree in Software Engineering and Database Technologies.
My current availability is 3 days per week. I am flexible on what days I work, provided that no more than 2 days are worked consectively. I am likewise flexible on whether these are worked on-site or remotely, and on start and finish times. I have found that short term and part-time contracts are best suited to my strengths and offer the best business value to my clients. All my short-term contracts have been extended at the request of the client which illustrates the success of this arrangement.
Education
Degree | Institution | From | To | Award |
---|---|---|---|---|
BE, Electronic Engineering | University College Dublin | 1990 | 1995 | Pass |
MSc, Software Engineering and Database Technologies | NUI, Galway | 2009 | 2011 | 1 Hons |
Job History
Job title: Senior Developer
Employer: Leaders Enterprises, Ltd. (Retail/ Point-of-Sale)
Duration: Jan 2022 – present (6 months)
Description:
A 6-month contract with a previous client, working in the retail/ point-of-sale sector. This contract was carried out part time, 4 days per week. The main goal of this contract was as a stopgap resource, providing application support while new developers were brought on board. This involved resolving issues raised by customers. I also developed an integration between Leaders’ point-of-sale product and a customer’s ERP system.
Job title: .NET Developer
Employer: An Post (Group Technology Solutions Retail)
Duration: July 2019 – December 2021 (2 years, 5 months)
Description:
This contract was initially on a 3-month basis, and subsequently extended. This contract was carried out part time, initially at 3 and later at 4 days per week. The main goal of this contract was the delivery of an API to support the creation of a new Web site for customers of the Irish State Savings programme to view their holdings online. The first release of the site was made live early in 2021. The project was developed in ASP.NET Core Web API using Swashbuckle to generate OpenAPI contracts for the developed interface.
Job title: Senior .NET Developer
Employer: SGS Ireland (Auditing and inspection services)
Duration: Jun 2016 – July 2018 (2 years, 1 month)
Description:
This contract was initially on a 3-month, part-time basis; after the probationary period, it was extended to a rolling contract. During this time, I worked on a number of projects for SGS, both legacy and greenfield applications, and for both internal and external customers of SGS Ireland. The core stack was ASP.NET MVC using C#, with Oracle as the back-end database. I worked on the following projects:
- The administrative back-end Web site for a car insurance quotation application. The application pages were implemented using ASP.NET MVC, C# and jQuery, with a Dapper data-access layer and Oracle database back-end. Pages were built to allow quotations to be approved and rejected, as well as an interactive dashboard showing approval/ rejection rates broken down by date, make of car, geographic region, etc.
- Enhancement work on an existing Web site for a third-party customer to manage a green certification programme. The application was written using ASP.NET MVC and C#, using Kendo UI widgets for the front-end along with some Knockout.js for the more complex pages, and a data-access layer using Entity Framework 5 (Code First, upgraded to version 6). This job required the implementation of new pages and correction of bugs and shortcomings in the existing data model. As part of this work, I used Require.js to modularise several thousand lines of JavaScript code to assist future support efforts.
- Work on greenfield applications for SGS Oil, Gas and Chemicals division. This work comprised a number of related applications for contact management, fuel specifications and retail inspections. The applications were built using ASP.NET MVC and C# as before with Kendo UI widgets on the front end, and Dapper as the data access layer.
Job title: Senior .NET Developer
Employer: eShopWorld (eCommerce)
Duration: Jan 2015 – July 2015 (7 months)
Description:
eShopWorld, an Irish eCommerce company, provides international shipping and fulfilment services for the online stores of a number of large retailers such as Victoria's Secret and Urban Outfitters. The role involved creating new APIs using WCF and WebAPI for consumption by retailers and eShopWorld's own front-end team, and adding new and enhancing existing back-end business logic for new retailers. In addition to this, I built a test framework using Moq to help improve test coverage and acted as a subject-matter expert on the git version control system for the team.
Job title: Contract .NET Developer
Employer: Wonga Technologies Ltd. (Financial Services/ Lending)
Duration: October 2013 - October 2014 (1 year)
Description:
An initial 3-month contract (subsequently extended).
Worked with Wonga’s Decision Science/ Risk development team, supporting a legacy risk decision system while customers were migrated from it.
Prepared bug fixes and enhancements for the system, a collection of WCF and Windows services with a SQL Server back-end.
Highlights of the role included re-implementing a bulk upload of credit data using Microsoft SQL Server Service Broker, reducing the run time from 20 hours to under 3, and helping to automate the release process using TeamCity build configurations.
Job title: Contract .NET Developer
Employer: Version 1 (IT Consultancy)
Duration: April 2013 - September 2013 (6 months)
Description:
An initial 3-month contract (subsequently extended)
Worked on a number of projects for Version 1 and their clients including:
- Some ASP.NET MVC work on the CoVIS (Commercial Vehicle Information System) project being developed for the Road Safety Authority.
- Re-development of an internal student class list application for the Dublin Institute of Technology, rewriting an existing Java servlet application in ASP.NET MVC and Nhibernate.
- Development of an internal proof-of-concept application on Microsoft's Azure cloud platform.
- Development of a data flow using SSIS and WCF Web services between legacy systems and a Microsoft Dynamics CRM Online instance for Laya Healthcare.
Job title: Contract .NET Developer
Employer: SGS (Automotive, auditing services)
Duration July 2012 - November 2012 (5 months)
Description:
Worked on autoCARS, a new line-of-business application designed to facilitate auditing of dealer warranty claims for car manufacturers.
Application was written in VB.NET using version 4 of the .NET Framework with an ASP.NET (Webforms) front end using Telerik RadControls and custom jQuery, and an Oracle 11g back end.
Tasks included the production of technical specification documentation; and the development of the ASP.NET front end, middle-tier logic and database stored procedures in PL/SQL.
Job title: Contract .NET Developer
Employer: BearingPoint (IT Consultancy)
Duration: September 2011 - June 2012 (9 months)
Description:
Worked on a “greenfield” development project for Spencer Stuart, a worldwide executive recruitment firm. The project was a rewrite of a legacy desktop-based system used by Spencer Stuart personnel for executive searches using more up-to-date Web technologies and design principles: C# 4.0, ASP.NET MVC 4, and jQuery were used on the front end, a service layer based on WCF was used for the middle tier and NHibernate and SQL Server 2008 were used for the persistence layer. The development followed test-driven development (TDD)/ continuous integration (CI) principles with an NUnit test suite using Rhino Mocks and Selenium for automated UI testing. The CI system used was TeamCity and version control was using Subversion.
My role involved designing and implementing new functionality in the application based on use case documents and wireframes, including unit and integration tests, and fixing bugs.
Job title: Contract .NET/ SQL Developer
Employer: Siemens IT Solutions & Services (Ireland) Limited (IT Consultancy)
Duration: September 2010 - April 2011 (6 months)
Description:
An initial 3-month contract, extended to 6 months, working on support for and enhancements to systems maintained by Siemens IT Solutions & Services on behalf a number of public-sector and semi-state clients including the Irish Naturalisation & Immigration Service (Inis), An Garda Síochána and Irish Cement.
The systems being supported were written in a variety of Microsoft technologies: SQL Server (2005 and 2008), .NET (versions 2.0 and 4.0), BizTalk 2006, and Access. My responsibilities included producing specifications for enhancements and bug fixes based on change requests and trouble tickets received from clients, and the development and testing of these enhancements and fixes. In addition, I carried out some investigative work to address capacity and performance issues in a number of these systems.
Job title: Senior Developer, Escalations
Employer: Leaders Enterprises, Ltd. (Retail/ Point-of-Sale)
Duration: August 2009 - May 2010 (9 months)
Description:
Leaders Enterprises is a leading supplier of Point-of-Sale systems for retail outlets in Ireland; for example, the Spar chain of convenience stores.
The role of escalations developer involved analysing incident reports received by the Leaders Help Desk by customers to determine if a fix was necessary, documenting and producing the fix, and liaising with the QA team to test and deploy the fix to the customer’s site.
The Leaders software is written in T-SQL and C# with some legacy components written in VB6. The version-control system in use was Subversion.
Job title: SQL analyst (contract)
Employer: Accenture/ Microsoft (IT Consultancy)
Duration October 2007 - July 2009 (1 year, 9 months)
Description:
A 12-month contract (subsequently extended) working in Microsoft’s License and Program Operations working on the MSLicense application. This line-of-business application has hundreds of users worldwide both in Microsoft’s own Regional Operating Centres and its channel partners and plays a vital role in managing Microsoft’s licensing revenues. Enhancements to the system are carried out on a quarterly release cycle using a standard SDLC methodology with version control, bug tracking and unit testing using Visual Studio Team System 2008.
My work on this application was to implement new and enhanced functionality for Microsoft’s Select Plus and Open Value and Subscription licensing programmes, and enhancements to Online Services licensing. This involved the production of functional and technical specification documentation and the development and testing of new and enhanced functionality in T-SQL (SQL Server 2005), C# and Visual Basic.
Job title: Contract .NET/ Oracle developer
Employer: Version 1 Ltd. (IT Consultancy)
Duration: May 2006 - May 2007 (1 year)
Description:
A 12-month contract with Version 1, a Dublin-based software consultancy, working on a number of .NET and Oracle projects.
The larger project involved a series of major enhancements to a customer management system for a large UK waste-management company. The application was written in Visual Basic .NET (framework 2.0) with a Microsoft SQL Server back-end (initially version 2000 but migrated to 2005 during the project) with about 70 users accessing the application via Citrix. The enhancement work, which required changes to both the front-end and the back-end, included new Windows Forms and Transact-SQL stored procedures, as well as new reports using Crystal Reports. I developed and tested the enhancements and supervised their rollout, and made a site visit to the UK to gather requirements for the customer for future developments.
I also designed and implemented a simple Web service interface between a Web application being developed for a Version 1 client and the client's accounting package (Sage MMS). This interface consisted of a number of PL/SQL packages and supporting Oracle tables on the database server and a number of ASP.NET pages on the application server to validate the XML and pass the data to Sage. The interface allows order information to be seen in Sage in near-real time.
In addition, I provided XML consulting expertise on a number of smaller projects.
Job title: Contract C++ developer
Employer: Institute of Microelectronics and Wireless Systems, NUI Maynooth (Education)
Duration: January 2006 - April 2006 (3 months)
Description:
This contract comprised a 3-month study carried out by the Institute of Microelectronics and Wireless Systems at NUI Maynooth into the feasibility of an IC mask layout product based on the OpenAccess C++ API supported by most Electronic Design Automation vendors. The proof-of-concept application was written in C++ on Linux (Fedora distribution) using the wxWidgets GUI toolkit and OpenAccess reference implementation.
The project was carried out in partnership with a local semiconductor design business and funded by Enterprise Ireland.
Job title: Contract developer
Employer: XML Workshop Ltd. (IT consultancy)
Duration: May 2005 - December 2005 (7 months)
Description
At this time, I began work as an independent contractor, trading as Kaia. My initial contract was with XML Workshop Ltd., a small software company based in Harold's Cross, Dublin, I worked on a number of projects, mainly on VBA projects and Web applications written in PHP and MySQL.
I developed enhancements for YAWCOnline, XML Workshop's Word-based Web content publishing software, implemented in VBA and PHP.
I developed enhancements for SmartCAS, a Web-based (PHP and MySQL) Customer Acquisition System designed by XML Workshop for Smart Telecom’s call centre.
I worked on the migration of the SmartCAS system from MySQL to Microsoft SQL Server, creating DTS scripts and Transact-SQL stored procedures;
I also worked on a number of smaller projects in a variety of languages including ActiveState Perl and Macromedia Lingo. I also carried out accessibility testing on a number of client Web sites.
I set up and configured a number of Debian Linux servers for development and production use.
Job title: Various
Employer: ESB
Duration: April 1998 - December 2004 (6 years, 8 months)
Description:
From April 1998 to December 2004, I worked for the Electricity Supply Board, initially for ESB International Computing and subsequently for ESB IT Solutions directly when the two organisations were merged. During this time I worked in a variety of roles on a large number of projects.
Technologies used: Java, Oracle, VB6, OpenVMS, Microsoft Access
Job title: Various
Employer: Corel Corporation Ltd.
Duration: July 1995 - February 1998 (2 years, 7 months)
Description:
After graduating in 1995, I worked for Corel Corporation Ltd., the Irish subsidiary of Corel Corporation, an international company headquartered in Canada and specialising in graphical software. During my time with Corel, I held a number of different titles.
Technologies used: WinHelp, WordBasic, VB4, Microsoft Access
Skills
Skill |
Experience |
Project skills |
|
Design specification |
Expert |
Project management |
Basic |
Requirements gathering |
Expert |
Technical writing |
Intermediate |
Database technologies |
|
Access |
Expert |
MySQL |
Expert |
Oracle |
Expert |
SQL Server |
Expert |
Web technologies |
|
ASP |
Intermediate |
ASP.NET |
Expert |
ASP.NET MVC |
Expert |
HTML |
Expert |
PHP |
Expert |
XSLT |
Basic |
WCF |
Intermediate |
Skill |
Experience |
Programming languages |
|
C |
Expert |
C++ |
Basic |
C# |
Expert |
Pascal |
Basic |
Java |
Expert |
JavaScript/ jQuery |
Expert |
VBA |
Expert |
Visual Basic |
Expert |
Visual Basic.NET |
Expert |
Python |
Basic |
Operating systems |
|
Linux |
Expert |
OpenVMS |
Intermediate |
Microsoft Windows |
Expert |
Version control and bug-tracking software |
|
Bugzilla |
Intermediate |
CVS |
Intermediate |
Mantis |
Basic |
PVCS |
Intermediate |
Visual SourceSafe |
Expert |
Visual Studio Team System |
Intermediate |
JIRA |
Intermediate |
Subversion |
Expert |
git |
Expert |
Other interests
- Art & architecture
- Cooking
- Cycling (member of Dublin Cycling Campaign)
- Reading
- Walking