Experience

Clevertech

Senior DevOps Engineer • March 2015 — Present

  • Managed infrastructure, including setting up servers and docker containers using Ansible and either Travis-CI, Jenkins, Codeship or Circle-CI (depended on project, mostly Travis-CI) for continuous testing and deployment from usually github-based repos to servers and docker containers (depending on the project)
  • Set up monitoring using New Relic, AWS Cloudwatch, Sentry, Uptime Robot, Sensu and Monit so any issues were caught and notified of via Slack or SMS right away.
  • Troubleshooting customer issues as they came in via support channels, either email, support tickets or Slack.
  • Built internal automated tools to aid in improving DevOps, and overall customer support
  • Performed Load testing and tuning of servers and apps to handle higher loads using jMeter, BlazeMeter, New Relic Synthetics, Monit and New Relic APM.
  • Set up Ansible playbooks for server setup, server updates, server backups, background jobs that are needed to run on each server, and code deployments to prod servers on projects that required a scheduled prod deployment rather than automated deployments.
  • Migrated existing customers from parse.com to a standalone Parse Server implmentation.
  • Implemented scalable microservices solutions using Node.js, travis, Docker cloud, Mongo, Redis and SQS to implement tasking between services.
  • Assisted developers with coding issues on their various client projects as needed
  • Trained junior DevOps on DevOps setup and procedures
  • Mentored new developers on company culture and DevOps procedures
  • Kept documents updated via the internal field guide and DevOps wikis
  • Applicable Skills: PHP, New Relic, Datadog, Webrtc, Git, AWS, Docker, Kubernetes, Node.js Angular.js, Ansible, Bash, System Administration, Travis-CI, Jenkins, Technical Writing, SQS, DynamoDB, Lambda, Mongo, Redis, Python, e2e Testing, functional unit testing, CircleCI, Cypress, Codeship, Heroku, Dokku, Nagios, Sensu, Parse Server, Customer Support

Future Insights

Conference Speaker • February 2015 — June 2015

  • Worked with Future Insights and spoke in Las Vegas for the Future Insights Live conference, duties include:
    • writing blog posts on my topic
    • Teaching an 8 hour workshop on building a real-time API using node.js, leveldb and socket.io
    • Hosting a 45 minute long session on building a real-time API using node.js, leveldb and socket.io
    • Providing code support to attendees who had questions on real-time APIs.

Centre for Arts and Technology

ITIL fundamentals instructor • February 2015 — March 2015

  • Taught a twice a week course on ITIL fundamentals, instructing students on the fundamentals of tech support, customer service and help desk management.

SitePoint

Contract Technical Writer • December 2014 — December 2015

  • Wrote various articles on topics such as:
    • Using the Camel.js blog engine on Heroku
    • Using the Jade template engine
    • Building a Twilio SMS Group chat system

Twilio

Contract Developer • October 2014 — November 2014

  • I worked with Twilio to build an MMS Whiteboard app to display on a giant 55 inch touchscreen monitor at the AWS reInvent 2014 conference in Las Vegas.
  • The MMS Whiteboard app let you draw on an HTML canvas on a web page, then enter a phone number to send the drawn artwork off to a cell phone.
  • Part of this project also involved traveling to the AWS reInvent conference in Las Vegas and attending the Twilio booth to provide technical expertise and sign copies of my books.
  • Applicable Skills: PHP, Technical Writing, Customer Support

Mindfulware

Contract Developer • May 2014 — December 2015

  • Worked on frontend Angular.js tools as well as backend PHP APIs.
  • Built tools for unit testing of PHP code and frontend HTML code to make sure all worked as expected
  • Applicable Skills: PHP, Angularjs, Node.Js, MySQL, Unit Testing, Customer Support

Twilio

Contract Author / Web Developer • April 2014 — October 2014

