Curriculum Vitae
Profile
Adaptive, pragmatic individual who is devoted to industry progression, with a drive on problem solving, optimisation, and modernisation.
Seeking for a career in Software Engineering to deliver life-changing solutions to the world, continue broadening skillset and drive developments in related fields such as AI and automation forward.
Work experience
Software Engineer at Genomics ltd (Jul 2023 - )
Associate Software Engineer at Genomics plc (Placement Jul 2021 - Sep 2022)
- Contributed to the development of web application using React and Spring Boot
- Experience in writing unit, integration, and end-to-end tests using Cypress, TestCafe, JUnit, and more.
- Mocking, testing, and integration with 3rd party services using OpenAPI.
- Setting up observability - tracing on DataDog from React frontend to Spring boot backend.
- Participated in UI/UX design and implementation of internal platform dashboard, written in React and Go
- Implemented a cluster application authentication and authorisation tool MVP in 3 weeks with OIDC, according to high level requirement to support product development.
- Provided gRPC and HTTP interface for product developers to integrate with their code.
- Effective cross-team communication during development, including presentations and sprint planning.
- Eliminated developer bottleneck completely by automating test data package creation using Bash.
- Decreased Packer machine image build time by 60%, by introducing parallelisation.
- Securing Kubernetes cluster with custom policies written and deployed with OPA Gatekeeper.
- e.g. Prevent pulling containers from untrusted sources, vendoring 3rd party containers.
- Contributed and participated in Disaster Recovery drills and incident managemet plans.
- Helping in decision making of instance sizes by benchmarking instance storage.
Sales / Advisor for Microsoft Surface products (Summer 2018)
Showcasing Microsoft Surface products to university and provide advise according to their use case.
Technical Skills and Experience
Typical development stack
- TypeScript, Sass (SCSS), React
- Go, Kotlin/Java (Spring), Python
- gRPC, GraphQL
- PostgreSQL, Redis
Systems, operations and infrastructure
Cloud and containers
- AWS (EC2, RDS, VPC networking, Cloudwatch, EKS, S3)
- Infrastructure as Code (Terraform, Packer)
- Container management and infrastructure (docker / docker-compose)
- Container orchestration using Kubernetes, with service mesh (Linkerd) and Policy management (OPA Gatekeeper)
- DDoS mitigation and server protection using WAFs (Cloudflare, DigitalOcean Firewall)
Developer experience
- Observability tools (DataDog, Honeycomb)
- Continuous Integration (CircleCI, Gitlab CI, GitHub Actions)
Other technologies I have worked with (at a basic level)
System administration
- Website hosting (nginx, lighttpd)
- Reverse proxy and load balancing (HAProxy)
- Linux firewall management (iptables, ufw)
- VPN provision (IKEv2, L2TP/IPSec, OpenVPN)
- Low configuration VPNs (Tailscale, ZeroTier)
Other domains
- Microcontroller programming (Lua-NodeMCU, ESP8266)
- Chatbots (Telegram, Discord, Slack)
- Mikrotik RouterOS provision & configuration
- Machine learning and AI with PyTorch and scikit-learn
- FreeBSD/Linux storage server administration (ZFS, NFS exports, Samba)
Certifications
- AWS Solutions Architect Associate (SAA-C02, acquired 08/2022)
- SFIA Level 3 in ITOP - IT infrastructure and PROG - Software Development
Education and academic experience
Computer Science with a year in industry BEng (University of York, 2019 - 2023)
Graduated late 2023, first class
- Computational Theory (Automata and Languages)
- Programming languages (Haskell, Java, Python)
- Data science and machine learning (scikit-learn, PyTorch, pandas, matplotlib, numpy)
- Networking and Computer Architecture
- Operating Systems
- Cryptography basics
Electronics and Computer Systems Engineering CertHE (Loughborough University, 2018 - 2019)
GCSE / GCE A-Level (2014 - 2018)Project and team experience
Technical interests
- Lispy languages (Clojure, Hy, Racket)
- Programming language interoperability
- Functional programming and state management
- WebAssembly, JavaScript runtimes
- Software delivery and deployment strategies
- Incremental build systems (e.g. Bazel)
- Heterogeneous computing
- High-performance computing, parallelisation
- Concurrent applications, actors
- Erlang/OTP, Elixir, Gleam and application-level high availability
- Distributed applications and microservices
- Unikernels as alternatives for app containers
- Applications of CompSci in other STEM fields
- DevOps Handbook (Book)
- Domain Modelling Made Functional (Book)