Vladimir Shabanov

Functional programmer

London, UK, dev@vshabanov.com
(online copy at vshabanov.com/cv) (PDF version)

About

Experienced in functional programming. Has own business in Haskell. Working in finance.

Past experience: full-stack web development, compilers, DSL & EDSL creation, hardware modelling and simulation, GUI, 3D graphics, game programming, digital signal processing, firmware, and device drivers.

Languages: Haskell (10+ years), Ur/Web, JavaScript, OCaml (4 years), C++ (6 years).

Experience

2022-now

Standard Chartered Bank (London, UK)

Quantitative developer

Working on a foreign exchange (FX) options pricing service:

  • Sped up pricing 2-10 times.
  • Transforming a complex legacy into maintainable, extensible, performant and pleasant to work with software.
2011–now

BazQux

Programmer and founder

Developing an advanced web-based RSS feed reader (bazqux.com).

Doing everything as a one-person business: marketing, customer support, design, frontend, backend, and server administration.

Frontend: Ur/Web + JavaScript, CSS (Stylus), Webpack.
Backend: Haskell + Ur/Web, Riak, ElasticSearch, bare metal Debian servers.

Technical highlights:

  • Commercial Haskell app running in production since 2012.
  • Complex and highly customizable yet simple looking single-page app.
  • High-performance distributed feed fetching.
  • Complex and performant filters.
  • Wonderful mobile web interface (users find it more convenient than the native mobile apps).
  • Magically converting any article to responsive HTML.
  • Integration with APIs (Twitter, Facebook, YouTube, payment gateways) as well as providing an API for client apps.

Part of the sources: github.com/bazqux/bazqux-urweb

Packages on Hackage:

2009–2011

ProSoft

Programmer

Developed various parts of microelectronics IDE: VHDL and CPU core simulator, C debugger, waveform viewer (displays gigabytes of data in real-time), UI. Mostly Haskell with small portions of C/C#/Java.

2004–2009

Delta O Ltd. (Russia)

Programmer

Videoslot games (2D & 3D ones), developed using OCaml, C++, Python, Haskell, OpenGL, GLSL, OpenAL, 3dsmax, flash, Linux.

Hired and worked with remote developers on web and client-server applications (Erlang & Haskell).

1999–2004

Startup

Programmer

Security audio record system (phone/microphone, proprietary hardware) and a lovely records browser.

Tons of audio analysis, UI, plus various stuff such as AVR firmware, USB driver, video recording, import from other similar systems, and installation packages.

Used C++Builder, VC++, IAR C, STL, boost, gcc, emacs.

Education

2001–2007

Moscow State Technical University named after Bauman

M.S., Mechanical Engineer

1997–2001

Moscow Mathematical College

Programmer