While under contract at Twilio, I was involved in working on the Twilio <Skills> project, which involved planning, writing content and building demo apps to teach developers how to use Twilio in various ways ranging from

  • Twilio Voice for handling incoming and outgoing calls for project such as IVRs and moderated conference calling systems.
  • Twilio Messaging for handling incoming and outgoing sms messages
  • Building an incoming call center
  • Building an outgoing call center.
  • Built the Twilio Application Skeleton on top of Laravel for rapid Twilio development
  • Applicable Skills: PHP, Ruby, Node, Python, Technical Writing, AngularJS, C#, Firebase SQLite, APIs, Vagrant

Pakt Publishing

Contract Author (Twilio Cookbook second edition) • January 2014 — March 2014

  • While writing the Twilio Cookbook Second Edition, my duties included developing an outline for the expanded chapters, and then writing and developing code for each of the three new chapters of the book.
  • This is followed by working with editors and reviewers to produce a finished product.
  • Developed three new chapters for the second edition of the Twilio Cookbook.
  • Developed code for each chapter, which ranged from company directories, to voicemail systems, to IVR systems and SMS polling systems. Not much was left uncovered in this book.
  • Wrote each chapter in such a way to take the reader on a journey and educate without getting too technical
  • Applicable Skills: PHP, Technical Writing, MySQL, XML, JSON, Project Management

Twilio

Contract Author • December 2013 — December 2013

  • Worked with Twilio to create the Picture Messaging Webinar, based on the Picture Messaging chapter I previously wrote for them.

Automattic

Contract Developer • November 2013 — December 2013

  • I worked with Automattic to build the PHP library for Simperium.com.
  • I also worked with Automattic to build a command-line test suite that could send multiple parallel tests to their Simperium.com API and return results.
  • A separate test suite also performed similar actions on the Simperium.com auth API to test adding, updating and removing users from the API as multiple parallel tests to simulate an app with multiple users signing up and trying out things.
  • Applicable Skills: PHP, CLI, Technical Writing

Twilio

Contract Author • August 2013 — September 2013

  • As part of the Twilio Cookbook and in preparation for TwilioCon, Twilio contracted me to write a “secret” chapter on their new Picture Messaging technology that would be released on the same day as the book launch.
  • Worked with Twilio’s engineers to work out an outline for the “secret” chapter
  • Developed a photo gallery system that a user could use their phone to text an image to
  • Also developed a send to a friend system that works with the gallery and allows users to send an image to their friends phones -Finally, added the ability to filter images based on nudity and banned words
  • Traveled to San Francisco for TwilioCon, where the book was launched along with the new Picture Messaging technology and did book signings
  • Applicable Skills: PHP, Technical Writing, MySQL, XML

Pakt Publishing

Contract Author (Twilio Cookbook) • November 2012 — September 2013

  • While writing the Twilio Cookbook, my duties included developing an outline, and then writing and developing code for each of the ten chapters of the book. This is followed by working with editors and reviewers to produce a finished product.
  • Developed an outline of the book.
  • Developed code for each chapter, which ranged from company directories, to voicemail systems, to IVR systems and SMS polling systems. Not much was left uncovered in this book.
  • Wrote each chapter in such a way to take the reader on a journey and educate without getting too technical
  • Applicable Skills: PHP, Technical Writing, MySQL, XML, JSON, Project Management

Copter Labs

Contract Developer • January 2012 — December 2014

  • Contract Position worked on WordPress sites for clients such as:
    • Lean Bodies Consulting (WordPress site and API for iOS and Android apps powered by WordPress)
    • Intel
    • Curls and Whey
    • Lyman Motors
    • Floav
    • The Proactive Edge
    • Modestly Redefined
    • Kommitted
    • Neghar Fonooni
    • Roman Fitness Systems (iOS app and API)
    • ThorneFX
  • These projects varied from WordPress themes and plugins with integration of payment services to membership sites and iOS and Android apps.
  • Applicable Skills: WordPress, PHP, iOS app development, Android app development, Photoshop, Fireworks, Git, API Development, Customer support, LESS, Grunt

Vericorder Technology

