James Clark
Skills
Communicator
Whether it's writing clear documentation or steering a meeting back on track, good communication is one of the absolutely essential skills of a software developer. I tailor my language to my audience, avoiding being overly technical where it would be unnecessary, acting as the translator of others where needed.
Polyglot
I have been programming professionally for over 23 years at this point, and have specialist knowledge of multiple languages. I can pick up pretty much anything without trouble. Modern software development rarely focuses on a single language for the entire stack - there is always going to be some unique scripting used for CI tasks, Infrastructure-as-Code, or end-to-end tests.
Delver
Software invariably accumulates tech-debt and bit-rot. Having worked on some extremely old projects, I've found that I actually enjoy digging into old codebases where nobody knows how things worked and there is no documentation. I like instrumenting and understanding legacy code, and feel rewarded when I can uplift it to modern standards.
Unifier
We work better together. Whether it's between Product and Tech, Devs and Testers, or people from different backgrounds and life experiences, I like to promote cameraderie within my team. It's better to have a team that feels comfortable with each other and un-stressed.
Experience
Senior Software Developer
Tightly integrating a modern Next.js React app with a legacy Java app, designing and building a user interface aimed at replacing critical workflows with a new framework that can enable speedier development.
- Collaboratively designing a new hybrid app structure with a cross-functional team.
- Reverse-engineering existing Java code behaviour, documenting and reimplementing in Javascript.
- Transforming the user experience with Single-Sign-On and accomodating for legacy username requirements.
- Identifying and working around shortfalls with availability of data.
- Configuring app dashboards and enabling visibility of app behaviour and documentation of first-response protocols.
- NextJS
- React
- Java
- Tomcat
- Tapestry
- Kibana
- PostgreSQL
Senior Software Developer
Building a greenfield responsive React app for comparative market analysis to compliment an existing product.
- Working closely with the API team to design a new API to service the requirements of the app while working within the constraints of the existing system and database design.
- Creatively managing integration issues discovered with late notice, pragmatically balancing tech debt and code quality to ensure on-time delivery.
- Bringing new team members up to speed, building out mocks, stubs and scaffolding to ensure the entire team can work in parallel with API and design developments.
- Aiding Product and design to ensure the best possible UX and feature set can be available while taking potential pitfalls into account.
- Utilising Infrastructure-As-Code via AWS CDK to ensure repeatability of deployments and consistency of app environments.
- Exploring, assessing, and implementing PDF creation workflows.
- NextJS
- React
- Emotion
- Redis
- Puppeteer
- Cypress
- AWS
- CDK
- ELK
- Docker
Javascript Developer
Extending our Agent Portal with new features that are tightly integrated with the business' initiatives.
- Working closely with Product on a small focused team building out a new universal portal product that collates data from across the business into one convenient location.
- Taking ownership of the backlog, release management, sprint planning, and design.
- Integrating a new Early Access business-wide initiative allowing agents to promote properties before their full listing goes live.
- NextJS
- React
- Modern CSS
- GraphQL
- Cypress
- ELK
- Docker
Perl Developer
Updating and uplifting our Agent Services CRM software. Working across the entire stack, from EC2 to frontend JS & CSS.
- Diving into a unique multi-feature CRM with a 20-year legacy and 200,000 users, navigating the challenges of BAU work alongside new product features and integrations.
- Uplifting the existing codebase to make use of modern paradigms and improvements. Changes to improve developer experience and reduce iteration time while improving deployment confidence.
- Auditing and improving security across the application, enabling Single-Sign-On and locking down administrative roles.
- Modernising infrastructure with containerisation, automated tests, multiple environments and more control over deployments.
- Enhancing observability with improved logging and visualisations, alerts, and developer-specific workflows to allow reverse engineering of application behaviour.
- Building up team culture and confidence with regular group learning sessions.
- Modifying the app to allow it to scale to a large userbase and efficiently handle custom feature sets.
- Responding to incidents, writing up post-mortems, and building new mechanisms for resiliency.
- Perl
- Apache
- MySQL
- PHP
- jQuery
- AWS
- Git
- Jenkins
- ELK
- Kibana
- Grafana
- Docker
- Python
Senior Software Developer
Working on the GPlates project, an open-source C++ / Qt application for modelling information and motion of tectonic plates through geological time.
- Working closely with professors and students to gather requirements.
- Creating and documenting an information model to encompass existing and future data needs.
- Building a cross-platform C++ application visualising plate tectonic models in 3D across geological time.
- User interface design and implementation using modern desktop best practices, conforming to multiple platform conventions.
- Updating tooling and documentation for the information model to keep up with standards and new data requirements.
- C++
- Python
- Qt
- XML
- SVN
- Geoscience
Education
Bachelor of Computer Science and Technology (Honours)
- Studied programming in areas of algorithms, data structures, optimisation, network security, cryptography, 3D graphics, network programming, and artificial intelligence.
- Learned techniques of database design and creation, object−oriented design, distributed processing, and user interface design.
- Honours Project: Machine Learning to automatically classify email between user-defined categories, using Neural Networks and Genetic Algorithms.
- Java
- C
- C++
- Prolog
- Matlab
- Perl
- Python
- Bash
- UNIX
Publications
Links
jobs@james-clark.au
www.linkedin.com/in/james-ac-clark
PDF download
References by request.
- This print or PDF copy of the CV was generated on 2025-05-17. View the latest version online at james-clark.au/cv.