Technologies: Linux, Docker, Next.js 14+, React 18+, Redux Toolkit 2, Redux-Saga, Redux-Observables, Capacitor.js, Android Toolkit, NextAuth.js, Web sockets, Qwik.js, Astro.js (all work stored on Github)
Technical Activities: I took voluntary redundancy from my last professional role to upskill to Next JS 14 and learn monorepo best practices (using pnpm to greatly reduce file storage of multiple projects). I have created next.syntapse to showcase the new Next app router architecture and integration with Redux Toolkit for client state management and web sockets for remote communications. I also created auth.syntapse to extend NextAuth.JS to include a secure role based Oauth enabled authentication login with email verified registrations and 2FA logins. I have also created maplio.syntapse which is a live interactive multi-user map application with a rudimentary but functional Augmented Reality viewport, using a Nest backend and socket gateway, for which I am presently researching investment opportunities. I created qwik.syntapse and astro.syntapse as I consider both frameworks to have great future potential for efficient micro-frontend content delivery. I also created capacitor.syntapse: a hybrid Android/IOS/web app created from a single Typescript codebase using Ionic components from a Next 14 website. All my sites and servers are hosted as separate Docker containers on a private VPS, each configured to minimise resource usage and run production and development servers simultaneously using a single code base within a very well structured and predictable pnpm monorepo
Technologies: Docker, microservices, monorepos (npm and Nx), Typescript, TyepORM, Next JS, AWS, React, Nest JS, Bull Queue, Opentelemetry, Grafana, Prometheus, Jaeger, Bitbucket, Jenkins
Technical Activities: Full stack software engineer employed to create software in Next JS and Nest JS, developing locally with Docker and deploying to AWS using Terrafom scripts. I significantly increased unit and e2e Jest test coverage on both front end and back end code and assisted junior devs in advancing their understanding of Jest. I fixed long standing issues with memory leaks and was able to speed up e2e tests by freeing up system resources during long tests, I implemented observability across backend software using Opentelemetry pipeline to diagnose and resolve long standing issues with Queue processing. I also helped to restructure a poorly implemented microservice monorepo architecture to sanitise module and package management, and simplify further development.
This was a significant period of self-funded, self-directed research, development and discovery into open source technology funded by property and blockchain investment activity. This was a full time engagement and my motivation was to assess and compare a wide variety of technologies and build a skills-set based on industry leading solutions and practices. After a long period of assessment I to commit to React, Next JS, Nest JS, Redux and Docker development
Languages and platforms: Virtualbox, Linux, Docker, Ansible, Jenkins, Git,Javascript (incuding webpack, browsersync, angular (universal), Typescript, React, Vue, Next, Nest JS, Nuxt, RXJS, Redux, ReduxToolkit, npm, yarn, numerous cli, ngrx, ngxs, jquery, express.js, node.js, socket.io, meteor, D3/C3 charting, backbone/marionette, underscore/lo-dash), PHP (Drupal, Symfony, Laravel, Silex), C++ (MFC, ATL, STL, and Boost libraries), C# and .Net, html5 (using haml, twig, underscore, handlebars, jinja2 template engines) and any css3 transpiler (sass, less, or stylus)
Remote communication web standards: OpenSSL, SSH, Websockets, NFS, HTTP, HTTP2, AJAX, REST, GraphQL, OpenAPI, JSON:API, Hydra, RPC and SOAP
Data Storage and Management: YAML, JSON, XML, HTML, HAML or any arbitrary data format to design, code, and configure automated testing of entire projects (unit, component, module, integration, E2E), analyse resource usage, and manually debug remote source code. I can also install and configure both SQL and noSQL databases and optimise for scale and performance and I have a practical understanding of mysql, mongo and redis
Technologies: Windows XP Pro / C# / Visual Studio .NET 3 / OODBMS / UML / SVN source control / Design patterns / Iterative, time-boxed Agile/scrum/XP development / Continuous integration with N-Unit automated build testing and Cruise Control.
Technical Activities: Software design and development of the iMerge SoundServer S2000: a high-end audio sound server, incorporating multi-zoned playback, advanced play-list management, metadata network-lookup, and compatibility with third-party audio playback/archive systems. Co-designer of the media management middleware and underlying OODB using “Gang of Four” design patterns involving re-factoring an existing code base into patterns where necessary. XP test driven development, employing N-unit test modules for unit and integration testing and Cruise Control for automated hourly build and integration testing.
Technologies: Windows 2000 / C# / Visual Studio .NET/ COM / SQLServer / ADO.NET / XML / UML / Time-boxed Agile/XP development
Technical Activities: Software development of Motorola’s ASA (Advanced Software Applications) group’s IOS Windows Collection software: a data collection and analysis tool for GSM cellular network analysis and optimisation. Extensive data modelling in UML, and C# implementation from pre-defined requirements. Implementation in C# on .NET platform on Windows 2000. Enhancements to existing design and software. Database design using Rational Rose. SQL data access through ADO.NET. Steep initial learning curve and heavy workload with short delivery times.
Business Achievements: Assisted the team through a very difficult period of systems integration. I helped to minimise disparities between development and test teams and redistributed and reassigned test tasks. This was a demanding role as the project was running over time and budget when I joined. I started writing new code but soon played a key role in defining integration and system testing schedules with developers in India, China and Italy. I defined mock test environments with dependency injection to assist reproducibility of results. I advised mid and senior project management on best practices and recommended agile programming techniques for future development. Proposed, designed and mentored development of a cellular network simulator to assist development of overdue software deliverables to greatly reduce test times and increase test scalability. Received special recognition from the client for my motivational, planning, and people management skills
Technologies: Windows 2000 / C# / Visual Studio .NET / COM / XML / UML / Rational Rose / Rational Clearcase / Rational Clearquest
Technical Activities: Upgrade of CDMA mobile network analysis software (project: CTPU). Extensive UML analysis/design and C# implementation from pre-defined requirements, to provide newer version of existing software. Implementation in C# on .NET platform on Windows 2000. Technical lead of international integration testing team (Motorola UK, India, Ireland), defining and monitoring network testing across three countries, in accordance with high level quality controlled software processes. Successful delivery of very high quality software. Heavy workload with short delivery times.
Business Achievements: Identified problems in communication between core business personnel, in-house developers, and offshore subcontractors. Provided mediation services. Attended project management meetings with internal management and offshore contractors to assess progress and provide technical assistance for late deliverables.
Technologies: Windows NT / 2000 / C++ / stl / COM / ATL / XML / SAX / UML / HTML / Rational Rose / Visual Studio / Visual Sourcesafe
Technical Activities: Self-managed software development, working from own premises, reporting directly to senior management. Rework of failed offshore software development from requirements stage. Analysis, design and implementation of C++ COM-based data filters including support for XML, HTML, MS Word, SGML, Interleaf, Framemaker, Quark, and Pagemaker formats. Introduced novel ways to reuse developed technologies to provide significant gains on existing asset value.
Business Achievements: I advised a Global Implementation and Integration Manager on defining processes for bridging disparities between business stakeholders, developers and testers. Advised European sub-contract manager on software testing strategies. Defined testing roles for business personnel to improve staff satisfaction. Role involved interaction with wide variety of personnel including translators, middle and senior management. Continuation of previous service - see previous Xerox entry for more details.
Technologies: Windows NT/C++/stl/COM/ATL/Visual Basic/Visual Studio.
Technical Activities: Consultancy and troubleshooting bespoke telephony switching software tools. Conversion of COM components from VB into ATL COM (event driven connection points) to increase software performance. Quick problem analysis and solution delivered successfully.
Technologies: Windows NT/ C++ /stl / COM / ATL / XML / SAX / UML / Rational Rose / Visual Studio
Technical Activities: Requirements capture, formal analysis, OO UML design and C++/COM implementation of a corporate level human-language translation software suite (project: Globaltrans). Business process analysis and design of large-scale, n-tiered, multi-user, distributed translation system. Intensive client facing role. Large user base. Large development team (30+ personnel). Working under pressure to tight commercial deadlines.
Technologies: Windows NT / C++ / embedded software / RS232 / Labview / MFC / MS Visual studio / UML / Rational Rose/ Iterative Agile/XP development cycle.
Technical Activities: Sole software and systems engineer for real-time fluidics control software for an air pollution monitoring system. Working in a large multi-disciplinary engineering team (chemical, electrical, mechanical engineers). Organising and advising on systems and software processes to enhance the client’s administrative infrastructure, in addition to real-time embedded systems development.
Technologies: Windows NT / C++ / COM / ATL / MFC / MS Visual studio / USB embedded development.
Technical Activities: Commercial EPOS (electronic point of sale) distributed transaction control system for a large retail organisation. System was designed for scalability and performance. Also designed and implemented a bespoke USB 1.0 printer driver (in C++).
Technologies: Windows NT / C++ / COM / ATL / MFC / MS Visual studio / Borland C++ Builder / RS232
Technical Activities: Design and implementation of client-server remote user interface for wireless data and voice communications device. Also, software implementation of formal protocol specifications for wireless data communications. Lead a small team of engineers from Turkey and mentored in the use of Windows SDK and MFC.
Technologies: Unix / C++ / UNIX scripting.
Technical Activities: Pharmaceutical projection system. Scaleable, highly algorithmic, multi-process, high performance system for forecasting usage of pharmaceuticals products. Designed and coded algorithms and distributed performance-critical processes in C++. Small team of senior developers.
Technologies: Windows for Work-groups/C++/Visual Studio/RCS version control.
Technical Activities: Designed and developed diagnostic/maintenance sub-systems for the In Flight Aircraft Entertainment System (installed on the new Boeing 777’s and retrofitted onto 747’s). Large development team (circa 25) and very robust software processes. Excellent introduction to software process control.
Technologies: Using C++/COBOL/TAL/Unix/VMS
Technical Activities: COBOL developer/tester on a number financial software projects (3 months) including CHAPS. Also developed software on a Reuter’s media switch/router in C++as a port with enhancements from VMS to UNIX (9 months).
Role: Lecturer/Project supervisor in Electronics/Computing/OO/Digital design. Conducted lectures in a variety of subjects to groups of 30-60 students (mainly undergraduates) in large amphitheatres, classrooms and technical laboratories. Devised and managed a 12-week long project in computer programming for an MsC conversion course, as well as a variety of lectures in C++, OO, digital electronics design, and analogue electronics design.
Role: Tutor/lecturer to groups of 16+ students of all ages. Authored and executed courses in OO/C++/ C. Created original course material based on curriculum standards. Courses are now in print and are now in use as the standard course material for subjects taught. Duration: 3 x 12 week semesters
1st Class BEng. Hons with Distinction in Electronics Engineering. Awarded Institute of Electrical Engineers Associate membership. Final year distinction for project in Neural Network Image Recognition using standard RAM technology as a neural memory. Elected as Student Representative in the final year acting as intermediary between students and academic staff on a variety of issues.
BTEC National Diploma in General Engineering. A range of course material over two years ranging from mechanical engineering and manufacturing to mathematics, electronics engineering and computer science. Overall merit awarded.
9 GCE O levels: Computer Studies (B), Art (B), Mathematics (B), Arithmetic (B), Chemistry(C), Physics(C), English (B), English Literature(C), Geography(C)