Application Developer / DevOps Engineer • August 2010 — October 2013

  • My duties at Vericorder included development and maintenance of findstringers.com, verisend system, as well as working with our servers and other web apps.
  • Designed and developed the vodd.io global account API system used by our various platforms so that one account works on all sites. Using PHP and SimpleDB, later migrated to MongoDB
  • Developed findstringers.com using WordPress as the backend, with custom database hooks to integrate with our media integration system.
  • Developed the Verisend system to handle file uploads and store and forward
  • Built the initial HTML5 version of the IPTV system to work on iPads, iPhones and other mobile devices.
  • Responsible for maintaining web servers and daily backup strategies on our various MediaTemple and Amazon servers.
  • Developer the Voddio Console which integrated with the Voddio and First Video apps and the MiMS Platform to provide a console for target and user management which talked to the iOS apps.
  • Developed the initial VeriLocal framework for IPTV systems using WordPress
  • Maintained MiMS Platform on Google App Engine with Python
  • Applicable Skills: Webmaster / DevOps, Linux Systems Admin, NodeJS, MongoDB, Redis Amazon EC2, Amazon SimpleDB, Amazon S3, PHP, MySQL, Ajax, XML, JSON, WordPress Photoshop, Ruby, Scrum, Google App Engine, Python, Django, APC, Memcache, JavaScript Chef

Bongarde Holdings

Lead Application Developer / DevOps Engineer • July 2007 — June 2010

  • My duties at Bongarde included development and maintenance of their various e-commerce sites, developing new products such as the mysafetytv.com line of products, and rebuilding their existing websites such as safetyxchange.org and safetysmartonline.com.
  • Designed and developed ecommerce sites safetysmart.com and safetyposter.com. These sites used ASP and PHP respectively.
  • Was responsible for development of safetyxchange.org, mysafetytv.com. These sites used ASP, PHP and WordPress
  • Utilized WordPress and Amember integration together to build newsletter sites such as safetycomplianceinsider.com, hrcomplianceinsider.com, payrollcomplianceinsider.com, and environmentalcomplianceinsider.com
  • Acted as project manager to other team members and laised with members of other departments that were involved in new products.
  • Built the mysafetytv.com system, which let users select slides via a control panel that would then be downloaded onto their TVs at their workplace. Each TV was equipped with a netbook, that contained software written by me to download new updates that were available from their custom folder, or would also update whenever you plugged a memory stick containing a new slideshow into a slot on the side of the netbook.
  • Responsible for maintaining company linux web servers.
  • Applicable Skills: Webmaster, Linux Systems Admin, ASP, ASP.net, Microsoft SQL Server, PHP MySQL, SOAP, Technical writing Project Management, Flash, Ajax, XML, JSON WordPress integration, Photoshop, Ruby

Columbus Networks

Lead Developer, Webmaster (contract) • October 2006 — January 2009

  • While under contract with Columbus Networks, I maintained their existing websites and servers, and also designed and built new websites for them.
  • Built a job search template system where they could use a backend to create new pre-built websites from scratch and then simply edit a few template files to change how it looks completely
  • Designed, and developed schooljobsnow.com which was a job search site that was built in conjunction with scholastic (the book fair guys).
  • Other projects involved building their emails4educators.com website and a custom domain parking system. Emails4educators allowed them to offer webmail services to teachers around the world, and the domain parking system let them template domains that were parked to be used as landing pages for the webmail system.
  • Also maintained their corporate websites and introduced new technologies to them, as well as upgrading all of their websites to PHP5 instead of being early PHP4.
  • Also managed other contractors and instructed them on where code could be uploaded and which parts of the sites did what.
  • As webmaster, I was responsible for keeping the servers up to date and running well. This also included keeping software updated, and performing daily backups of the websites and database which each week, were downloaded to Amazon S3 for holding.
  • Applicable Skills: Webmaster, Linux Systems Admin, PHP, MySQL, SOAP, Java, JSP, SEO Python, Technical writing, Project Management

