
Senior Software Engineer - Application Developer
I began my career as a software developer at Cray Research in Mendota Heights, Minnesota working on scientific applications and compilers, and later owned a consulting business in Houston, Texas, where I developed web sites and applications in PHP. I worked closely with web designers on major accounts such as Mahindra Tractor, Joe's Crabshack, and Blue Wave Car Wash chain, and directly with clients on smaller sites such as physician practices, jewelry stores, and other small businesses.
In 2013 I joined Intellicentrics, becoming the fifth member of their development team. Their Reptrax product was used by two-thirds of the hospitals in the United States for managing the credentials of vendors who need to visit health care facilities. Reptrax is a large PHP application built on the CodeIgniter framework, and integrates external services such as criminal background checks and payment processing through SOAP and REST APIs. We developed a new Ruby on Rails product called SEC3URE during my tenure, to provide staff-credential management for the health care industry. I developed user facing features for this application, and many of the APIs for integrating the application with an existing CRM (Customer Relationship Management) system written in PHP.
In 2016, my wife and I moved back to the Minneapolis area to be closer to our families here. Since being back, I have worked on short-term projects for Bank of America (Nginx/OpenResty/Lua) and United Health Group - Optum (Ruby on Rails), and a 2-year buildout of Cloud Services for IBM (PHP). I was the lead engineer at Mayo Clinic, migrating one of their applications to a web-based API service. I was recently the lead engineer for a banking application used internally at TCF Bank. I am currently working on a Ruby on Rails 7 application for designing and implementing master-keyed locking systems. I have recently been incorporating artificial intelligence into my workflow.
Skill Summary
Methodologies
- Object Oriented Programming
- Agile / Scrum
- Model View Controller
- Web Services (SOAP / REST)
- Test Driven Development
- Artificial Intelligence (OpenAI)
Web Technologies
- Ruby on Rails 4/5/7
- PHP 5/7, CodeIgniter, Apache
- Python 3
- nginx/openresty with Lua
- TCP/IP sockets, cURL
- background processing (redis/sidekiq)
- HTML5, CSS3
- responsive design, web fonts
- SVG, sass, haml
- Single Page Apps
- ImageMagick, XML
- MySQL, Postgres, and Oracle databases including joins, aggregate functions, stored procedures
- Javascript including AJAX, JSONP, jQuery
Development, Collaboration and Project Management Tools
- Eclipse
- Adobe CS
- RubyMine
- MySqlWorkBench
- RSpec, PHPUnit
- Postman
- Trello
- Jira
- Confluence
- Agile OnTime
- GitHub, Bitbucket, GitLab
- ChatGPT (OpenAI)
- git
- awk, sed, vim
- shell scripting (bash, csh, ksh)
- crontab
- regular expressions
Key Calculus LLC Ruby / Rails / PostgreSQL / Redis / Sidekiq / AI 04/2022 - present
Software Engineer
Developed a Saas application in Ruby on Rails for planning and implementing industrial, master-keyed locking systems. The application provides a web interface for designing the key schema, and generates the key bittings and pinning charts used for assembling the lock hardware to match the master-key schema. Designed and optimized the algorithms used for all aspects of the application. Implemented at-rest data encryption and other security features. Integrated Stripe payments and background processing with redis/sidekiq.
Technologies and tools used:
- Ruby 3 / Rails 7
- ChatGPT AI
- PostgreSQL, RSpec
- Redis, Sidekiq
- HTML5, CSS3
- Javascript / jQuery / Ajax
- regular expressions
- awk, sed
- git / GitHub
- bash scripting
- Stripe payments
TCF Bank PHP / SQL Server / IIS 06/2020 - 03/2022
Lead Software Engineer
Enhanced PHP application obtained through merger with another bank. Integrated multiple data feeds, including personnel data, and Active Directory information between the two bank's data systems. Updated application to better utilize modern browser features, (e.g. SendBeacon) & discontinue use of deprecated features (e.g. ajax calls on page unload events). Maintained extensive set of SQL Server stored procedures. Planned and coordinated cross-department projects with other engineering groups. Directed and assisted offshore developer.
Technologies and tools used:
- PHP, HTML, CSS
- Javascript/jQuery, AJAX
- XML, json
- DBeaver
- SQL Server Management Studio
- Chrome JS debugger
- git, GitHub
- regular expressions
- awk, sed, find, bash scripting
Mayo Clinic PHP / Web Services 06/2019 - 10/2019
Lead Software Engineer
Designed a solution to migrate the Mayo Clinic's internal PHP application for provisioning system resources from a mainframe/Sybase implementation to a web service API for searching user data. The API is built on Informatica MDM. The updated application brings increased consistency and decreased redundancy to Mayo's data sources. Also served as technical lead for the implementation phase.
Technologies and tools used:
- PHP
- REST
- json
- Informatica MDM
- libcurl
- regular expressions
- Postman API client
- git
IBM PHP / Oracle / Web Services 07/2017 - 06/2019
Senior Web Application Engineer
Designed and developed new features for IBM's cloud services in PHP using a custom ORM based on Zend and Oracle database. We made extensive use of SOAP APIs, but also provided RESTful interfaces for IBM's cloud services. Scaling and performance were key considerations for this large platform as a service application. We used agile scrum for project management, and I used TDD (test driven development) for my coding work. My most recent work involved adding new file & block storage functionality, such as securing iScsi storage devices by limiting access to specific hosts, and improving backup storage services.
Technologies and tools used:
- HTML5, CSS3
- PHP
- Oracle
- REST and SOAP APIs
- Postman API client
- PHPUnit
- git, Jira, Confluence
- Zend(PHP framework)
- Test Driven Development
United Health Group - Optum Ruby / Rails / Bootstrap / SVG 12/2016 - 03/2017
Ruby on Rails Application Developer
Contributed to the Willo Health web application used by families to organize caregiving tasks and exchange documents (e.g. prescription schedule) for elderly parents. Implemented a new front-end, based on designer comps, and the backend features (including the data models) needed to support the new design. Replaced the old, Twitter Bootstrap based markup with clean HTML5 for use with the 'Bourbon Neat' grid framework.
Technologies and tools used:
- HTML5, CSS3, SVG images
- Javascript/jQuery
- Twitter Bootstrap
- Sass, Haml
- Ruby on Rails 5, Postgres
- git, GitHub, Heroku
- RSpec, Continuous Integration
- Omnigraffle (diagramming)
- TextMate, vim
- Kanban PM using Trello
- Slack, Flowdock for collaberation
Bank of America Javascript / XML / Lua 01/2016 - 06/2016
Web Application Developer
Developed a web application used internally by the bank. The application is written primarily in Javascript (including jQuery) with a small Openresty / Lua backend for delivering the daily data updates. It is used to provide rate quotations for home equity lines of credit based on location. Data is provided daily to the application in xml format, which is transformed using awk, sed, and Lua, prior to being loaded by the web client. The data transformation makes heavy use of regular expressions, and the application uses just in time data loading via AJAX to provide a responsive user-interface.
Technologies and tools used:
- HTML5, CSS3
- Javascript/jQuery, AJAX
- XML, xmllint / xpath
- Nginx/Openresty with Lua
- svn (aka subversion)
- Adobe Creative Suite
- awk, sed, bash scripting
- regular expressions
Intellicentrics PHP / Ruby / Rails / Postgres 07/2013 - 11/2015
Senior Web Application Developer - PHP and Ruby on Rails
Designed and implemented Service Oriented Architecture, web-based applications for the health care industry with public and administrative portals. SEC3URE provides credential management for hospital staff, and is written in Ruby on Rails, uses Postgres, and is served by nginx on AWS. A separate CRM component, and credential management for health care vendors are written in PHP, use MySQL, and are served by Apache. Integrated third-party web-services, including Zuora's subscription and payment processing, and Backgrounds Online criminal background checks. I received commendations on the quality and quantity of my work products.
Technologies and tools used:
- HTML5, CSS3
- PHP, Ruby on Rails
- Postgres, MySQL
- Javascript/jQuery
- REST and SOAP APIs
- Postman API client
- git, BitBucket, Jira, Confluence
- CodeIgniter (MVC framework)
- Test Driven Development
Freelance PHP / Apache / MySQL
PHP Web Application Developer
Developed websites and web-based applications for enterprise and small business providing e-commerce and productivity functionality. Applications include content management systems, corporate extranet, store locators, photo galleries, custom calculators, online stores with real-time shipping quotes using XML web services and real-time payment processing.
Technologies and tools used:
- HTML4/5, CSS 2/3
- PHP, MySQL, Apache
- Javascript / jQuery
- AJAX
- XML / SOAP / REST
- Adobe Createive Suite
- Google Geocoding APIs
- ImageMagick
- awk, sed, bash scripting
- regular expressions
- crontab
- UPS, PayPal Integration
Cray Research Database / ksh, awk, sed / Automation
Software Engineer
Developed Proof of Concept application to enable communication between chemistry applications through an Informix relational database.
Consistently designed innovative tools to achieve goal of Continuously Releasable (compiler) Software, including a tool to identify and isolate source code changes that introduced regressions. Conceived and designed tools for multiple development groups to share test runs, using automated component level isolation techniques for identifying components introducing regressions, reducing testing resource costs by 70%, and greatly improving component validation turnaround times. I was often selected to develop specialized tools for use within the compiler group, and acquired a reputation for automating software production tasks. I received recognition from management for my presentation skills.
Education
University of Minnesota, Minneapolis, Minnesota
B.S. Physical sciences (physics and chemistry)
(plus significant computer science coursework)
Computer Science and related Mathematics Coursework (from Univ of MN) includes:
- Algorithms
- Advanced Data Structures
- Artificial Intelligence
- Computer Architecture
- Computer Language Design
- Numerical Analysis
- Automata Theory
- Discrete Mathematics / Logic
- Linear Algebra
- Statistics
- Multivariable Calculus
- others...
Western Institute in Computer Science (Stanford) Seminars:
- Compilers - frontend
- Compilers - code generation
Independent Study
I am always studying to learn new languages, tools, and best practices. I believe in finding elegant solutions to computing problems, that is, solutions that are modular, easy to understand, and easy to extend to new applications.
Publication
Regression Containment through Source Change Isolation
Authors: Brian Ness, Viet Ngo
COMPSAC(ISBN:0-8186-8105-5)
Year of Publication: 1997
Elegant Design
Some Principles of Elegant Design
Zero, One, Infinity Principle
The Zero, One, Infinity Principle says that software should not impose arbitrary limits on the number of entities of a particular kind. It is okay to allow only one of a particular type of entity, or an infinite number of them, or none of them at all. For example, early versions of the Fortran programming language imposed a limit of 7 dimensions on arrays. Why 7? Probably, because of the limited size of computer memories when Fortran was introduced.
Recommendation Letter
Excerpts
To whom it may concern,
It is with enthusiasm that I recommend Brian Ness as a software architect, team leader, and senior/principle developer.
Robert Metcalf
Languages, Libraries, and Tools used for this website
git
for version control
PHP
for modularization (using file inclusion directive)
HTML5
for content layout
Web Fonts
for Itim and Nunito fonts using Google's CDN
Javascript
for interactivity, setting active tab on page load when using a bookmarked url, and to workaround a Firefox bug
jQuery
for main navigation's tab/panel interactivity to fade content and transforming the size of the active tab panel when the content changes
jQueryUI
for accordion control on Experience tab
CSS3
for styling content, transforming the tab backgrounds when clicked, and requiring a minimum 800px screen size
Resume Abstract
Profile
Senior Full Stack Engineer - Ruby on Rails, PHP, SQL, HTML, CSS, Javascript, jQuery
Object-oriented web application developer with expertise in MVC, Web-Services, Database Design, and unix/linux scripting. Strong problem solving and algorithm development skills. Experienced integrating Stripe, Zuora, and PayPal payments.
Skill Summary
Methodologies
OOP, MVC, Web-Services (SOAP, REST), Test-Driven-Development (TDD), Continuous Integration, Agile, Artificial Intelligence (OpenAI)
Web Technologies
Ruby on Rails 4/5/7 with sass and haml, HTML 5, PHP 5/7, Python 3, CodeIgniter, Javascript including AJAX, JSONP, jQuery, cURL, databases including queries, joins, aggregate functions, and stored procedures, XML, LAMP Stack, Apache configuration including url re-writing using mod_rewrite, nginx/openresty with Lua, CSS 3 including media queries, responsive design, web-fonts, styling SVGs, and Bootstrap, Single-Page-Apps, TCP/IP sockets, ImageMagick, background job processing.
Development, Collaboration and Project Management Tools
VS Code, RubyMine, PyCharm, RSpec, PHPUnit, Postman, MySqlWorkBench, Oracle SQL Developer, Trello, Jira, Confluence, git, awk, sed, crontab, regex, vim.