Spiro Floropoulos

Architect, programmmer and sysadmin with a passion for technology and programming. Not to mention a couple decades of experience.

Spiro Floropoulos's DEV Profile

spiro@spirofloropoulos.com

My Blog

The highlights

Hobbies

Spending time with my daughter, programming (duh!), raspberry pi and video games. Mentoring - I've mentored a few programmers over the years and I really enjoy it. Frankly, the mentorship goes both ways. If you're interested in having a more experienced programmer mentor you, don't hesitate to reach out to me. I do it for free. :)

Strongest Areas of Knowledge

Javascript (vanilla, Node, jQuery, Angular, you name it), CSS, HTML, PHP, Linux, DevOps, SysAdmin, AWS, GIT

Projects I'm Proud Of

Sending Positive Vibes - Creator - I used barebones HTML, CSS and JS to create a simple PWA app where you can tap or click to send "positive vibes" to that part of the world (on a map). I used Openstreetmaps for the map source. I also used a geohashing library to maintain the data. As vibes are sent, the map is updated so you can see it.

Zolo - Senior & Lead Developer - Updated an older infrastructure to support 4 million pageview a day. Mostly with AWS tools. Implemented new procedures and tools that increased developer productivity significantly. Found and implemented areas that gained significant performance improvements.

CATSA - Senior & Lead Developer - Created back-end architecture that supports the main website plus their mobile apps. Airport security lineup staff across Canada use my system to update wait times.

TWiT - Senior (and only) Developer - I didn't build their flagship site (although I helped) but I did build an intricate internal system that managed their audio and video files, converted them to proper formats and automatically uploaded them to proper cloud services. Then a subsequent system that automatically notified the public (and updated the website) when new shows were available for consumption.

[Insert link to your closest Jaguar / Land Rover dealer here] - Yep. I was one of three architects on a deployment and management system for the apps that go into the head units on newer Jaguar / Land Rovers. This meant some time in Coventry too! The vehicles all communicate with a complicated back-end system that manages their OS versions as well as individual apps and their versions. Super cool.

Are you still reading?

If you want to know a lot more about my experience, keep going.

Employment

Note: Some of these positions overlapped when freelancing.


Sycle (1 year)

Senior Architect

Their product line centers around managing an audiology department, clinic or office. Owners and audiologists can manage their patients, inventory and more.

  • Responsibilities:
    • Architected integrations for 3rd party systems like Autofy, which is an API based connection to Quickbooks.
    • Architected monolith services and micro services, sometimes separately, sometimes working together.
    • Assisted the Product team with business requirements as architecture was created.
    • Provided support to the development team with kick-off meetings based on my architecture.
    • Offered alternative solutions to problems trying to be solved by architecting multiple ways to achieve the same goals.
    • Worked with the devops/sysadmin team to include infrastructure considerations in architecture.
    • Architecture was mostly based on Laravel, Node and React.

PawBoost (2 years)

Senior Developer

This is a great company with great folks. They use targeted Facebook and Instagram ads to help you track down your lost pet! It felt great to work there every day.

  • Responsibilities:
    • Helped them integrate into 3rd party shelter APIs, transform the data and pull it into our database.
    • Helped them get their Lighthouse scores from the low 20's to the high 80's on critical pages of their site.
    • Helped them standardize their tools using Docker, among several other things.
    • Helped them simplify existing tools (like removing SASS as it was un-necessary).
    • Helped them review business goals, write requirements, manage some developers and more.

InSite (1 year)

Senior Developer

These guys do a few things but, for the most part, they help to convert hard cover media into digital media. I helped them get a few features out the door in their ASP.NET platform and also to build out a few simpler sites for some of their clients who required something leaner. A lot of JS, CSS, HTML.

  • Responsibilities:
    • Provide feedback on updates to an internal system they had and then execute those updates.
    • Help to manually convert some hard cover media to HTML/JS/CSS by hand.
    • Provide additional conversion tools for specific cases that needed customized conversions. This included a node.js based tool.

Zolo Canada (2 years)

Senior Developer

Real estate website, one of the largest in Canada, where I was able to help them build out new features in PHP, JS, CSS and HTML and also act as a sysadmin and devops guy. I also introduced a number of new processes to help streamline development and QA processes.

  • Responsibilities:
    • Manage the AWS infrastructure (ec2 & rds) with deployment procedures and scaling.
    • Audit performance across the site and make updates to increase performance.
    • Write several vanilla JS custom libraries for specific needs.
    • Manage their entire PHP back-end infrastructure for a CRM and the website as a whole.
    • Ensure all the programming architecture was properly managed inside GIT.
    • Lead a small team of two other developers.
    • Update and maintain their ios & android app.
    • Refactor tech debt in their codebase (PHP, JS and mobile apps).
    • Help maintain an S3 based image server with an automated workflow behind the scenes.
    • Help to execute updates to the website related to SEO. Usually meant heavy interface work with CSS (lots of SASS here) and JS. Sometimes meant working with the PHP / servers to ensure proper data was being shipped to the header and we were using proper server response codes in some cases.
    • Used Jenkins for CI / CD with some custom extensions. Then switched to a simpler custom deployment solution.

AppDirect (3 years)

Senior Developer & Solutions Architect

