Skill set

Philip Knerr can contribute the following skills to your project:

Software Development

Modern software architecture, including:

  • Asynchronous programming.
  • Object-oriented programming (OOP).
  • Model-view-controller (MVC) frameworks.
  • Object relationship management (ORM).

Computer science fundamentals, including:

  • Data structures.
  • Algorithms.
  • Operating systems.
  • Modeling and simulation.
  • Computer networking.
  • Software reliability.
  • Computer hardware fundamentals.

Programming using a variety of languages and platforms, including:

  • Ada.
  • Assembly language.
  • Bash (shell) scripting for Linux/Unix.
  • BASIC.
  • C and C++.
  • COBOL.
  • ColdFusion.
  • Java.
  • JavaScript.
  • JCL.
  • Pascal.
  • PHP.
  • Ruby on Rails (RoR), including RubyGems.
  • Scheme (which is based on Lisp).
  • Twilio, an advanced telephony platform facilitating both voice and SMS communication.

Data management, including:

  • Building relational databases, including those based on PostgreSQL and MySQL.
  • Querying databases using performant SQL, including complex SQL queries.
  • Data schema design.

Testing software to achieve quality assurance (QA), including:

  • Writing unit tests.
  • Using bug tracking systems.

Leveraging developer tools, including:

  • Revision control systems, including Git and Subversion (svn).
  • Source code repository hosting services, including GitHub and Bitbucket.
  • Integrated development environments (IDE’s), including Eclipse and PhpStorm.
  • The Linux/Unix command line.

Developing through the full project life cycle, including:

  • Gathering requirements.
  • Developing greenfield projects.
  • Adding features to existing software.
  • Testing software.
  • Launching software.
  • Finding and resolving bugs.
  • Maintaining existing software.
  • Documenting software, balancing the need to inform other developers with the need to conserve time.

Web Development

Modern PHP development, including:

  • PHP 7 and PHP 8.
  • Laravel, a framework (which is based on Symfony, another framework).
  • Zend Framework.
  • Custom frameworks; I can usually decipher one that is already in use.
  • Composer, a package management system.
  • Smarty, a templating system.
  • PHPUnit, a unit testing framework.
  • phpDocumentor, a utility for documenting code efficiently.
  • WordPress, a CMS, which you’re reading an example of right now.
  • Drupal, another content management system.

Modern JavaScript development, including:

  • Modern methodologies and frameworks such as Vue.js and Ext JS.
  • Tried and true techniques such as jQuery and jQuery UI.
  • Package management using npm and Bower.

Integrating with external systems via API’s, including:

  • Applying REST methodologies.
  • Querying API’s via AJAX, SOAP, and HTTP requests.
  • Processing data in both the JSON and XML formats.
  • Postman, a utility for testing API’s.
  • Social media integration, including the Facebook and Twitter API’s.

Building modern front ends, including:

  • CSS, a language for defining the look and feel of a website.
  • Less, an improved way to write CSS code.
  • Sass, another improved way to write CSS code.
  • HTML5, a language for defining the structure of a website.
  • Bootstrap, a front end framework.
  • Jekyll, a preprocessor for blogs and static HTML pages.
  • Modern build processes, including Laravel Mix, webpack, and Gulp.js.
  • Responsive techniques for building websites that work on both desktop and mobile devices.

Implementing E-commerce websites and solutions, including:

  • Integration with payment card processing services, including Authorize.Net and CyberSource.
  • Magento, an e-commerce solution based on Zend Framework.

System administration and DevOps, including:

  • Managing Linux/Unix servers.
  • Managing AWS EC2 instances (virtual servers) hosted at Amazon Web Services (AWS).
  • Managing web servers, including Apache HTTP Server.

Understanding legacy systems, including:

  • Kohana, another framework for PHP.
  • Vanilla PHP.
  • Vanilla JavaScript.
  • Mainframe environments.

Personal Characteristics

Being a team player, including:

  • Interfacing well with others, including technical, business, and creative contacts.
  • Team leadership experience.
  • Leveraging collaboration tools, including Slack and Trello.

Communication skills, including:

  • Technical writing to express computer-related concepts in a way that all stakeholders can understand.
  • Clearly and accurately communicating in the English language, both orally and in writing.
  • Reading, writing, and speaking Español (Spanish) at an intermediate level.
  • Reading, writing, and speaking Français (French) at an intermediate level.

First-hand knowledge of a wide variety of industries, including:

  • Art.
  • Bricks & mortar retail.
  • E-commerce.
  • Education.
  • Food.
  • Human services.
  • Insurance & financial services.
  • Legal.
  • Music.
  • Technology.
  • Transportation.