503.545.2542
crfletcher@gmail.com
An accomplished software engineering manager with over 25 years of experience designing, developing, and delivering innovative software solutions across various domains and platforms.
My passion for software engineering began in electronics, where I quickly learned the ropes and switched to coding. I have worked on diverse projects, from paper mill automation and various language conversions to full-stack desktop and web applications. For the past 10 years, I have been a key member of InFlight, a company that modernizes older web-based enterprise software, like Oracle PeopleSoft, which Skuid recently acquired. There, I have grown from a senior engineer to a solutions architect and now an engineering manager playing a vital role in preparing InFlight for its acquisition.
I have lots of experience implementing software solutions and have become a trusted go-to for challenging problems. I have the proven ability to quickly grasp the logic and structure of any system and apply my skills to solve problems or enhance functionality. My last ten years at InFlight required me to integrate our software into various customer systems requiring me to think outside the box for solutions continuously.
I have solved many complex problems over the years by leveraging the expertise of my team members. I have honed my skills in identifying and collaborating with the right people for each task. I've also ensured we have precise and updated documentation to facilitate smooth transitions as we hire new team members. I maintain regular communication and feedback and conduct 1:1 meetings to help stay in touch with my employee's challenges and assist them in meeting their goals.
I excel at asking the right questions and listening. I strive to comprehend the problem(s) and the goals and feelings of each team member and apply my emotional intelligence and empathy to decide and advance the project.
As an engineer and a leader, I have participated in various projects. I collaborate with customers, technical project managers, and upper management to coordinate teams and ensure timely and cost-effective delivery of the product.
I have strong organizational skills and can ensure the team's coordination and autonomy. I create and manage capable teams, streamline their work process, and foster a positive and open culture.
As a leader, I pursue continuous improvement. I developed my technical and managerial skills, such as time management, decision-making, goal setting, and task prioritization. I aim to be an effective manager.
At Skuid, initially my primary job was to work on integrating InFlight into Skuid. Since Skuid apps are primarly built with XML underneath, I figured out a way to dynamically derive how our InFlight Angular apps are built and compiled on the fly. After this was well underway, I began leading the team as Engineering Manager responsible for:
At InFlight, I have worn many hats since I joined when it was a young startup. I worked with/ the company founder as his first engineer to build out and further the product. Initially, the product was a reverse proxy that would make requests to PeopleSoft to run HTML transformation rules, which would modify the request/response content to allow for SSO and surfacing in an iframe. We created a group of web parts in SharePoint 2010, 2013, 2019, and o365 that would allow users to add the URL from PeopleSoft to show specific pages that surfaced inline within SharePoint. Over time, I played a key role in evolving the product to the point where we would extract the form data from systems with older UI like PeopleSoft and return JSON data objects, which could be consumed by angular projects to offer our customers modernized, responsive, mobile friendly editions of their underlying application.
I was responsible for finding interesting ways to integrate the product into various customer systems, gathering requirements, creating a POC, and leading a team of engineers to complete the integration while staying on time and schedule. Some notable projects include:
As a contract developer, I wrote an ASP.NET application with front-end and back-end field and business rule validation. To ensure code reusability and extensibility, I created a client-side framework using JS/jQuery that established good patterns. Additionally, I developed several jQuery plugins to improve the record-adding experience for the UI and to enforce business rules.
Since the application was to be offered in multiple languages, I localized the ASP.NET controls/pages using built-in .NET techniques. To handle JS localization, I created a highly performant HTTP handler that used a regular expression search/replace pattern. I applied a similar approach to ASP.NET pages that contained static HTML.
After being recruited for full-time work by IAG, I joined their team to work on their main product. The product was initially written in VBScript and partially converted to JavaScript with a custom .NET 2.0 Windows service-based backend for data access, security, and business rule handling. However, there were many challenges with the original design, particularly concerning scalability. The original designer was loading all data into memory and using a proprietary data transfer format.
My task was to help finish converting portions of their core application from VBScript/ASP to JavaScript/ASP.NET. I also made recommendations for improvement where required. I noticed that the engineers were writing everything themselves from scratch in JavaScript, which gave very little chance for code reuse and led to more buggy code. To address this issue, I introduced jQuery AJAX and the Telerik AJAX Control Suite. These technologies allowed me to make significant improvements to the project.
Later, I designed an architecture where jQuery communicated with web methods and formed an abstraction layer between the UI and the backend code. This allowed us to begin replacing and reworking the backend code without immediately affecting the currently running code. During testing, we could switch from the old version to the new one upon final QA approval and move on to the next area of improvement. This approach helped us make server-side improvements as we worked on the Windows services to remove unnecessary caching. On the client side, I used AJAX-based lazy loading to improve performance and usability.
This was a short contract where I created an MS Access application for interoffice use that tracked engineering information from throughout the area and then reported on it.
I was also involved with re-architectural plans for converting legacy applications to ASP.NET using the Telerik control suite.
I acquired a contract from Matrix Information Consulting, Inc. for UPS Supply Chain Solutions. I began working with them to convert a major supply chain solution software package called Gemini from VB6 to .NET. I was involved in this project from the ground up. I was tasked with analyzing the existing software, converting existing and new business requirements to functional and technical design documents, and hiring additional contractors. Our goal was to create a better Gemini using .NET. To achieve this, I created a project plan with multiple stages so that we could put out new features for Gemini each quarter.
We used .NET’s interop and COM capabilities to incorporate new features into the VB6 Gemini application, such as multithreading, web services, OneClick updates, and using SMO for database communication and manipulation. We also replaced MSDE with SQL Express 2005. We replaced the SOAP Toolkit with .NET web services and redesigned their user interface and off-line rating system from the ground up.
I gained much experience converting their VB6/COM/COM+/MS SOAP toolkit API to .NET web service-based API and supervising the transition for several major, already connected clients.
I was also involved in the re-architecture of their online suite of applications called MyFreight. The application was entirely written in Classic ASP, and my task was to convert it to ASP.NET 2.0. I worked on the architectural design for this and oversaw its progress, leading a team of engineers.
Later, I worked on a project to replace the single sign-on technology using MS Site Server with a custom in-house design using ASP.NET and ADAM LDAP for authorization and authentication. I designed this from scratch and implemented it.
Excited to land a gig at a web app agency, I helped them finish a major .NET web application project that I took over after their former employee had left the company. The company was behind schedule and losing money, and I quickly finished the project using C# ASP.NET 2005/SQL Server 2005, T-SQL, CSS, HTML, and Photoshop. I worked with their project managers, designers, and other engineers while coding the backend for this application, including a feature-rich CMS system that allowed them to change form input fields and design. The project was www.sunstone.com. Since my coding design was well documented and intuitive, the project was taken over by their staff, where they could add even more features easily.
After working on that project, I was promoted to Lead Developer and began a new project where I could design the backend from the ground up. I designed a CMS structure that the company uses repeatedly without having to reinvent the wheel every time they create a new web application for a client.
In addition to my development work, I coordinated outsourcing to India for various clients and specific parts of the new CMS. I also introduced AJAX methodologies to the engineering team and improved the look and feel of many future web applications. Finally, I coordinated with clients and often worked on-site with their engineers to implement code specific to their needs and environments.
Panther Systems creates software to be used at paper mills and I worked on several of their VB6 and later, .NET based windows applications. These included such applications such as Panther Reports, Helpdesk Manager, Timekeeper, TestCentral Web, Roll Line Supervisor, Process Analyzer and MillTools. Most of these applications communicated with paper mill machinery using OPC/DCOM -> Serial/BCD/TCPIP services which allowed for realtime analysis and control.
Managed all aspects of the IT department for a mail order pharmacy
branch, including networking, microcomputer configuration, printer
maintenance, VAX/VMS maintenance, and employee technical support.
Key
achievements:
Responsible for all areas of maintenance for two machines: Westech Planer and Ontrak Scrubber. I worked with a team of engineers to improve and maintain uptime for production.
I worked as a LAN technician for one year assisting with the installation of workstation in the new Ronler Acres facility and with the transition from static IP’s (windows 98) to DHCP (Windows NT 4.0).