Pareto Systems

Webmaster / Web Developer • March 2005 — October 2006

  • I worked in the development of their 8020Platform CRM system and also was the webmaster for their web sites.
  • Maintenance of corporate sites involved design, development and also handling of search engine marketing campaigns for them.
  • webmaster duties including keeping the servers up to date and running well. Setting up Nagios to monitor the servers, and also keeping daily backups of the database which were then copied weekly to DVDs and locked in a fire-proof safe.
  • Work on their CRM system included development of framework for their mobile site as well as work on various aspects of their main CRM site. This included using PHP / MySQL and SOAP to create a user-friendly environment for users to manage their business.
  • This also involved developing in Java and JSP as the company switched their focus from a PHP / MySQL system to a PHP client that talked to a JSP SOAP server. Java clients were also developed to test the system with, and to do some maintenance applications.
  • Another responsibility with Pareto involved driving traffic to their websites and generating sales through the use of Search Engine Optimization and various traffic campaigns through adwords.
  • Applicable Skills: Webmaster, Linux Systems Admin, PHP, MySQL, SOAP, Java, JSP, SEO Technical writing, Project Management

Devshed.com

Freelance writer • March 2004 — October 2006

  • I’ve also done freelance writing for DevShed.com and their sister site SEOChat.com. I have had several articles published over the past 2 years. DevShed.com is currently one of the largest resources for articles on the Internet related to web design and SEO.
  • Applicable Skills: Webmaster, Linux Systems Admin, PHP, MySQL, SEO, Technical writing

Rackforce

Lead Application Developer • June 2002 — February 2005

  • I was responsible for building and maintaining the company’s support system, billing system, sales system, XML affiliate system, and company web site.
  • Using PHP / MySql, I designed and built a multi-queue ticket system which customers could use to create tickets that were posted to the support department and in turn dealt with by them. This multi-department system also featured tickets that were used by the billing department for handling billing issues.
  • The sales system consisted of an XML interface that handled product and order management and also a system where the sales department could review orders and site stats.
  • I also provided tech support to customers via call-in and ticket system.
  • Server admin under Linux for several of our web hosting customers as well as maintenance of our shared servers and VPS servers
  • Programming in Visual Basic, Visual C++ and Java were also utilized for various projects where an actual program was wanted rather than a web-based application.
  • Programming work for various customers which involved PHP, Ruby, HTML, ASP, Perl and Cold Fusion depending on the project.
  • Applicable Skills: Customer Support, Webmaster, Linux Systems Admin, PHP, MySQL, SEO Ruby, Technical writing, Visual Basic, Visual C++, Java, XML, Cold Fusion

Columbus Networks

Web Developer / Webmaster • May 2001 — May 2002

  • I used Perl, PHP, JavaScript, Flash and SQL to create various software products and services for use by both clients and internally.
  • Some of these projects included developing a PHP based site for Waterway House Boats which included a backend manager that allowed users to use a FrontPage-like editor to create pages that were viewed by users, the manager also featured a photo album to allow stock photos to be uploaded and used in these pages. A system was also implemented so that all reservations and forms were saved into the database and the manager could log into to the backend manager and view the saved messages.
  • The manager could also send newsletters to users.
  • I also developed the educationjobfairs.com site, which is a site that allows exhibitors to host booths in job fairs and job seekers to visit and learn about the exhibitors. This site included a Flash-based chat system, a message board for each booth, and an exhibitor’s lounge, which was where exhibitors could edit their booths through a booth wizard system, chat with jobseekers during scheduled chat sessions, and view and reply to messages left in their message board. An admin section was also created which allowed employees of Columbus to set up job fairs and add exhibitors to each job fair. This system also allowed users to set reminders to receive an e-mail before a chat session started, and also sent a reminder to all chat moderators 2 hours before their scheduled chat sessions
  • Applicable Skills: Webmaster, Linux Systems Admin, PHP, MySQL, Java, Flash

Acro Media Inc

