Patrick Canfield
Verified Expert in Engineering
Software Developer
An engineer with a right-brain-hemisphere orientation (a unique combo), Patrick is good with lateral thinking, visual problem solving, green-hat thinking as well as the analytical reasoning that engineers typically rely on. He has a decade of professional experience, recently in front-end web tech (React.js, Redux, ES.Next, Webpack, Angular, Backbone.js, and jQuery). He's currently learning about the psychological foundations of UI design theory.
Portfolio
Experience
Availability
Preferred Environment
Git, MacOS, Linux
The most amazing...
...thing I've created is at EventRay.com/learn/logic/forms
Work Experience
Co-founder | Front-end Engineer | Chief Marketing Officer
EventRay
- Wrote code for hovering error feedback next to associated input on a form.
- Contributed to the landing page design.
- Built end-user help pages.
- Developed a predicate logic-building UI.
- Wrote code for responsive toolbars.
- Wrote highly reusable code for building CRUD interfaces.
- Helped fix bugs in an open-source library, React-Popper.
Senior Front-end Engineer
Metromile
- Created rapid prototyping scaffolding.
- Wrote the code for displaying a map showing recent trips.
- Wrote a shimmer animation loading feedback Angular directive.
- Contributed to a testing framework.
- Significantly rearranged the customer-facing front-end code to fix race conditions.
- Initiated a weekly company-wide front-end engineering sync.
- Wrote an Angular directive for fading in a background image once it's fully loaded—eliminating an ugly distracting loading flicker.
Software Engineer (Remote Freelance)
GoGet.fit
- Established an agile process using Pivotal Tracker, Google Hangouts, and Bitbucket pull requests.
- Helped design a mobile app's API.
- Implemented front-end Angular services for interacting with the API.
- Wrote the first unit tests using Angular-mocks.js and Jasmine.
- Wrote the first end-to-end tests using Protractor.
Senior Software Engineer
Synack
- Developed the ID verification step using the Jumio API.
- Set up a JavaScript unit testing with Jasmine.
Software Engineer
Constant Contact
- Developed a Marionette.js-based social post scheduling interface.
- Introduced Backbone.js to a young project in need of structure.
- Helped implement unit testing with Jasmine.
- Developed a sophisticated color picker using Raphael.js.
- Created a new project yeoman generator.
Co-founder | Developer
EventRay
- Developed a WYSIWYG conference badge design.
- Constructed a D3.js-based graphing library.
- Developed a conference-center-oriented event scheduling app.
- Created the Prezi presentation that was submitted without a successful application to an incubator.
- Wrote the landing page with HTML/CSS.
Software Developer
Adtec
- Created a tool for viewing the current LCD output of a remote embedded system from my development machine.
- Introduced a C++ unit-testing framework.
- Developed an interprocess messaging service and an SNMP daemon.
- Created a service for parsing and aggregating TV guide data.
Experience
EventRay Logic Builder Documentation
https://eventray.com/learn/logic/formsMusic Streaming App
Photo Map
Boggle
Source: https://github.com/pzatrick/boggle
Calorie Tracker
GoGet.fit
http://goget.fitJavaScript | Find by Text Module
The language organically developed while I was writing end-to-end tests with Protractor. It works like this: a list of words—limited by spaces—represents all elements that contain the exact words in the same order, ignoring the presence of other words. If any word in the query is preceded by a bang (!), all elements with that word are excluded.
For example: "stardust spiders" would match elements containing "ziggy stardust and the spiders from Mars," and "peanut !butter" would match elements containing "peanut brittle" but not "peanut butter."
Skills
Languages
ECMAScript (ES6), ES7, JavaScript, CSS3, HTML5, Sass, C++, Python, Ruby, C#, GraphQL
Frameworks
Jest, Redux, Jasmine, AngularJS, Ruby on Rails (RoR), Angular, Ionic, Protractor
Libraries/APIs
React, Lodash, Backbone.js, jQuery, Marionette.js, REST APIs, D3.js
Tools
JSX, Git, Jira, Gulp, Babel, Webpack, Pivotal Tracker, NGINX, Sketch
Paradigms
Object-oriented Programming (OOP), Functional Programming, Responsive Web Design (RWD), Agile Software Development, Behavior-driven Development (BDD), RESTful Development
Other
Front-end Development, Cordova, Gatsby, General Agreements on Trade in Services (GATS), Web Pages, Coding, Scripting
Platforms
Linux, Mapbox, MacOS
Storage
PostgreSQL, MongoDB, RethinkDB
Education
Bachelor's Degree in Computer Science
University of North Florida - Jacksonville, Florida
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring