Hire Me
This is my current resume / CV.
Objective
To fully apply my experience and provide the best possible technical support to colleagues while challenging myself with new concepts and methodologies to further my journey in IT with a focus on server administration.
Relevant Skills
OPERATING SYSTEMS
- 20+ years of server experience with Linux (Primarily RedHat based, CentOS, Fedora)
- 21+ years of desktop support experience with Windows
- Past experience with UNIX (Solaris, FreeBSD)
NETWORKING
- Understandings key concepts of network protocols (TCP/IP, IP Routing, VLAN, etc.)
- Familiar with physical network maintenance, software firewalls (IPTables), NAS appliances
- Past experience with HP and Cisco switches
SERVICES AND SOFTWARE
- Containers: Docker, Docker Swarm
- Configuration Tools: SaltStack, Puppet, CFEngine
- Services: HTTP/HTTPS (Apache 2, nodejs), SMTP (Sendmail, Postfix), POP/IMAP (Dovecot), DNS (Bind), DHCP, NFS, NTP, FTP, PXE/TFTP, Samba, Active Directory/LDAP
- Products: VMware ESXi, OpenStack, PacketFence, Nagios, Cobbler, ZFS
SECURITY
- Experience with setting up and using Kerberos and LDAP authentication
- Can perform security analysis via log processing, packet analysis, tcpdump, and penetration testing
WEB
- 18+ years configuring and deploying applications under the LAMP stack
- Customize templates for MediaWiki, WordPress, Drupal, WHMCS, Kayako Support Suite
- Experience with installing and administering cPanel/WHM, Plesk, SolusVM, HyperVM, Webmin
PROGRAMMING
- Coding: Java, C#, PHP, Python, HTML + CSS, Javascript (AngularJS, jQuery, nodejs), C, C++
- Scripting: bash/sh/sed/awk, Perl, Powershell
- Database: MySQL/MariaDB, SQLite, PostgreSQL
- Debug: C, C++, gdb, strace
HARDWARE
- Experience with x86/x86_64/ARM64 Hardware
- Past experience with Sun, Dell, and HP server and workstation hardware
Education
- Bachelor of Science in Computer Science, University of Calgary
- August 2007 - May 2011
- Notable courses: CPSC 550; System Administration with Darcy Grant, Wayne Pearson (2010 – 2011)
- Red Hat Satellite 6 Training
- Completed August 2018
Work History
Technical Systems Analyst for Linux Desktop - University of Calgary
July 2018 - Current (Full Time), http://ucalgary.ca/it
I am currently a systems analyst under the Customer Technology Standards group tasked with designing and providing a standardized Linux desktop build for the University of Calgary. This position involves transitioning the existing Linux desktop infrastructure used in Computer Science used in my previous role and standardizing it for the entire University campus.
Until my previous role is transitioned completely, I am still accountable for the majority of the responsibilities from my previous role.
Over a period of a few short months whilst deep in transition, I successfully:
- Configured Foreman from scratch and created a reliable unattended Linux deployment system for Fedora and Kali Linux on both Intel and ARM based computers
- Used Puppet in conjunction with Foreman to configure hosts on the fly
- Created and updated custom Linux based packages used by teaching and research
- Deployed 300+ Linux workstations for the Department of Computer Science
- Consulted with faculty members to ensure software requirements for teaching are met
- Created support materials on the new deployment system for technical staff in Computer Science
Linux System Administrator - University of Calgary
October 2013 - July 2018, Full Time, http://ucalgary.ca/cpsc
I was a Linux system administrator that oversaw over 400 Linux-based servers and workstations for the department of Computer Science at the University of Calgary.
My primary tasks were to provide a consistent and reliable computing environment for research and teaching by supporting all Linux-based servers and workstations along with their applications and services. I was also primarily responsible for the proper function and operation of the department's firewall and intrusion detection system.
Secondary tasks include:
- Providing tier 2-3 support (via desk-side, phone, email, help desk) for faculty, staff, and students, including Windows and MacOS support
- Testing and applying updates to servers and services every month
- Monitoring, maintaining, and configuring hardware for desktops, servers, and switches
- Deploying new servers and workstations and disposing or relocating old computers as required
- Ensuring public infrastructure services are up to date and operational, including mirror.cpsc.ucalgary.ca, CPSC's public NTP servers, and one of four DNS nameservers for the University.
- Maintaining and updating a private package repository, including creating custom packages for servers and workstations
- Maintain proper support documentation and end-user guides on services
- Consulting with faculty members to ensure software requirements for teaching are met
- Ensuring labs are using an updated and fully patched distribution every year
Other achievements that I am proud of are:
- Integrated Linux workstations and servers with Windows Active Directory to streamline authentication
- Developed many in-house applications that are used by the Faculty of Science including:
- PokeAPI - A RESTful API that facades data from multiple sources including LDAP, data warehouse, databases, and file servers
- User Telemetry - A set of tools to gather computer usage in our undergraduate labs on both Windows and Linux
- Displays - A web-based tool for managing contents for digital signage across the Faculty of Science powered by a combination of embedded devices and computers
- The CPSC Guide - A GUI tool that helps students do common tasks rather than through the command line
- CS Agreement - A Windows/Linux application that allows students to agree to an AUP before being allowed to use our computers
- Created an automated build system for workstations and servers to automatically deploy machines through PXE and automatically configures its DNS and DHCP configuration
- Deployed Logstash + ElasticSearch for internal logging of both Windows and Linux servers and workstations
- Installed and maintained services for teaching and research including WebCAT, OwnCloud, Moodle, cPanel+CloudOS, VMWare ESXi
- Replaced an aging CFEngine automated configuration tool with Salt Stack
- Rolled out ZFS file servers on undergraduate servers, enabling self-served file restore through snapshots
- Consolidated multiple servers and services into Docker containers
- Rebuilt the Raspberry Pi lab, reducing the amount of lost parts and clutter in the lab.
Recognition:
- My team and I received the Faculty of Science innovation and Change Award of Excellence on May 2015.
C# Developer - Onstream Pipeline Inspection Ltd.
May 2011 – September 2013, Full Time, http://onstream-pipeline.com/
I was one of two C# developers at a pipeline inspection company, developing their new version of pipeline analysis software.
- Debugged existing in-house software written in Borland C++ on the Windows platform
- Low-level hardware interface with custom designed pigs
- Developed the next version of their analysis software from scratch using C# .NET4
Freelance Web Developer & Designer – Steamr
June 2005 – 2014, Freelance, http://steamr.com/
I am a freelance web designer and developer and provided clients primarily in North America with custom web designs and applications. I am responsible for ensuring projects are completed on-time, on-budget and satisfies client requirements.
A sample of my work can be found on my portfolio at: http://steamr.com/portfolio
Responsibilities:
- Consulted with clients for every project for budget, timeline and user requirements and delivered frequent deliverables and project updates.
- Created and deployed custom web designs from scratch using Adobe Photoshop, Illustrator, Notepad++, and half a dozen web browsers.
- Ensured all websites were optimal, standards compliant, cross-browser compatible, and search engine optimized (SEO) based on web analytics.
- Created and maintained over 20 projects under the LAMP stack, along with using PHP frameworks and libraries including: Kohana, CodeIgniter, FPDF, Smarty.
- Created over 40 individual websites from scratch for businesses and individuals.
- Customized design themes for WHMCS, SolusVM, Kayako Support Suite for hosting companies.
Related Work:
- Previous webmaster for nworks.ca, gtcomm.net, unmeteredserver.net, zenprotection.com
- Responsible for updating content and promotions while ensuring website correctly interfaces with the point of sale application.
- Developed an internal network management application for gtcomm.net in PHP utilizing MRTG. Abnormal network patterns will notify an administrator via email and SMS.
- Created a distributed network monitoring system based on Java, PHP and MySQL, which utilizes http and ping tests to determine the availability and latency of remote services. Results are then recorded and monthly reports generated.
- Designed the front-end of an in-house inventory system used by gtcomm.net used to track networking/server hardware along with managing available IP pools.
- Designed the front-end of an in-house project enabling end users to purchase and manage DDoS protection services by zenprotection.net.
Server Administrator - SwiftHost.net
January 2004 – May 2012, http://swifthost.net/
With a partner, I created a web hosting company, focusing on affordable shared and reseller hosting. Servers utilized were based on the LAMP stack along with the use of the cPanel control panel.
Responsibilities:
- Managed production servers hosting over 400 individual websites
- Responsible for responding to the majority of customer support tickets within 6 hours for issues under the technical, abuse and billing department.
- Technical issues handled by me ranged from fixing simple permission issues to handling requests for specific software such as Apache/PHP modules, system libraries, and Caching / PHP Accelerators
- Performed security audits and server hardening by disabling or restricting services, configuring the firewall, detecting compromised websites and spam control in a shared hosting environment.
- Configured weekly, network-based backups to an off-site location using cronjobs, rsync and shell scripts. Performed account or file specific restores from backups.
Projects:
- Designed a custom billing solution for account management using PHP, MySQL and the PayPal API.
- A status page which monitored and reported live server status information such as processor load, traffic load, service availability, memory usage to customers.
- Developed a custom web control panel, similar to cPanel, targeted to free hosting accounts. The control panel based on PHP, MySQL, Shell + Perl Scripts, enabled end users to manage their websites, domains and databases while automatically maintaining and enforcing disk and bandwidth quotas.
AS/400 Night Operator - Calgary Programming Factory
May 2007 – July 2007, Part Time
I worked as night operator as part of the AS/400 support team at the Calgary Programming Factory for The Sovereign General Insurance Company as a summer job.
Responsibilities:
- Operated the tape backup system, ensuring backups are valid and without errors.
- Operated the AS/400 system to print system logs and claim checks
- Ensured paper was loaded and aligned properly to the printers before printing
- Researched feasibility to migrate their existing projects based on JSP servlets to ASP.NET
Personal
- Canadian; Speaks English & Cantonese
- Interest in Web Development, Web Hosting Infrastructure, Systems Security, Game Development
- Enjoyed systems administration during my undergraduate studies and wants to learn more.