Web Developer / Webmaster • March 2000 — October 2000

  • Developed software products and services for use by clients and also internally, within the company. Using my experience in C, C++, JavaScript and SQL, I created components that could be reused with modifications to meet specifications of individual clients.
  • Also did some network admin duties such as upgrading the company firewall computer to Red Hat Linux and installing proper security programs and settings. Also upgraded and debugged ftp server on company web host machine. This ftp upgrade included designing and implementing a web-based user manager for managing ftp users via the web.
  • Applicable Skills: Webmaster, Linux Systems Admin, C++, MySQL, Java, JavaScript, C, Perl

Packetware

Application Developer • May 1998 — January 1999

  • Under Java, I developed the User Interface for a Call Center and used Remote Method Invocation for chat and databasing, also I developed an HTML browser which was built into the User Interface. I also used Java Native Interface (JNI) to develop a video conferencing program under Windows 95 as part of a Java-based BBS that was under development. I also developed an e-mail program and an instant messenger program for this BBS
  • Under C and C++, I developed client/server applications in C / C++. Developed benchmarking software to be run on various real-time Operating Systems to test for speed, multitasking, network support, etc. Developed software to test Video Wavelet Codecs in C++. Developed and implemented an image-processing library for use by various C++ programs for loading, saving, and manipulating image files.
  • Under Delphi, I worked on the company’s Trakonic software which integrated with libraries written in C++ for motion detection.
  • Under Cold Fusion, I developed the company website which featured a CMS, corporate CRM / project management system and invoicing system, and an auto update system for the company’s Trakonic software.
  • Applicable Skills: C++, Delphi, Visual C++, Visual Basic, MySQL, Cold Fusion, Java Technical Writing, Analysis and Design, Problem Solving

Noteworthy Personal Projects

weberemote.com

A blog project that displays remote jobs from around the Internet using a node.js spider that crawls job sites and then posts to the jekyll-hosted site on Github Pages.

Flybase.io

  • Flybase is a web site that uses PHP, node.js, socket.io, and a custom-built database to provide a real-time datastore.
  • Site has over 2000 active users, mostly free users, who use the service every day to power their apps in real-time
  • Set up servers to handle high amounts of traffic and processing.
  • CI testing and deployment are handled using Travis-CI before being deployed to dev or prod based on branches.

WorkerPod

  • A job feed aggregator that brings in tech related jobs from across the Internet and presents them in one central place.
  • Currently built using PHP and MongoDB hosted at MongoHQ.com, and the job feed aggregator is built with Ruby, which runs every three hours and processes new job posts.

RogerStringer.com

My personal blog since 2004, running on Jekyll on Github Pages.

Please visit https://github.com/freekrai for an updated list of projects

Skills

Languages

PHP, JavaScript, Node, HTML, Objective-C, Swift, Go, Dart, Bash, Ruby, Python, Java, C++h

Frameworks

Angular.js, Slim, Laravel, Flask, Django, D3, jQuery, MEAN stack, LAMP stack, Ansible, Puppet, Chef, Rails, Sinatra, Code Ignitor, Backbone.js, Embed.js

Testing

Mocha, Karma, RunScope, PHPUnit, Codeception, Cypress, Selenium

Databases

MongoDB, MySQL, PostgreSQL, BigTable, Redis, RethinkDB, CouchDB, Firebase, Parse.com, LevelDB, ElasticSearch, Cassandra

Platforms

AWS, Rackspace, Heroku, Google Cloud Platform, Digital Ocean, Apache, Nginx, Docker, Vagrant, Chef, Ansible, Travis-CI

Mobile

iOS (Objective-C and Swift), Android, React Native, HTML5 Hybrid (Phonegap, Angular, Ionic, Steroids)

Other

Technical Writing, Photography, Customer Support, DevOps, Project Management

Education

Keyin Technical College

B.S. in Computer Studies • April 1998

Software Design and Development

International Correspondence School

Freelance Journalism and writing • February 1997

freelance writing