Latest version of this CV
fullmeta.co.uk/vlad/cv
Former Barclays Capital, Renaissance Capital, Yandex. Mathematician turned investment banker, turned programmer. UK Global Talent awardee. Recurse Center'13. 3x founder: I run fullmeta.co.uk, launched git.ht, launched Sergeant Drill
Experience
I wrote compilers, rules engines and expert systems for compliant trading, blockchain VMs, DSLs and dev tools, web backends and React SPAs, algo trading strategies and more. I built a Funding Circle competitor in under 5 months in a team of two. Managed on-prem and AWS hosted infrastructure, organized devops. Hired, trained, on-boarded engineers, successfully transitioned projects to new maintainers.
- Senior Software Engineer, @ Neo4j
Apr 2024 - now
London, UK
Benchmarking and perf team. Internal tooling.
- Lead engineer, interim CTO @ Ritisino Holdings
Sep 2023 - Apr 2024
London, UK and remote
Boutique algorithmic and prop trading firm targeting Eastern Europe, India, South Africa. I built two versions of their main algorithmic trading engine: experimental in Common Lisp and one in production in Erlang/OTP. All trading agents modelled as explicit finite state machines driven by events. Wrote a few external components in Python, R and Julia. Preped their infra for trading on NSE, India including exchange colo resources.
- Launched Sergeant Drill
Aug 2023-now
London, UK
AI-powered Telegram bot that turns your study materials into bite-sized drills aka Anki flashcards and helps you memorize anything and learn faster. Way faster. ~1KLOC of TypeScript and ~6KLOC of Clojure. Integrations with Telegram and LLMs are all custom written.
- Launched git.ht
Jan 2023-now
London, UK
Made tech blogging as simple as creating a Github gist. My hoots can be found at vlad.git.ht
- Various contracts
Dec 2021 - Dec 2022
London, UK
Mostly one-off engagements with unhealthy mix of Python and JavaScript with Nodejs.
- Senior Developer @ Previse
May 2021-Oct 2021
London, UK
Revenue-based financing and SME advance payments for the XXI century. JVM on the backend and ClojureScript with React on the client. I did half of both as well as comlpete OpenBanking and Accounting integrations for the UK and US. Integration with data-science and product teams, internal ledger. Deployed to AWS with Terraform and Kubernetes, managed MySQL. Occasional Python for internal tooling and AWS lambdas.
- CTO @ plotx.ch
Dec 2019-Dec 2020
London, UK and remote
Infrastructure for Chia (XCH) cryptocurrency and blockchain as a service. On-demand "plotting" and "farming" rigs. Mostly Python for infrastructure management and core functionality, cloud-init and Ansible for provisioning, customized SmartOS hypervisor for virtualisation and datacenter management. Node.js with Express.js on the server and a splash of React on the client. Occasional smart-contract hacking with Chia Lisp.
- Tech lead and CTO @ fullmeta.co.uk
Dec 2019-now
London, UK
Started out as a Clojure SWAT team targeting JVM then branched out into .NET with Clojure on CLR, C# and F#. We mostly contract with FinTech startups and financial institutions. We prototype, MVP, take projects to scale out, hire, on-board and hand off to staff engineers, port and maintain existing JVM and .NET products. We recently built a Funding Circle competitor in under 5 months and lauched it in UK and US. I personally implemented the entire Open Banking journey, integration with payment processing providers, etc.
- Senior Developer @ All Street Research
Jul-Dec 2019
London, UK
Three of us built a cognitive assistant for investment banking researchers. Mostly Clojure, ClojureScript. C# and F# with LINQ, Elastic Search, Kafka, MongoDB to integrate customer-side data sources. We also did much of the machine learning and AI hacking: Recursive Neural Networks (pre-LLM approaches), linguistic models and NLP, Lucene, etc. Kubernetes for infrastructure. Java Swing GUIs for internal ML tools.
- Senior Developer @ Droit
Apr-Nov 2017
London, UK
Put together Droit's first London engineering team. All Clojure and ClojureScript, handpicked and bright. Still proud. Otherwise same hot fintech startup hacking as before the move to London.
- Senior Developer and Consultant @ Droit
2015-2017
New York, US
Built an expert system for compliant trading. Sneaked Clojure into a few unsuspecting giants like Goldman, Morgan Stanley, etc. You'd typically find me designing DSLs, implementing compilers, parsers, rules-based engines, putting together simple browser-based GUIs and whatever else the startup life would have me do.
- Developer @ Yandex
2014-2015
Moscow, RU
Officially a member of the Search Interfaces Development Infrastructure group, but mostly I wrote backend tools for source to source compilation - engines to write your template engines. If I was lucky and did it right frontend developers would get to use my work and take all the credit. Mostly JavaScript and Node.js.
- Vice President, Equity Derivatives @ Renaissance Capital
2009-2011
Moscow, RU
Sales and trading mostly equity options with occasional structuring here and there.
- Derivatives and Structured Products @ Barclays Capital
2007-2009
London, UK
EM derivatives structuring and sales. Mostly rates and FX with an occasional commodities trade.
Public Speaking
Formal education
- Keldysh Institute of Applied Mathematics, Russian Academy of Sciences
2004-2006
Moscow, RU
PhD track in Applied Mathematics, dropped out
2004
Moscow, RU
MS in Economics track, full scholarship, dropped out
1999-2004
Moscow, RU
MS in Theoretical Mechanics and Applied Mathematics @ Faculty of Mechanics and Mathematics.
Table Stakes
Kind of tech recruiters insist on being mentioned explicitly while I consider "table stakes" for any senior dev. I'm either fluent or comfortable.
Unix shell scripting
Ansible
Python scripting
git, GitHub
CSS, HTML
HTTP, SSL
RESTful APIs
Node.js
CI/CD
KVM, bhyve, qemu, VirtualBox
Docker
Terraform
Prometheus, Graphana
Kubernetes
SQL, NoSQL
Postgres, MySQL, SQLite
Kafka
Elastic Search
Redis
MongoDB
GraphQL
DevOps
AWS, Azure, GCP
Unit testing
Integration testing
Emacs, VSCode
Languages and Runtimes
I'm not picky about "the stack" and will program just about anything: Clojure, Typescript, modern Java, Go, Python, C#, F#, plain C, etc. Most of my code remains proprietary. Select OSS contributions linked below.
- English, Russian
What you'll hear me speak on Zoom
- Clojure
What I get to use on the job most often. Been using it in production since 2015. Also frontend ClojureScript with React re-frame, rum etc.
- fullmeta web
Author. Dynamic language deserves a dynamic web framework.
- bot
Author. Cross-exchange crypto-currency arbitrager.
- seqexp
Contributor. Regular expressions for Clojure sequences.
- TypeScript
Shipped a few products. One of them a full-featured AI agent: Telegram API for communication, embeddings and completions via OpenAI API, React based UI, backend with Node and Fastify, persistency with SQLite and Postgres. Experience implementing VSCode extensions.
- JavaScript, ES6
Wrote a fair amount of Node.js at Yandex.
- bemhtml-syntax
Author. Transpiler for BEMHTML templates.
- xjst-more
Author. Incremental compiler for BEMHTML.
- Java and JVM
I'll wrap an existing sub Java 18 API 9 times out of 10 then use Clojure, but I'll happily program modern Java with records, pattern matching, green threads and sane native interface. Even in Clojure I lean heavily on Java tooling for profiling, monitoring and management: JMX, Mission Control, Flight Recorder, VisualVM, instrumentation with agents, etc.
- Python
Mostly odd scripting, in-house CLI tooling or as an extension language in larger systems like GDB. Familiar with Python's LLM ecosystem like LlamaIndex, LangChain, etc. Can put together an odd Django webapp.
- .NET Core
I'll target CLR from Clojure when allowed. Comfortable diving into existing C# and F# codebases. Never targeted Windows platform, though - only .NET Core components and backends running on Linux. Some exposure to Blazor server-side with SignalR and WebAssembly.
- Go
Simple and reasonable with undervalued ecosystem. IMO a sole contender for Java's crown. I dabbled but never used in anger. Be happy to use on the job. Expect to be competent within a week or two.
- C
Know enough to be dangerous or pass a systems programming class. Happy to pick it back up if necessary. Likely to stick with C99.
- Racket
Favorite lisp. Wrote tons including hairy macros, DSLs and first-class programming languages. Spoke at RacketCon'19 and contributed to Racket core.
- tilda
Author. Threading macro with self-documenting hole-markers, clause level keyword options, implicit escape continuation.
- racket/tables
Author. Racket extended with first class Lua-style meta-tables for prototypal inheritance, generic associative API and more.
- ponzi
Author. Beginnings of a clever Scheme for a discerning smart contract builder. Implements much of the Ethereum VM close enough to the Yellow Paper.
- Guile Scheme
Unavoidable Scheme for a pro Guix user like myself.
- Emacs Lisp
Unavoidable Lisp for someone who lives inside Emacs. Wrote tons. Surprisingly fun to program.
- multi.el
Author. Swiss army knife for Emacs Lisp. Protocols, multi-methods, pattern-matching and destructuring, benchmarking, etc.
- Blockchain aka Web3
I am most familiar with Chia (XCH) ecosystem and its own Chialisp smart-contract language. Implemented EVM from the Yellow Paper in Racket.
- Other
Boy, where do I even begin. I wrote formal semantics in Redex, grammars in OMeta (also implemented OMeta itself in JS and Racket), scripts in TCL, bits and bobs in Lua (also ported good ideas to Racket); toyed with Factor, OCaml, Rust, Shen, Erlang. Latter I'd be happy to try in production be it Erlang proper, LFE or Elixir.
Frontend
Don't expect a designer but I had to implement UI in most every piece of software I ever shipped.
I am language and framework agnostic. Programming for the web looks the same to me in React, Django, Spring Boot, Blazor, Next.js or whatever else. E.g. I shipped and comfortable with ClojureScript with reagent/re-frame; plain React with Redux for state management - no frameworks; Next.js; plain RESTful backends with Hotwire Turbo for limited interactivity, JSX for server-side rendering & templating; Tailwind CSS for styling.
Infrastructure and Data
Weather you have resources on-prem or in the cloud - I've done it all. I deployed and managed SmartOS hypervisors, provisioned Solaris-like zones, LX zones, Linux KVM and Bhyve VMs, OpenBSD, FreeBSD and GNU Guix boxes with cloud-init and Ansible. Deployed and managed AWS infrastructure by hand via dashboard, by scripting the API as well as Terraform. I modeled and queried data in just about any datastore in active use today.
- Data
I programmed against Kafka, Elastic Search, MongoDB, Postgres, MySQL, SQLite. Extensive hands on experience with graph databases e.g. on-prem Datomic and Datascript.
- Cloud infra
Hands on and comfortable setting up, deploying and managing EC2, Elastic Load Balancing, VPC routing across regions and multiple availability zones, security groups, policies and IAM roles, RDS, Beanstalk, CloudWatch, SES, SQS, S3, etc. Can setup and manage multiple zones via Route53, can setup CloudFront caching with distributions in S3 and on-prem servers, etc. I can even Tailscale your AWS and on-prem resources together.
I can Terraform and Kubernetes but unless you are a big bank or on the path to Google scale I'll argue against either. If your K8S cluster doesn't have blue to green deploys and no easy way to connect to or forward ports from your pods, you may want to revisit your architecture.
In my experience companies can save a ton of money and much sanity by virtualizing whatever VMs and containers they need on top of SmartOS on a local server. With backups, of course.
- Monitoring
I setup and managed on-prem Prometheus and Graphana for monitoring with CloudWatch, JMX and Node exporters for sources.
Product and Management
Hired, fired, onboarded, trained, managed and led by example teams of up to 10 engineers. I practice reasonable variations of agile: 2-week sprints, review in the middle, planning towards the end, short daily standups - I'm usually one to lead these things.
I took several products from conception to launch. Comfortable collecting, updating business requirements, liaising with stakeholders and developers and otherwise act as a product manager. Regular pair-programming sessions. Mandatory code reviews. Comfortable leading a distributed, fully remote team.
When I lead, we ship.
Note to Recruiters
If you are in the UK: my indicative daily rate is GBP 650-800 + VAT when contracting outside of IR35. Inside IR35 is fine. Fulltime is fine.
I'm usually contracted so finding a slot for a highly technical interview can be tricky. Please enquire early. In my experience take home problems work best because weekends, but kindly ask your client to time box them to 1 hour, else I may need to charge my prorated daily rate even if minimal.
Kindly encourage your client to look at my code and pair program a feature or debug something. I’ll happily give them a choice of interesting problems in one of my projects. They’ll see me program computers and I’ll enjoy a bugfix or a feature.