Howlin Bash

Helsinki

I am an experienced and diligent, self-taught, full-stack developer. I have been building websites for ten years and writing clean, maintainable programs and user interfaces in JavaScript and Python for over five. A life learner, forever focused on ways to improve with exceptional communication and interpersonal skills to boot.

Skills at a Glance

Agile

Git TDD Pair-Programming CI Scrum Kanban

Languages

JavaScript TypeScript Python HTML5/CSS3 UNIX-CLI Bash SQL

JavaScript

ES6-ES2021 Node Promises Async/await Generators Streams

React

Hooks Context React-Intl React-Window CSS-in-JS React-Spring React-Router

Redux

Redux-Toolkit Reselect Redux-Saga Redux-Thunk Normalizr

Libraries/Tools

Express Webpack Xstate Immutable Immer Create-React-App SocketIO

Testing

Jest React-Testing-Library Xstate-Test Enzyme Nose

CSS

UI/UX Responsive Design Flexbox CSS-Grid Animations Bootsrap SASS

Devops

Docker Azure-Devops Azure-Portal Telemetry Nginx Jenkins

Tech Employment

React Developer

Auction Technology Group ~ Jan 2019 - present

  • Nominated by my peers to win ATGs best newcomer of the year 2019 and best team in 2020.
  • Delivered 3 major front-end projects, re-writing legacy Flash apps with TypeScript, React, Redux and Xstate.
    • A real-time live auction dashboard reporting the auction state and incoming online bids for auctioneers.
    • The operator console. A complex user interface to control every aspect of a running auction.
    • A configurable slideshow application to display the auction lots around the auction house.
  • Wrote a Redux middleware library to handle the main complexities of the slideshow application, chopping the logic up into tiny functions to improve readability, write-ability testability and debug-ability.
  • Executed the improvement of the Redux middleware concept by replacing it with the Xstate statecharts library to manage the greater complexity of the operator console.
  • Co-developed and co-conducted an interview assessment for a Senior React Developer.
  • Introduced push builds to prevent individual pull requests from breaking master.
  • Progressed ATG developer testing by integrating unit and integration tests as part of the build.
  • Enforced team discipline and reduced technical debt by introducing ESLint and Prettier as part of the build.
  • Held a well received 90-minute presentation on the fundamentals of how git works under the hood.

Software Developer

Pivigo ~ July 2018 - December 2018

  • Lead the front-end development of the companies flagship product AI-Mentor, a recommendation and training engine for data scientists built with React, Redux, Redux-Saga, Immutable & Flow.
  • Contributed to the Python/PostgreSQL back-end. A Turbogears framework following the MVC pattern.
  • Learned the TDD methodology, testing JavaScript with Jest and Enzyme and testing Python with Nose.
  • Practiced the Agile methodology, learning new disciplines like pair-programming, Scrum and Kanban.
  • Gave a 30 minute lecture on advanced git usage, introducing my team to powerful tools and concepts such as squashing, rebasing, and the DAG.

JavaScript Developer [freelance - remote]

erbridge ltd ~ September 2015 - February 2016

  • Built and shipped a multi-room, live web-chat middleware from scratch with Node & websockets.
  • Designed the initial structure in collaboration with my manager before becoming the sole contributor.
  • Taught myself Express, Handlebars and the poorly documented SocketIO without any prior experience.
  • Wrote an event based commands system for users to DM admins and for admins to moderate rooms.
  • Under my managers superb mentorship I developed a modular, clean code style, learned a powerful Git methodology, discovered linting, design patterns and greatly advanced my vanilla JavaScript skills.

Selected Past Projects

Howlin Karaoke

  • My passion project. A karaoke party app built with React, Redux, Express and PostgreSQL.
  • Developed a client-server architecture where the client allows guests to request songs, the DJ to control the party and the screen to play videos via HTTP requests, WS messages and node streams to/from the server.
  • Designed an intuitive UX that allows party guests to to browse or filter by era, genre, or artist when requesting songs.

Splat-a-Pat

  • A fun whack-a-mole type game built with React and my own Redux middleware state chart library.

bash.howlin.app

  • Engineered a modular site architecture as a Docker image composed of my Jekyll portfolio site, my rubygem packaged theme (now with over 6000 downloads) and a separate Git submodule for the blogposts repository.
  • Built a CI/CD pipeline with Bash, Git and Docker to provide a seamless CLI based development workflow that facilitates blog publishing, development, testing, staging and deployment of the theme or the site.
  • Orchestrated a production server with Docker compose of five containers providing An NGINX reverse proxy server, a staging server and auto-renewing TLS encryption provided by LetsEncrypt.
Todo
A versatile Trello-like organiser. Built with Bash and Vimscript
Bisto
Scrapes the latest jobs from popular job-boards. Built with Python, SQLite and w3m.

Selected Non-Tech Employment

Visitor Services Assistant

British Film Institute ~ 2008 - 2018

  • Formulated and refined an effective method to handle anti-social customers by helping them using patient and compassionate communication. One of my proudest achievements in life.

Chinese Production Manager

Guvnor Ltd. ~ 2001 – 2007

  • Headed the start up of the first Chinese production office for Guvnor guitars in Guangzhou, China.
  • Physically oversaw and built tools to track the production of 3 factories in Guangzhou and Tianjin.
  • Excelled in sales; progressed from finance assistant to logistics manager before heading to China.

Education

Birkbeck UoL ~ 2009 – 2012 (Incomplete)

B.A. Global Politics and International Relations

Hobbies

Music: Guitar, Bass, Piano, DJ, Karaoke.

FOSS, Cooking, Politics, Cinema, Cycling, Travel.