I was involved in some of the best projects I've ever worked on. I spent a few months as a senior developer on some smaller teams and then I moved up to a technical lead role where I managed up to a dozen people and a couple of ongoing projects. We mostly focused on Java, Node and PHP. We also did a bunch of Drupal. Towards the end (like, a year) I was a solutions architect working directly under the CTO.

  • Responsibilities:
    • Lead several teams ranging from 2 other developers to 13. Also ranged skillset from jr to sr.
    • Work directly with the sysadmin/devops team to introduce new methods of managing infrastructure, deploying code and more. Also helped to beef up some practices. This also required cross interactions with the programming teams. Tonnes of AWS, EC2, ElasticSearch, RDS, Load Balacing, CDN, S3 and more.
    • Troubleshooting & on call devops working with Linux or Unix systems (mostly Redhat) and solving other infrastructure problems. Lots of late night calls to jump on a server and see why Apache was failing or ensure an Ansible playbook was working correctly.
    • Helped to create Jenkins projects / pipelines for use with Docker (sometimes Kubernetes was involved) and AWS. Some projects were internal facing and some were public facing.
    • Take client project scopes and convert them into technical architecture that could be executed by the programming teams & managed by devops over a long term period. Usually involved 99.99% uptime as part of the SLA agreements.
    • Helped to create some mobile apps for clients on ios and android.
    • Provide mentoring and leadership to individual programmers.
    • Interact with the board of executives to ensure teams had what they needed to accomplish high level goals at a business level.

Ravello Media (10 months)

Senior Developer

They have several hospitality companies (and, therefore, websites) that I got to work. It ranged from doing front-end website adjustments to working on their back-end booking / scheduling system, connecting to their hotel machines and more.

  • Responsibilities:
    • Refactor PHP into an OOP based system. Mostly using Laravel.
    • Help deploy and maintain code on EC2 & RDS instances.
    • Help to make front-end specific upgrades.

Sitepoint (6 months)

Premium PHP Editor

For a short while I had the privilege of managing the premium PHP channel on Sitepoint. I would reach out to developers and help them to come up with lessons, videos and other material for the channel. My life changed and I had to make a shift so I stepped down from this role.

  • Responsibilities:
    • Reach out to potential contributors to build relationships.
    • Work with contributors to support their creative material from start to finish.
    • Ensure finished material was properly handled for release.
    • Come up with ideas on material to create and keep in touch with the community in general.

Tabs & Spaces (1 year)

Freelance Consultant

I was one of the senior developers working on a Symantec and Norton forum / community site. This was heavily Drupal based, a mixture of 6 & 7, with a big emphasis on a javascript front-end.

  • Responsibilities:
    • Help create an OOP based thin layer on top of Drupal 6 & 7.
    • Help with a large number of front-end components (CSS / JS / HTML) using Angular.
    • Create and maintain a Drupal REST API for use on dynamic front-end components.
    • Assist the team in deployment methods and maintenance.

Crifkin (1 year)

Freelance Consultant

I did a number of smaller projects from a bit of javascript / html to some theming. Nothing too heavy but the projects required a bit of a senior hand.


TWiT (This Week In Tech) (2 years)

Lead Developer

In short, was an all-around computer engineer, as I helped them with everything from servers, networks and more to computers and advising them on any gadgets they needed or improvements to their computer systems that would help them become more efficient. However, my main focus was on web development with regards to their flagship site and a secondary site for their highest grossing show.

  • Responsibilities:
    • Create an internal system to take raw videos, automatically edit them and then ship them to multiple mediums for consumption.
    • Supervise a Drupal team on two websites they built to ensure the technical goals were met by the team.

BigFork Web Development (1 years)

Lead Developer

I was the lead developer on many of their client websites, helping them create new coding standards and managing their servers from time to time.


Coastal Sleep (4 years)

Lead Developer, Network Administrator, Computer Technician

I helped them upgrade their server and network infrastructure across three different offices so all their offices could communicate with each other more efficiently, which saved time and money. This role ended up being a good mix of both hardware and software work.


TechnoTribe (2 years)

Lead Developer

Provided a lot of CSS, HTML and PHP coding skills to build smaller websites or enhance existing ones. Also did some work with mobile friendly sites or converting sites to a mobile friendly platform.


Paintball Gear Canada (3 years)

Lead Developer

Paintball Gear Canada is one of the largest Paintball retail companies in Canada. It has a large retail and web presence. It began as a platform PHP e-commerce system that was eventually re-done so much to suit increasing demands that it is now a beast to maintain. However, it holds itself together quite well and is able to maintain traffic that results in millions of dollars in revenue each year.

There's more!

I have a lot more experience, going back at least ten years, so please feel free to ask.

Technical Skills

Full list of languages, systems or other things I know in order from strongest to not as strong.

Javascript (vanilla, lots of libs, Node), GIT, CSS, HTML, PHP, AWS, SysAdmin, DevOps, Linux (Ubuntu, CentOS, Redhat), Agile MySQL, Mongo, ElasticSearch, Google Analytics, Google APIs, Lucene, SOLR, Drupal, Wordpress, Laravel, Symfony, Zend, Magento, Apache, Scalable Infrastructure, Load Balancing, Perl, C, C++, C#, Window, Mac, iOS Dev (Swift & Objective-C), Android (Java), SEO

There's even more!

I have a decent list of websites I've worked on so go ahead and ask me for more!

Thank you for taking the time to review my portfolio. I hope to hear from you soon.