Download Resume for Donald MacLaren - Software Contractors` Guild

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Donald C. MacLaren
12 Kimball Dr.
Epping, NH 03802
(978) 853-7469
[email protected]
SKILL AREAS:
Cloud Computing and Service Virtualization:
OVF/Vmware, Amazon AWS (vpc, aws toolkit, cloud formations)
Hypervisors:
VMware, AppLogic, Virtual Box: used
Platform as a Service:
OpenShift: familiarized with Broker, Node, Gear, and Cartridge architecture
Languages etc.:
Java, Python, Ruby, Bash, REST, Json, Yaml, Linux, ssh config/tunneling
EMPLOYMENT:
Senior Software engineer (February 2010 to 2013) CA Incorporated, Portsmouth, NH
Developer of CA’s application deployments in the PaaS.
Selected Projects: Platform SaaS (April 2013 – November 2013)
Assumed a role as a developer for the deployment of SaaS applications into the PaaS. Work
encompassed working with the Partner applications to ready their Code base structure to allow
deployment into the PaaS. Worked on developing Open Shift Cartridges for the common
platform framework based on the SaaS application needs. Product deployment was into the
Amazon VPC that was set up with Cloud formation templates using the SaaS based application
deployment model.
Language, technology, and product usage for this Application deployment architecture
consisted of; developing Python and bash scripting utilizing Yaml and Json. Created
automated test scripts, and customized test harness, Python based, to test the SaaS
deployments. Wrote playbooks using Ansible IT orchestration engine for deployment
coordination.
Enterprise Platform (May 2012 – April 2013)
Assumed a role as a developer on deploying CA’s Enterprise applications as a suite of Virtual
Machines based on the Open Virtualization format (OVF) specification. The role evolved from
the Enterprise OVF structure format. From OVF, we deployed into the Amazon VPC utilizing
the AWS toolkit from Amazon.
Using CA’s Process Automation manager, constructed the framework to deploy Enterprise
Applications into the enterprise platform which consisted of Virtual machines. Each
Application could encompass multiple Virtual machines. This framework allowed groups to
use this deployment during their continuous integration (CI) builds.
Developed a Custom OVF editor for the framework to edit and prewire the Virtual machines to
the CA standards and allow the wiring of the multiple VM’s per product. This API was written
in Java to the Java 7 release.
Language, technology, and product usage for this Application deployment architecture
consisted of Ruby, Java, Bash, JavaScript, CA Process Automation, AWS, OVF specification,
VMware API.
Service Operations Insight (SOI) (August 2011– May 2012)
Assisted in quality assurance performance testing for the AOI product during its mature release
rollout. Tests were also performed for current development and backward compatibility.
Testing consisted of using internal testing harnesses and custom scripts. Major focus to
complete this testing was a deep understanding of the product and its offerings and the
integration with the existing applications that had connectors into this product.
Spectrum (January 2011– August 2011)
Worked on the reporting section of the Spectrum product. Major focus was in Business objects
to develop new and refactor existing Reports and universe modeling. Also researched the
ability to move the product into the use of the Web Intelligence reporting structure.
.
Senior Software engineer (February 2008 to January 2011)
CA Incorporated, Portsmouth, NH
Supporting the development needs of CA’s GRC application using the Clarity platform.
Selected Projects: CA GRC Manager
Assumed a role as a developer for design, implementation, maintenance and bug fixing.
Worked remotely at the Portsmouth Location in a group of 3 using Scrum as our Agile
development process. During this role I was challenged with creating areas of the compliance
product within the Clarity platform while coding Java services for implementing business
Logic. During this time, I was also implementing enhancements and bug fixing on the base
Clarity environment with porting to the respective releases and implementing Cogix based
questionnaire services. Work within this group consisted of Java and XML with the addition
of 3rd party products for integration including Business Objects and Cogix.
Business Objects Reporting Platform
Lead developer in implemented reporting for CA GRC product. Design consisted of creating
and implementation of the Universe and reports to work with the current GRC Database and
Clarity infrastructure. Managed the development effort in a group of two developers using the
Scrum process.
Senior Software engineer (February 2006 to May 2008)
CA Incorporated, Portsmouth, NH
Supporting the development needs of two products where functionality and design are identical across two
languages and frameworks. Currently implementing a reporting product over Java and C#.
Selected Projects: Storage Applications Integrated Platform
Developer for implementing a framework that delivers a common administrative look and feel
and infrastructure to the various CA storage applications. Developed using Java, JSF, MSSQL
2005.
Architecture and development of a Policy Management Subsystem, a component of the
platform that provides a unified, business user oriented Policy and Configuration System.
Business Objects Reporting Platform
Lead developer in implemented reporting for CA Compliance products.
Currently designing both C# and Java, component based reporting platform that tied into
Business Objects Reporting Enterprise Platform.
Created standalone windows based installer using install shield for .net application.
Designed/implemented Crystal and Web Intelligence reports and the universe exposed for both
canned reporting and Ad-hoc reporting abilities.
Senior Software engineer (June 2005 to November 2005)
Cybertrust, Portsmouth, NH
Worked with a small team of 7 people.
Products, languages, and systems used in this effort were; Weblogic, XML, Web services, J2EE, Struts2.0, Struts
1.0, Eclipse
Selected Projects: Risk Commander
Duties included upgrading application front end to Struts 2.0.
Implemented new design of EJB layer for better performance applications needs.
Worked on XML design for data feeds into application through the products CMS repository.
Java J2EE Contractor (April 2003 to Present)
IDEXX Laboratories, Westbrook, ME
Work on this contract included the technologies of JBOSS, Java, J2EE, EJB, Tomcat, and Oracle. Project’s focus
was to upgrade from JBOSS 2.4 to 3.2.1 and to implement upgrade enhancements which included new
development.
Selected Projects: EConsult application
This is a production application that Idexx call centers use to provide services to Vet clinics
around the world. Calls from vets can included ECG for animal diagnostics and faxed
information to complete consults that are sent to Idexx consultants where they can view the
online web based application to determine cause of issue with information provided and render
their medical analysis and inform of correct procedures and or medication for the patient.
Tools, languages, and products used on this contract included JBOSS 3.2.1, Java, JDBC, EJB,
JBuilder 7, Optimiziet 5.5, Toad, and Oracle.
This contract had two phases, upgrade and enhancements.
The existing site was using JBOSS 2.4.1 and needed to be upgraded to JBOSS 3.2.1. Work
included in this phase was to configure JBOSS configuration files and to update build and run
scripts to work in the updated environment. Application changes were needed to run in 3.2.1
due to allowances that 2.4.1 allowed in contrast to the J2EE specs for EJB needed
modifications before the application would deploy and run in the upgraded version.
Enhancements included bug fixes, new development, and performance tuning.
New development was designed and coded to work outside of the current
applications framework. This framework was written in Java by a 3rd party
contractor and had memory, processing issues and forced non J2EE code
module design.
Java J2EE Contractor (March 2002 to February 2003)
Bridge-Line Technologies, Woburn, MA
This five month contract included two applications. A content management system and e-commerce application
was the focus. Technologies used were The system for this application is Iplanet Web server 6, SP1, Apache,
JBOSS, Tomcat4.0, MYSQL, Oracle 8i, SQLJ, JMS, and Java 1.3.
Selected Projects: E-Commerce website
Main task for this project entailed designing and coding. This website was to currently handle
smaller loads but be able to scale to thousands of hits a day. This application follows a
modified design of the older J2EE PetStore framework. Major Architecture pieces of this
application include a caching framework for catalog items, Cache updating for all registers
code(Observer pattern based), JMS clients that currently uses an IBM MQSERIES
implementation. Both EJB of Entity and Session were used to Spec 2.0. JBOSS-3.0
application server was used with bundled Tomcat 4.0.
Designed order path support for both front and back end use. Worked on integrating
promotions and calculations into both cart and Order use. Designed the rough draft database
schema used across the site. Front end design allows for 1 to n sites based on URL. Based on
the URL, the front end will dynamically change look/feel and display the product catalog.
Most of this site in its current use is maintained by an admin piece used for maintaining all data
used across the site from affiliates, promotions, shipping rules, and catalog management. This
piece of the site utilizes the same framework and a large percentage of existing objects. New
EJB objects were created for most of the order and catalog paths due to the need existing for
the e-commerce piece using other methods of design.
Content Management System
Developed and supporting a web based content management system (CMS) for internal use.
This application utilizes simple form based logon storing user roles in a session-based object.
This system is used for updating all content in their production application, which receives
published files from the CMS server. There are 2 pieces to this CMS. One is for uploading
files and the other is for editing live in the CMS site. ActivEdit technology was used for the
formatting and HTML source view for dynamic use. This produce used the DHTML
component shipped in IE 5.0. Users have the ability to surf the directory tree to find the
specific file to modify. Once a file is updated, it is moved to an approval stage. From approval
to Legal stage then to a publishing stage. Each time a user (edit, approval, legal, publish) takes
ownership, the file is locked in that process for that user until a process is completed, cancelled,
or rejected. A lock management thread maintains this consistency with the database. Files are
published using FTP to production servers.
Java J2EE Contractor (December 2001 to March 2002)
Request Engines, Brighton, MA
Current work is Updating older Web based application to J2EE standards for web-based framework. For n’tier
environments using Java technologies and Oracle 8i EIS layer. This work entails removing a tightly coupled
application from its existing framework to separate business logic from presentation logic. Additional daily tasks
were to code new functionality, bug fixes and provide QA support. The system for this application is Apache,
Tomcat4.0, Oracle 8i, SQLJ, and Java 1.3 The system for this application is Apache, Tomcat4.0, Oracle 8i, SQLJ,
and Java 1.3.
Selected Projects: Create new functionality/maintain existing
Main task for this project entailed designing and coded new functionality for the web based
property management software. Most current work centered on completing new areas to the
web system. A visitor engine was built for the ability to thoroughly log all entrants into a
building. This system allowed tenants to individually enter any visitor that would visit and
allowed them some functionality beyond simple name entry.
Developed badge printing functionality on a second interface to the application for the security
guards desk area for allowing sign-in functionality, name lookup, and Badge printing.
Designed web based application to create dynamically formatted badges that could be printed
at the client site with just the addition of a thermal badge/label printer. No client side
development was needed.
Worked on design of porting the old application from Jserve to Tomcat4.0, decoupling the
existing framework/application to one that separated the business logic from the presentation
logic into a J2EE designed system to allow for scalability and product growth.
Java J2EE Contractor (September 2001 to November 2001)
Currently working on miscellaneous projects for fellow contractors. Development for all projects are written in
Java to according to J2EE standards and used to run in either web or n’tier environments using Java technologies.
.
Selected Projects: Miscellaneous Projects
Completed creating a stripped down J2EE framework of the SUN, Pet Store implementation.
That implementation consisted of developing modifications to the design to remove coupling
of the application specific code from its original design. These changes allow for the
Framework to be void of application specific code that uses it. Along with these changes are
build scripts and a base implementation of code to show an implementation of the framework
from front to back end.
Created an Implementation of the Log4J from Jakarta project. This logger was created to
store class specific instances of the logger and used utility classes to read through the call
stack to derive the class it was thrown in and held as a singleton for use by other calls in that
class. This was created using a modified Flyweight pattern.
Created multiple EJB's with bean-managed persistence for an e-commerce web site. This
development effort included 5 EJB’s (one implemented as a facade), 2 Data Access Objects
(DAO) 3 Value Objects. Focus of these beans was for creating Membership abilities.
Created a SQL tool that would read in a properties file of SQL statements and return the
statements or construct a PreparedStatement based on parameters.
Created a RMI server for retrieval of remote properties files.
Java J2EE Contractor (February 2001 to July 2001)
Viridien, Westford, MA
Worked on building an E-commerce main web site for CVS.com drugstore. In this project, I assumed a role as the
lead developer for web centric components using Java, JSP, and EJB technology in an EJB centric Model View
Controller Java framework. Technologies used in this development were I planet application server, Jbuilder, Ant.
All code was written to the J2EE standard and run on a Solaris environment.
Selected Projects: CVS.COM
Developed and designed all front end JSP pages for the order path and misc. pages to interact
with the Sun/MVC framework. Worked on coding implementations of EJB and non-EJB
(helper/value/DAO)) Java classes for the order path. These classes were and interacted with
request handling and event handling as well as session model objects. Daily work involved
coding web-centric objects (JSP, helper, value) interacting and aiding in working function and
coding details with backend EJB and front-end developers. Created EJB/DAO Bean
managed persisted objects.
Other focus was mentoring and managing a JSP person as to standards and applying Java
technology as to the use of the MVC framework.
Principal Software Engineer (August 2000 to February 2001)
Enterprise Architecture, CMGI., Andover, MA
Assumed a lead developer role in creating applications for a web site designed for all CMGI owned companies to
communicate in their executive roles. Main focus was creating a linear thread discussion group application,
Session, and a document repository. Assisted in configuring Apache and Dynamo and created documentation of
these products to the group. Role included training and mentoring 2 software engineers. Managed the project
through the development process and insured the successful integration into the production environment.
Selected Projects: Threaded discussion/session/Document repository
Design and developed a threaded discussion (forum) application. This application was
developed using JSP/JavaServlets/ Java classes/and JDBC using an Oracle Database. This
application was built using a structure of a linear discussion format. This app was built in the
web archive structure with ANT and deployed into Dynamo as a J2EE application. Worked
with a consultant on creating a document repository for storing documents as blobs into an
oracle database. Allowed users to retrieve and delete (if the creator). Also created session
logic for keeping a light form of personalization in the application. This process kept these
applications role based. Roles were divided by rank (CTO, CTO, etc.)
Other focus was 1. To Mentor and train two software engineers in Java technology and to help
in working in a Unix environment while informing them how to use the selected technologies
used in the web environment. 2. Configuring Dynamo5.0, Apache web server and to port an
existing conference room application from Tomcat3.0 to Dynamo5.0 using the latest
JSP/Servlet specification. 3. Create other Miscellaneous applications that comprised of JSP
pages making JDBC connections to an Oracle Database.
Senior Software Engineer (January 2000 to July 2000)
Enterprise Architecture, CMGI., Andover, MA
Assumed a senior role in developing a conference room application for use in an intranet site. This application
was able to do the basic functions of a scheduler. Configure Apache and Tomcat 3.0 on a Unix platform.
Technologies used here were JSP and Java classes using JDBC to an oracle database. Batch applications were also
created for some update and notices. .
Selected Projects: Conference Room Application
Worked as a sole developer on this application. This application was used to reserve rooms,
request projected times of reservations, view reservations, and get directions. Also, there is
an administrator section that will approve requested reservations and have toe ability to edit
and delete existing reservations as well as add and delete conference rooms. Batch jobs
allowed for notifications of nearing reservations. Technologies used were Java, JSP, Servlets,
JDBC, and Oracle. Apache and Tomcat were used to serve up the applications.
Responsibilities were to configure these servers. Worked on creating miscellaneous
applications to parse out data feeds from departments that feed data for this intranet site.
Senior Software Engineer (June 1 999 to January 2000)
Corporate Legal Information Systems, Liberty Mutual Insurance Co., Portsmouth, NH
Assumed the lead developer role with a staff of one for a software development project. Worked closely with
clients to translate written and verbal business requirements into technical requirements and programming
specifications. Managed the project through each phase of the software development process and insured the
successful integration with legacy applications.
Selected Projects: Case Management Application Implementation
Serving as a technical consultant in the selection and implementation of a third party Legal
Case management software package for 1,000 users. Responsibilities include selection of
potential vendors, coordinating vendor presentations, conducting architecture making final
recommendations and creating beginning Project Management deliverables. Current role after
selection of vendor and product will be the technical lead developer in creating connectivity
to legacy systems.
Legal Claims Clearing House
Lead developer responsible for the design and development of an Operational Data Store
(ODS) used by internal Legacy Legal Systems (Billing, Expense, Claim tracking) and Liberty
Affiliate Companies. This Application/Database was used for tracking all Legal litigated
claims for Affiliate companies. This system applied all Liberty Business Rules and Edits for
Claims and fed all Liberty Legal and financial legacy systems claim data. The system
currently services three affiliate companies and 30,000 claim records on a daily basis. This
application was developed using Java 1.2 (Java2), IBM VisualAge for Java, DBArtisan, the
Java Servlet API, HTML, JavaScript, JavaMail API, JDBC, Sybase jConnect, UNIX (AIX),
Netscape Enterprise Server and Sybase SQL Server.
Software Engineer (January 1998 to June 1999)
Corporate Financial Information Systems, Liberty Mutual Insurance Co., Portsmouth, NH
Actively assumed a developer role for several interfaces to an existing General Ledger Application.
Worked closely with Financial Accounting clients to translate written and verbal business requirements
into technical requirements and programming specifications.
Selected Projects: Financial Billing Upload Application
Served as lead developer responsible for the design and development of an expense
reporting based application for the Financial department. Worked closely with clients
to translate written and verbal business requirements into technical requirements and
programming. This application was an interface to an existing expense management
system used on a mainframe platform that was updated nightly through job feeds.
This system allowed users to Update the Financial General Ledger system on a Real Time basis. This application supported 500-600 users on a month end basis. The
system uses a Client server architecture and was developed using Visual
Basic(business layer), Microsoft Excel & VBA(Presentation layer), IBM MQ Series
Client(Connection between PC & Mainframe), DB2, CICS, and Cobol.
Financial General Ledger Support
One of three software engineers working on new development and maintenance on
the Financial General Ledger System. This role was to support all input to and
reporting of the General Ledger Accounting System. This consisted of support for the
entire companies financial transactions. My role included development and
maintenance of interfaces to the GL system and analysis of impacts of acquisitions
while applying accounting rules and methods. This System was on an IBM
mainframe with DB2 as a database. Languages used were Cobol, CICS, JCL, SQL,
REX.
IT Consultant (February 1996 to January 1998)
Software Consultant Keane, Inc. Boston, MA.
Actively assumed both a Business Analyst and Developer role in consulting. On-assignment at Fidelity
Investments. Performed systems analysis, design, programming and implementation to assist in a transfer
system conversion and to bring the mutual funds system to year 2000 compliance.
Selected Projects: Consultant Y2K.
Analyzed COBOL, CICS, JCL, SYNC/SORT/, IDMS code modules containing 10
million lines of code using an IDMS database. Analyzed and coded programs with
Y2K date failure points. Created unit test plans and tested programs with online and
batch debuggers and used database query tools for data verification. Member of a
three-person team using an in-house scan tool for analyzing/documenting client
server code. Analyzed Java, Oracle, Sybase, C, C-Scripts, and MS Access code.
Consultant Business Analyst/Tester.
Systems Analyst/Tester on a conversion from a DST to Dart Transfer Agent System.
Responsibilities included creating system test plans and testing programs that were
modified or newly created for the conversion process.
Accounts Payable Clerk/General Accountant (February 1994 - February 1996)
Performed general Accounts Payable function. Reviewed and processed expense reports, vendor and subcontractor invoices, identified and researched discrepancies, and maintained databases. Worked audit
trails and created journal entries during monthly and quarterly closings
EDUCATION:
SUFFOLK UNIVERSITY, Boston, MA.
Bachelors of Science in Accounting. G.P.A. 3.75.
NIAGARA COMMUNITY COLLEGE, Sanborn, NY.
Associate in Accounting. G.P.A. 3.3
References available upon request