{"id":19293964,"url":"https://github.com/igrishaev/cv","last_synced_at":"2025-04-22T07:32:33.314Z","repository":{"id":147469787,"uuid":"49020358","full_name":"igrishaev/CV","owner":"igrishaev","description":"My CV","archived":false,"fork":false,"pushed_at":"2023-10-19T18:32:23.000Z","size":1336,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T20:51:28.716Z","etag":null,"topics":["clojure","clojurescript","cv","datomic"],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igrishaev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-01-04T20:13:10.000Z","updated_at":"2024-08-27T14:06:11.000Z","dependencies_parsed_at":"2023-07-24T18:31:06.772Z","dependency_job_id":null,"html_url":"https://github.com/igrishaev/CV","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrishaev%2FCV","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrishaev%2FCV/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrishaev%2FCV/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrishaev%2FCV/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrishaev","download_url":"https://codeload.github.com/igrishaev/CV/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250195054,"owners_count":21390230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","clojurescript","cv","datomic"],"created_at":"2024-11-09T22:36:41.958Z","updated_at":"2025-04-22T07:32:32.985Z","avatar_url":"https://github.com/igrishaev.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\npapersize: A4\nfontsize: 10pt\ngeometry: margin=0.7in\ncolorlinks: true\n \\hypersetup{colorlinks=false,\n             allbordercolors={0 0 0},\n             pdfborderstyle={/S/U/W 1}}\n---\n\n## Ivan Grishaev\n\nAn IT engineer focused on Python, Clojure \u0026 Java.\n\nTags: Python, Clojure(Script), Java, GraalVM, Postgres, Datomic, AWS Lambda,\nKafka, Python, Emacs, LaTeX.\n\nArmenia, UTC +3\n\nLinks:\n\n- [ivan@grishaev.me](mailto:ivan@grishaev.me)\n- [github.com/igrishaev](https://github.com/igrishaev)\n- [linkedin.com/in/igrishaev](https://linkedin.com/in/igrishaev)\n\n### Summary\n\n- 8 years of Python: Django \u0026 Flask, Fast API, Pytest, Tox;\n- 8 years of Clojure: Aleph/Manifold, core.async, Component/Integrant;\n- GraalVM + native-image compilation of Java \u0026 Clojure projects for AWS Lambda;\n- experience with different data sources: PG, Datomic, Kafka, Cassandra, etc.\n- some experience with frontend: re-frame, React;\n- good with Emacs and LaTeX.\n\n## Mentoring\n\n[hexlet]: https://hexlet.io\n\nI educated a couple of students and helped them graduate and find their first\njob. I've been preparing them to the interview. Their diploma projects were\nconsidered the best ones across the course. I teach Egnlish, informally.\n\nIn the past, I made Python lessons for the educational platform\n[Hexlet.io][hexlet]. Each class consisted of a video course, a quiz and a code\ntask to complete. The video courses are still available on Youtube.\n\n## Projects \u0026 Open source\n\n[etaoin]: https://github.com/igrishaev/etaoin\n\n[clojars]: https://clojars.org/users/igrishaev\n\nI maintain about a dozen of Clojure libraries hosted on Github (see my [Clojars\nprofile][clojars]). One of them is [Etaoin][etaoin] which is widely used (700\nstars, spotted in many companies).\n\n[book-clj-interop]: https://leanpub.com/clojure-java-interop/\n\nI wrote a short book in English about Java interop. [Get in on\nLeanpub][book-clj-interop].\n\n[book-clj-prod]: https://grishaev.me/clojure-in-prod/\n\nI wrote a full print book in Russian called [\"Clojure in\nProduction\"][book-clj-prod]. The book covers web development, Clojure.spec,\nexception handling, systems, testing and other subjects. It is partially\ntranslated to English in my blog.\n\n[book-clj-prod-2]: https://grishaev.me/clojure-in-prod-2/\n\nI wrote the second volume called [\"Clojure in Production:\nvol. 2\"][book-clj-prod-2].\n\n## Experience\n\n### May 2023 \u0026mdash; now: Senior Clojure developer @ [Raiffeisen Bank International](https://www.rbinternational.com/en/raiffeisen.html) (Austria)\n\nI maintain a vast risk management system. Clojure, Java, AWS, Lambda, Postgres,\nmessage queues.\n\n### Nov 2022 \u0026mdash; Sep 2023: Senior Clojure developer @ [Audience Republic](https://www.audiencerepublic.com/) (Australia)\n\nI'm working on a vast Clojure code base + Postgres. Some of the things I've done\nso far:\n\n- introduced Docker \u0026 integration tests;\n- added linters, improved the CI;\n- wrote some internal documentation;\n- implemented new business features.\n\n### Feb 2022 \u0026mdash; Sep 2022: Senior Clojure developer @ [Clashapp/Huddles](https://huddlesapp.co/) (USA)\n\nI support vast Clojure codebase with plenty of components:\n\n- AWS, Postgres;\n- Integration with third-party providers;\n- Handling AppStore notifications;\n- Massive integration tests.\n\n### Dec 2018 \u0026mdash; Feb 2022: Senior Clojure developer @ [Exoscale](https://www.exoscale.com/) (Switzerland)\n\nAt Exoscale, I mostly worked on various network orchestrators. We had plenty of\ndata sources like Mysql, Cassandra, Kafka which required precise control. I used\nAleph \u0026 Manifold stack for my apps. I maintained some legacy apps driven with\nCore.async.\n\nExoscale has plenty of internal stuff which I contributed to. One of them is a\nweb framework named Blueprint built on top of Open-API spec and data schemas.\n\nI made an app to transfer vast files (+100Gb) into our infrastructure.\n\nI integrated the web SSH terminal to the admin page (noVNC, JavaScript, Clojure\non backend).\n\nI made a lot of improvements to the internal billing system written in Python,\nDjango and Pytest.\n\nI made a draft of the official CLI client for Exoscale API.\n\n[dbaas]: https://www.exoscale.com/dbaas/\n\nDuring the last year at Exoscale, I worked on [DBaaS][dbaas]: a massive feature\nthat integrates a third-party database provider into the Exoscale\ninfrastructure. That involved HTTP API, data processing, reconciliation, billing\nprocessing and more.\n\n### Jan 2018 \u0026mdash; Dec 2018: Senior Clojure developer @ [Health Samurai](https://www.health-samurai.io/) (Russia)\n\n[npi]: https://github.com/HealthSamurai/us-npi/\n[npi-swagger]: https://npi.health-samurai.io/swagger\n\nHealth Samurai is a startup focused on medical data. They develop\nFHIR-compatible software, and I was working on several internal services. One of\nthem named `US NPI` is open source and may be found on [GitHub][npi]. This\nservice fetches the official US NPI registry and fills the database. It also\nprovides flexible REST API, search capabilities and [Swagger UI][npi-swagger].\n\nI spent four months working on a mobile app for iOS. The app was driven by\nRe-Natal and ClojureScript. We managed to pass Apple's review and had the app\nreleased in App Store.\n\n### 2016 \u0026mdash; Dec 2017: Clojure developer @ [Flyerbee](https://www.flyerbee.com/) (Switzerland)\n\nFlyerbee is a web app that automates outdooring advertisements. I worked on both\nserver and UI parts using a modified version of the Luminus stack. That included\nClojure, Ring, JDBC/PostgreSQL, and Re-frame.\n\n### 2015 \u0026mdash; 2016: Python developer @ [SwiftServe](http://www.swiftserve.com/) (UK)\n\nSwiftServe is a worldwide CDN network that competes with AWS CloudFront. I\ndeveloped three internal services written in Python and Django and set up\nmicro-service architecture in AWS cloud. I integrated a modern unit-test\nframework into our pipeline and added a new documentation system.\n\n### 2013 \u0026mdash; 2015: Python developer @ [Dataart](http://www.dataart.com/)\n\nDataArt is a vast outsourcing company. The main project I've been working on was\na worldwide online game with 70M players. I developed several internal\nservices, set up message queues and wrote lots of unit tests.\n\n### 2008 \u0026mdash; 2013: Various contracting jobs\n\nI've been working on various projects including Python and Delphi. My clients\nwere mostly individuals and small companies. I developed desktop apps, websites\nand simple Android applications.\n\n### Education\n\nBachelor's Degree at Applied Informatics in Economics, [Chita University of\nEconomics](http://narhoz-chita.ru/), 2003 -- 2008\n\n### Other\n\nI am a father of three. Enjoy winter activities. Run my [blog][blog] in both\nEnglish and Russian.\n\n[blog]: https://grishaev.me\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figrishaev%2Fcv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figrishaev%2Fcv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figrishaev%2Fcv/lists"}