I’ve been working in IT since 2005 starting as a web programmer, groing up into a kernel space and system software programer, dissapointing in it and falling in love with machine learning, AI, distributed systems and functional programming.
I was lucky enough to be involved in very different project in various areas: I made web sites, wrote for kernel space (Linux, FreeBSD and OpenSolaris), was involved in writing a microkernel from scratch, developed a database software, hacked code of various file sys- tems, worked with distributed systems, created asynchronous services (backend), designed REST APIs, designed distributed software for data processing and analysis.
* Programming languages: C, C++, Java, python, perl, shell, javascript (node.js), assemly languages (x86, x86 64)
* Languages I familiar with, but never used in production: Haskell, R, Common Lisp, Scheme
* Things I like doing: machine learning, distributed systems, data analysis, AI, backend programming, data processing pipeline, image processing.
Senior Software Engineer @ At Tegile I’m working on a distributed analytics platform called IntellICare that processes analytics data (like health metrics and time series) that it gets from data storage controllers all over the world and applies some simple machine learning and data analysis techniques to make predictions or detect anomalies. From October 2013 to Present (2 years 3 months) Cambridge, United KingdomSenior Software Engineer @ Design and development of a private cloud PaaS for data storage that was supposed to be used by a data center administrators. I spent most of my time writing a backend with RESTful API in Python, developing clustering core of the system on top of Zookeeper and building a bridge between system libraries and the rest of the infrastructure. From May 2012 to October 2013 (1 year 6 months) Senior Software Engineer @ Working in kernel team (opensolaris kernel) on the following features/projects:
* Distributed network lock manager (NLM)
* Distributed high performance NFS enhancement (pNFS)
* ZFS: some protyping and proof-of-concept work such as forwarding metadata blocks
to a dedicated group of SSD devices.
* Kernel and user space bugfixes From May 2011 to April 2012 (1 year) Senior Software Engineer @ I’ve worked in an R&D department on design and development of a new microkernel-based unix like soft real-time operating system with POSIX API. It was supposed to work as a secure router and it had to have a TCP/IP stack in user space with IPSeC support (which we successfuly ported from FreeBSD). From September 2008 to April 2011 (2 years 8 months) Software Engineer @ I’ve worked in a team developing a real-time embedded in-memory database(IMDB) eX- tremeDB. My duties were:
• Developing of extensions for some internal parts of the database (calculator of memory occupied by current DB scheme, transactions management, memory management, optimization of data structures),
• Maintaining of architecture dependent parts for Linux, μLinux and QNX.
• Support and bugfixes, design, development and support of automated distributed
test-suite system with command line and web UI(python + django + postgresql). From June 2008 to June 2009 (1 year 1 month) Software Engineer @ My responsibilities were:
• Development of linux kernel device drivers for embedded boards (basically network devices: routers, switches, etc) such as HDLC/PPP drivers for MPC8xx boards
• Implementation of software network bridge module with STP protocol support for our internal small OS that was used on several MPC8xx-based network devices.
• Writing user-space software for embedded systems. From January 2008 to June 2008 (6 months) Verification Engineer/QA @ The purpose of our project was full code coverage based verification of linux kernel source code for Boeing’s 777, 787 EFB (Electronic Flight Bag) project according to DO-178B airborne standard.
Developed an automation system for coverage-based tests with web UI in python. The system collected, handled and analyzed information about kernel coverage after each evaluation of test-suite. It significantly simplified the work process of our QA team. From January 2007 to January 2008 (1 year 1 month) Software Engineer @ Our project was based on an Asterisk VOIP open-source server. I was responsible for
extending Asterisk calls queue management strategies. From August 2006 to January 2007 (6 months) Junior Linux Porgrammer @ There I’ve been working on ≪wine@etersoft≫ wine-based (wine is a Windows API emula- tion daemon for unix systems) project. I was responsible for the low-level emulator’s code, FreeBSD part of project and writing UI software interacting with ≪wine@etersoft≫ emula- tor. From January 2006 to August 2006 (8 months)
Dan Kruchinin is skilled in: Unix, Perl, Linux Kernel, C, Linux, TCP/IP, Python, Embedded Systems, Distributed Systems, C++, Shell Scripting, Kernel, Operating Systems, PostgreSQL, Bash
Websites:
https://github.com/dkruchinin