Pulsar Security wanted a modern admin interface to expose the inner workings of their security application and give their clients control over the functionality that they existing security application had to offer. I helped them build a typescript-based react application that was well documented and read from a mock data service that I developed myself to make it as simple as possible for a backend developer to fill in the information to the frontend.
Using typescript on this project made the application that I could leave behind so much more clear and readable. The devs at Pulsar were very happy with the work, and were familier with C# and other strictly typed languages which made the typescript I left behind so much more valuable to them.
Unified Office needed to integrate a hub able to read ZigBee packets with a series of wireless, low-power-usage temperature sensors. This integrated with an application that they could market to restaurants to help managers protect the next day's food stock by monitoring refrigerators overnight and getting notifications if any refridgerater or freezer falls outside safe boundries.
I developed an application based on the zigbee standard that read the bits of a zigbee packet and read the results of the temperature sensors. I then reported the data back to a database and ensured that it could be read by the existing application.
I knew this would be a temporary role and I wanted to leave excellent code documentation and the client did not want to use typescript for this application. To leave the best, most clear code documentation I could, I unit tested everything I did so they had clear examples of how the code was meant to be used.
Medicus Healthcare Solutions is a medical recruiting company specializing in temporary (Locum Tenens) doctor postings.
Medicus needed an internal tool to replace their aging internal CRM application with a newer one that would be built to be a more long term solution. The needs evolved over time and I transitioned from building PHP microservices on the backend, to building the frontend, Vue.JS based frontend of the application, to building C# services to support data quality.
I was very happy with my ability to shift to meet the evolving needs of the company with very little downtime. Learning these new technologies enriched my career, but I knew enough about them to begin with, just out of my own interest, that I was effective and productive with them on day one. This created a win-win situation that I am very proud of.
Silvertech is a web development and marketing agency based in Manchester, they specialize in large scale, content-managed websites for banks, hotels government agencies and other large institutions.
At Silvertech I delved deeper into the frontend role and learned that aspect of my craft much more deeply. I learned each of the three major frontend technoligies, Vue.JS, angularJS and React while on this role, and got exposed to backend technologies like Sitecore and Kentico.
One of the major themes that became very important was Web Accessibility, WCAG and ADA compliance. I was helping to build websites for large banks and other, similar institutions, and these institutions needed to be able to substantiate to government agencies that information that was made available on their website was accessible, that means that if you are blind, colorblind, deaf, or motor-impaired that you should still be able to navigate these websites effectively.
I was given a course in WCAG compliance and was successful in helping to make a major regional bank's website WCAG compliant.
I was approached by Griffin Greenhouse Supplies to become their primary in-house developer for their new e-commerce initiative. This workplace was very unique for me because they had no previous developer or development environment. Before I began working here they relied on external IT services entirely.
I quickly found myself making crucial platform and development decisions for the company's online offerings. Beyond this, I found myself taking on new and varied roles to meet the company's multifarious technical needs, including promotional video production, social media consulting, videography and photography, project management, catalog production, and automation.
I also found myself in the position to take more technical leadership than I have had at any previous job. Without an in-house technical lead, the company's technology choices were fractured and disparate. They lacked tools to do simple tasks like file transfers, task management and sharing, and managerial project oversight for anything more complicated than a simple sale. While I was not given the power to make technical decisions on behalf of others, I was able to sway opinions within the company executive committees using compelling arguments for modern high-quality, high power solutions that would eventually go on to change how the company worked.
Overall this was a very powerful growing experience for me. I was challenged to do work that might have been outside my comfort zone before, and it put me in better touch with the fundamentals of my trade and the nature of the platform choices that I make, and how those choices effect the people I work with in a practical way.
The customizations were often Reports that needed to pass through millions of records of information and return condensed results which required intelligent use of memory and MySQL temporary tables to process large amounts of information in the most efficient way to suite the needs of the clients in the custom reports. Other projects involved custom triggers that would notify clients when their stores met certain conditions.
These projects required efficient use of data and system resources, and creative ways to use iterables and temporary tables to handle large sets of data efficiently in PHP and MySQL.
Cadlearning is a leading provider of AutoDesk Training systems. They have a Moodle-based video delivery platform that was based on a legacy version of Moodle and needed a proper CDN. While there I maintained and modified proprietary customizations for their Moodle sites, as well as copied and duplicated instances of their system as they brought on new clients.
New courses containing thousands of videos are created in a complicated process each year, I wrote bash and PHP scripts to automate the transcoding and uploading process for these new videos as they were completed by the content creation team. I set up a clear technical process that fed videos into the CDN as they became available, saving content creators and editors time they would have otherwise spent manually uploading, tagging and cataloguing videos in processes that could have taken weeks of manual input.
I also automated processes that were already taking weeks of manual input. When I arrived, the company had more than one hundred distinct instances of moodle - one for each major client. They had no way of distributing courses created in one instance of moodle to another, meaning each year, on a schedule, they had video editors and business managers manually inputting courses across hundreds of sites in a process that took weeks of multiple people’s time. I created a tool that allowed them to create a course once in one moodle instance and send the course to selected clients with the press of a button, freeing business and video editing teams time and saving the company money.
Rovion was a startup in Boston that was acquired by PointRoll after I was done with my temporary position there. They provide a platform that allows non-technical users to create flash and html ads using an intuitive web-based interface called RAMP.
I worked on several small features and bugs during my short time there, but my major contribution was a tool that allowed users to create an ad and then visualise that ad on their own webpage. They could input any public facing URL and an engine would save the page as an image and set the ad in a movable container on screen so that they could visualise where the ad might fit on their page.
Wedü was my first regular web job, and it mostly consisted of parsing PSDs into functional HTML and CSS websites. I learned quite a bit about cross-browser compatability. This was also the time when we had to support Internet Explorer 7, and a lot of us remember the headache that was!
I was beginning to grow as a developer quite a bit while I worked there with side projects and learning how to use PHP frameworks. Their backend admin system that allowed clients to control the content on their new pages was old and had no system or framework behind it. Towards the end of my time there I developed a new back end for them that revolved around Codeigniter and allowed for modular activation of administrative features, allowing product managers to sell packages to clients in a clearly defined way with easy on-and-off switches for functionality.
J-Cap Web Design was my own business that I ran while I was in college after I had learned the basics of web development from my mentor at HOA Online Resource. The name came from my own name, Jeffrey Carl Allen Parrish - JCAP.
While I was learning new ways to write better code and design better websites, I also had to understand the entire web development process in order to get anything done by myself. I had to start by selling my services to a new client that I had just met, then I had to seek to understand their needs, and sometimes develop specifications for the client to understand the service I will provide, then I could get to the actual development of the product. Finally I had to support projects and struggle with how to bill for support hours after the fact. I had to learn on my feet, and adapt what I knew about the technology to each client’s completely unique needs.
One of my favorite projects that I did while running this business was a complex form builder tool that allowed the client to dynamically control their questions. It was for a software company in Manchester that had a sophisticated modular product, and the form was a Needs Analysis tool for onboarding new clients. They write new modules for their product all the time, so - naturally - new questions would arise. This tool allowed them to tailor their needs analysis as their product changed, and this tool is still in service at time of writing.
I attended Manchester Community College for my computer science training. Unfortunately, there were two classes that attended the college - those who had a technical background and came to college for the degree, and those who were curious about programming and wanted to actually learn. The latter were often underserved at the college, and I was given the opportunity to help some of them
I mostly taught html and basic programming concepts, explaining variables as containers and showing them basic programs with input and how it can output. I found that concepts and code started making sense to students when they could input their own figures, usually numbers, into an application and watch it change the output based on their code - and it was very satisfying to see concepts ‘click’ with them.
This is where I first started working on any kind of development. A friend of the family, met through church, was interested in mentoring a new developer to offload some work onto.
I worked on my very first programs when I was there. One of the first things I did was to create a dynamic pdf generation tool, that would draw a legal form line by line with user input. This allowed homeowners associations to deliver documents to home owners to sign, with their information filled into the form before printing. This saved homeowner’s time and made the signature process easier for homeowners associations.
I built Desjardins in Manchester a new website to replace their aging one while I was running my Business for J-Cap Web Design. I found them as a client after going door to door in manchester on elm street to ask all of the businesses if they had any web-related needs that I could fulfill. Desjardins was interested and I built them a new website based on the content from their old site.
While I was proud of the design work that I could fulfill that I did on the website, after I built their website they contacted me about other technical needs that they had with their access database that they had on their computer, and other basic technical support that they needed on their older PCs that they used to manage their business. I found myself becoming their technical support person, and I was happy to fill the need. I was happy to do the work, even though it might not have been the kind of work I intended to do, and I am not ‘above’ providing technical support, and I make it a point to become flexible in any role to either learn a new technology as the company needs evolve, or to help with other roles that I might not normally consider to be my job description.