...the musings of Matthew Hall
I enjoy writing code (from embedded C in 32KB of memory to PHP with clustered MySQL servers) and have a wide knowledge and experience in IP networking and Linux server administration. I gain great satisfaction from achieving elegant solutions to previously unsolved problems, whether in a team or as an individual. Working with others to improve my own knowledge and offer the same back, and in doing so be increasingly able to “do a really good job” is what gets me up in the morning.
Having graduated with a 2:1 BSc Hons in Computer Science in 2008, I began work in a small start-up solving the prevalent “last-mile” ADSL issue through a bleeding edge “bonding” solution which launched internationally during 2009. After marriage and relocation I joined another start-up offering personal finance in the UK, which has been successfully bought by a prominent US finance company in Jan. 2011. Where appropriate, I like to leverage and promote free software (open source or otherwise). If possible, I like to contribute back in whatever way I can.
stalk connect with me on LinkedIn: the evangelical Christian geek with a musical twist. According to my server's clock - I am 11,195 days old.
Monitoring and ensuring maximum uptime and availability of mission critical production systems, actively working to improve their stability. Regularly providing advice to others IT teams on how to make things better.
Interim role (3 months) as Application Operations manager, guiding the team responsible for the correct running of the three company products: sunny.co.uk, quid.co.uk and 1monthloan.co.uk
Daily technologies include Windows Server (2008+), RedHat and Debian Linux, Zabbix, Citrix XenServer, Percona SQL, Apache/PHP, Python.
Our team of 7 were responsible for moving the entire corporate (and some production) IT infrastructure form an inadequate Bury office building to dedicated London data centre.
Working initially in a team of 3 developers (later expanded to a team of 5); maintained, optimised, extended and supported a financial loan management system (customer, admin and back-end aspects) as the growing demands of the company required. (www.fortressuk.co.uk / 1monthloan.co.uk)
Major self achievements include complete rewriting of the customer application process, modularised decision engine for affiliate lead assessment, improved and revised OO database abstraction class (supporting read/write load-balancing across clustered MySQL servers), and the provisioning of a Trac/SVN server on a new virtualised development network – providing the company’s first staging environment.
As a team it is acknowledged that we enabled the company to become a viable investment for several major US financial companies which led to a final sale in 2011. Our own analysis and the subsequent automation of many sub-optimal business processes has improved company revenues substantially.
Daily responsibilities include peer code reviews for PCI-DSS compliance, development of new site features and associated change control procedures, debugging and maintenance of poor legacy code and DB design, re-factoring and optimisation of both code and SQL to stabilise the application during an exponentially increasing load, ad-hoc reports for directors and investors, and maintenance of development resources (virtualised Trac and SVN server, and a small development network with staging environment).
Support, quality control and development of a bleeding edge solution to the prevalent “last-mile” ADSL issue using aggregation of multiple IP connections (whether ADSL, fibre, cable, ethernet or WiFi). (www.sharedband.com)
I joined the company as the product was first being launched by a prominent UK ISP – my role was to provide 3rd line technical support for the product and maintain our service in data-centres across the US and UK. I was later given opportunity to also help develop various features into the product (both the PHP front-end and the embedded C network devices), later also taking responsibility for implementing a software release cycle and overseeing QA testing between public releases.
During my time at Sharedband, I acquired an extensive knowledge of IP networking at byte-level, including a handful of the most popular IP related protocols (PPTP, IPSec, BGP, TCP, UDP, DNS etc). By nature many of the problems we encountered had never been seen or solved by anyone outside the company.
The team at Sharedband was exceptionally talented; of the problems I helped solve include: remotely identifying a damaged DSLAM at a BT exchange in London, implementation of software fail-over between data-centres across the globe, automated “flashing” and provisioning of many different router platforms for speedier delivery of orders to customers, and the debugging of a module found in the Linux kernel used by Netgear in a series of their routers – mistranslating PPTP headers in the presence of NAT.
2:1 BSc Hons in Computer Science at Essex University. I chose modules primarily in programming (C, C++, Java), embedded systems, computer vision, natural language engineering, robotics, web application programming and operating system theory. Other modules included project management and personal development. For my final year dissertation, I chose to explore using Computer Vision for Human-Computer Interaction. The result was something like the yet-to-be-announced Microsoft Kinetic. Unsurprisingly I have received no royalties to date.
I'm currently studying part time (as work and church life allows) for a BTh with King's Divinity (through Chester University). ETC is ~2018.