- Name: Ross Golder
- Nationality: British
- Date of birth: 20th November 1976
A highly experienced and enthusiastic I.T. consultant, with a broad range of technical skills.
My special interest is to ensure that any software projects I am involved in have established goals and that the project completes those goals as well as can be expected within an agreed timescale and budget. I do this by applying my experience and knowledge of best practice network and software engineering principles to ensure that all the necessary steps in developing a successful software project or robust network infrastructure have been considered, and all of the main issues of speed, stability and security have been avoided.
I can gather the requirements of a given software or technical project, analyse them and plan the stages of the project’s implementation, communicating with all involved parties at every stage. I can also ensure that the necessary documentation and testing procedures are in place to ensure the software can be easily and efficiently maintained and developed throughout it’s expected life cycle and beyond.
I am also able to help plan and roll out the necessary network infrastructure for an organisation or enterprise of any size. I am also capable of assessing and reviewing the technical skills of team members being recruited for or already involved in a project. I am able to manage members of a development team understand their assignments, produce higher quality code, and help them manage their workload and monitor their performance.
I also work well as a developer. I am happy designing, writing and testing code in any of several types of software project, including embedded applications, desktop/GUI applications, server-side/web applications, or those involving a combination, whether as the sole developer on a project, or as part of a larger team.
Additionally, I am capable of performing all kinds of technical support for clients via telephone, e-mail, instant messaging and site visits where necessary.
Languages: Python, NodeJS, PHP, Java, C, SQL, XML, HTML, XSLT/XPath.
Development Tools: vi/Atom, ssh, git, Firefox/Firebug, Apache, OpenOffice, Google.
Hosting Platforms: AWS, Azure, GCP, Kubernetes, Rancher2
Network Admin Tools: Prometheus etc., Nagios/Icinga, Terraform, Ansible.
Application Frameworks: WordPress, Odoo.
Operating Systems: Ubuntu/Debian Linux.
Recent Work Experience
The bulk of my recent work projects over the last few years have centred around supporting Linux-based web application servers, and developing web-based e-commerce applications using PHP.
I am also experienced and comfortable working in Java, C, Python and several other languages. I am fluent in many common modern network protocols, applications and technologies, and am responsible for managing and supporting several networks.
(readers beware, detailed technical history follow…)
My introduction into computing began when I was six years old. My father bought himself a Sharp MZ80K on it’s release in 1981. By the time I was six, I was helping him copy in the BASIC programs from the various hobbyist magazines available at the time. As I learned to read more English at school, I soon began understanding more from the magazines and books I was typing from, and learned about hexadecimal, binary and the Z80 processor instruction set. When I was eight, I was given an Amstrad CPC464, and began to learn many other aspects of computing, such as memory addressing and peripheral I/O. It also helped me to learn how to operate tape drives and touch-type.
During primary school, I was often called from class to help fix the school’s BBC Micro. At home, I spent quite some time with an Osborne 1 and eventually had an Amstrad PCW8256 running a derivative of CP/M. However, it wasn’t until my first PC, an Amstrad PC1512, that I was introduced to the 16-bit PC architecture, the Intel 8086 processor, and the MS-DOS 3.2 operating system and began to understand the interaction between the operating system and the underlying hardware, and the use of C as a programming language. For my twelfth birthday, I bought Borland Turbo C Professional and earned myself a new hard disk by reworking a set of utilities that a professional programmer had written for my father’s company. And so I became a commercial programmer at an early age.
When I was sixteen, using the wages from my first job at Partners Computer Systems Ltd, I acquired a motherboard and other parts to build a basic 386SX computer running Windows 3.1. At work, I began to help support the company’s larger clients that were using PCs with terminal emulation software at the time. I also borrowed a 14.4k dial-up modem and began to learn about the Hayes command set, PPP, TCP/IP and in turn how the Internet works under the hood.
After a couple of years, I moved to a job with Vale International Ltd. To begin with, I was armed with a VT102-equivalent monochrome serial terminal, and tasked with working on fixing bug reports using a console-based line editor. Later, we began using PCs running Windows95 over an ethernet network, using network-based terminal emulation software. Our company installed a WindowsNT server as a file server, and I began spending more time at the company as a network administrator than as a programmer.
The company then finished porting their software from Pick to the UniData database platform, running on SCO Unix on standard PC architecture servers. As the company began replacing their client’s Pick servers with Unix servers, I was sent out on site visits to perform the migration of client’s company data to new PC-based servers, including configuring their new operating system, serial port drivers, database and application software, system user accounts and access controls etc. I also performed a migration of the company data from their existing server, trained the company’s staff on the operational differences of the new system, and performed any necessary customisations. During this time, I began to feel a lot more comfortable about dealing with non-technical customers and learned how to plan and execute a successful migration project.
In my spare time after work, I’d installed a copy of RedHat Linux 3.0.3 on a computer at home, and begun to experiment with the wide variety of open source software available. I soon began to use the X Window system in preference to Microsoft Windows, and I began to learn more about the design and structure of open, collaborative software projects, both in terms of organisation of the source code and organisation of the various contributions and contributors to the projects.
Later, I moved on to work for a small company in London. As there were no other technical staff in the company, I soon learned how to work on my own under pressure, balancing the needs of both the daily administrative work and the project development work. During this time, I began to use GNOME as my preferred desktop user interface, and became interested more in developing graphical user interfaces, as opposed to the more mundane HTML form-based interfaces I was used to developing for work. I spent much of my spare time brushing up on my C development and debugging skills, and learned more about using graphical library toolkits such as GTK+. In 2004, I contributed several patches to a language translation program called ‘gtranslator’, and became it’s official maintainer for a few years, fixing bugs and applying patches filed by the user community and addressing various design issues left by the original author.
I then moved on to work for the ISP that we were selling dial-up accounts for, one of the largest in the UK at the time. As my systems administration experience was growing from dealing with Linux and FreeBSD servers every day at work, I began to get involved with the GNOME Systems Administration team, offering to help them with their backlog of support requests. I quickly learned from the team documentation how the team and the systems worked, who was responsible for which services and how the services were set up and run. I began to spend a lot of my spare time dealing with all types of technical support and account maintenance requests from the GNOME developer community. We managed our users in an LDAP directory, for which I wrote a new open source web-based administration interface, called Mango, so that account management could be delegated to a separate team of non-technical volunteers. I also spent time investigating problems with almost all the services involved, updating the team documentation wherever possible and accounts for new sysadmin team members to help handle the technical requests being generated by the ever-increasing number of developers joining the project and for services to be hosted by the project. My main achievement in the role was to plan and execute the migration of the source code control system from CVS to Subversion, which was performed at the end of December 2006.
In January 2007, my first son, Sam, was born and since then I have not had time for any extra-curricular technical activities, and have stepped down from my roles in the GNOME project for the time being to spend more time with my family.
In my spare time, I help run a local sailing club where we teach youngsters to sail and take them to compete at various national events throughout the year. When the wind is too strong to sail, I enjoy kite-surfing.
September 1993 to June 1994:
Partners Computer Systems Ltd
My primary duty involved software development and support for bespoke improvements to a Business Management Suite called ‘Europa’. Europa was developed in Alpha Basic on an Alpha Microsystems minicomputer platform. I assisted in new installations and site relocations. I gained certification in AMOS (Alpha Micro Operating System) system administration.
September 1994 to November 1996:
- ‘Software Developer’
VALE International Ltd
Thames Industrial Estate
My primary duty here involved software development and support for an international ‘Field Service Management System’ called ‘VALE’. VALE was originally developed in Pick, but later ported to UniBasic (from Unidata), so as to run on Unix variants. I was involved in fixing bugs, developing new features and writing bespoke reports to client’s requirements. My other duties included general technical support for some key international clients, and providing technical advice to the front-line support department. I was also involved in network planning, implementation, administration and management of the in-house network and assisted on-site for roll out of terminal, modem and printer solutions for our clients. I enjoyed the variety and challenge of my work, and the responsibilities of my roles.
December 1996 to November 1998:
- ‘Web Master’
75 St Margarets Avenue
CPD is a company that sells access to a web-based commercial property database for estate agents across the UK. They also provide email and web services to their customers, and re-sell dial-up Internet access. My primary duty was to develop and support the commercial web and email services, and on-line database services, running on Linux servers. During my time there, I developed their network infrastructure, database structure and web application software, including porting their legacy Perl/CGI scripts to Java Servlets, upgrading and tuning their mySQL database, and moving their main server from a cupboard in the office connected to a 64k leased line router to a more appropriate server at a co-location facility to lower costs and provide better value-for-money. As the sole technical engineer, I covered a wide range of tasks, which strengthened my understanding of many areas of computer science. I enjoyed the challenges and the responsibility associated with running the technical side of a small company. Once the office network had been suitably configured, I worked mostly from home via an ISDN connection.
December 1998 to June 2000:
- ‘Network Manager’
VALE International Ltd
Thames Industrial Estate
I returned to VALE to become a network administrator, looking after the day-to-day running of a simple but demanding network of around 20 users. I reported to the Technical Director, and assisted him wherever possible. Again, I was the sole technical engineer, and covered a variety of tasks. My time was spent responding to all kinds of technical requests, ranging from second-level customer support, to installing and deploying new application servers.
June 2000 to January 2001:
- ‘Technical Manager’
CPD On-line Plc
1345 High Road
I returned to CPD to assist the new Technical Director with the on-going development of the network and software that host their web-site. They had since become a public limited company, and as I was the one who had originally developed their systems, I was the best choice. I was mostly responsible for bringing the company source code back into a central repository, and begin to tidy and document it in preparation for being worked on concurrently by multiple developers. I was also responsible for selecting and training new developers to join the company, and for upgrading the software and hardware on their key servers to cope with the expected growth of the company over the next few years.
February 2001 to June 2001:
- Travelled across South-East Asia and Australia.
June 2001 to September 2002:
- ‘Software Engineer’
Reporting directly to the Technical Director, I was tasked with developing a new internal web-site, to be used by their front-line technical support team and service provisioning staff. I was also involved in helping the third-level support team with various technical queries related to the web and mail servers which were running a combination of Linux and FreeBSD. While the majority of my work involved PHP development, I was also involved in helping install and test new network services. I also spent time building and debugging network service applications written in C. I thoroughly enjoyed this role, and learned a lot about network traffic analysis, systems management, monitoring and disaster recovery procedures. I also spent several days performing hardware upgrades at Telehouse Docklands in London, where I saw how most of the Internet traffic in the UK is routed between ISPs and internationally.
October 2002 to March 2006:
Golder Software Systems Ltd
349/1 Moo 6
I moved to Thailand to be with my girlfriend, and set up a small software development company in order to support us financially. My primary business was development of various in-house database-driven web applications (using PHP) for a new client in Jersey, along with consultancy and support for their network services and infrastructure. I also provided on-going support for them and my other previous employers.
April 2006 to December 2006:
Freelance technical consultant
January 2007 to now
- R.O.S.S. Golder Ltd
349/1 Moo 6
During this time, I have largely been responsible for covering the backups, monitoring and security maintenance responsibilities for my existing client’s network infrastructure, spread across various service providers, but have increasingly been involved in creating the automated build/test/deploy stages of a CI/CD pipeline to provide for important additional QA steps to be added to the live release procedure for our main e-commerce sites. The majority of my recent work has involved managing Kubernetes clusters using Terraform across AWS, Azure, GCP and custom clusters on other hosting providers, as well as writing custom python code for the provisioning of services with those clusters.