-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathcv.tex
138 lines (111 loc) · 8.03 KB
/
cv.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
% !TEX TS-program = lualatex
\documentclass[a4paper,11pt]{article}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{libertine}
\usepackage{fontawesome}
\usepackage{longtable}
\usepackage[cm]{fullpage}
\usepackage{amssymb}
% headers and footers
\usepackage{fancyhdr}
\usepackage{lastpage}
\pagestyle{fancy}
\fancyfoot[L]{Igal Tabachnik}
\fancyfoot[C]{Page \thepage\ of \pageref*{LastPage}}
\fancyfoot[R]{\today}
\renewcommand{\footrulewidth}{0.4pt}% default is 0pt
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
% StackOverflow-like tags
% https://tex.stackexchange.com/a/311949/142692
% https://tex.stackexchange.com/questions/387499/how-to-create-a-border-that-looks-like-a-tag
\usepackage{tikz}
\definecolor{tagbg}{RGB}{225,236,244}
\definecolor{tagtxt}{RGB}{88,115,159}
\newcommand{\sotag}[1]{\tikz[baseline]{\node[anchor=base, rounded corners=0.5ex, text height=1.5ex, text depth=.25ex, fill=tagbg, draw=tagbg, text=tagtxt] {#1};}}
% Helpers for adding job entries
\newcommand{\job}[2]{\large\sffamily \textbf{#1} at \textbf{#2}}
\newcommand{\sep}{\multicolumn{2}{c}{}\\}
% tweak the url colors
\usepackage{hyperref}
\definecolor{linkcolor}{rgb}{0,0.2,0.6}
\hypersetup{colorlinks,breaklinks,urlcolor=linkcolor, linkcolor=linkcolor}
% nicer-looking section titles
\usepackage{titlesec}
\titleformat{\section}{\Large\scshape\raggedright}{}{0em}{}[\titlerule]
\titlespacing{\section}{0pt}{1em}{3pt}
\begin{document}
% --------------------TITLE-------------
\par{\centering
{\Huge \textsc{Igal Tabachnik}
}\bigskip\par}
\hrule
\vspace{0.5em}
\begin{tabular}{rl}
\textsc{Phone:} & +972 54 4766343\\
\textsc{Email:} & \href{mailto:hmemcpy@gmail.com}{hmemcpy@gmail.com}\\
\textsc{Socials:} & \faHome{} \href{https://hmemcpy.com}{hmemcpy.com}
| $\mathbb{X}$ \href{https://twitter.com/hmemcpy}{@hmemcpy}
| \faGithub{} \href{https://github.com/hmemcpy}{github}
| \faLinkedin{} \href{https://www.linkedin.com/in/igaltabachnik/}{linkedin}
| \faStackOverflow{} \href{https://stackoverflow.com/users/8205/igal-tabachnik}{stackoverflow}
\end{tabular}
\section{Summary}
\begin{tabular}{p{0.9\textwidth}}
I am a seasoned software developer with nearly 20 years of professional experience across various domains and technologies.\\\
My current focus is on functional programming, specifically in Scala, using foundational libraries such as ZIO and Cats. I firmly believe that typed functional programming is the ``secret ingredient'' and a means to developing robust and correct software that is highly resistant to bugs.\\\
I am an open-source contributor and guest speaker at conferences and local meetups. I also have a keen interest in Developer Experience (DX) and have developed compiler and IDE plugins that substantially enhance developer productivity. I love teaching and helping others become ``unstuck''.
\end{tabular}
\section{Work Experience}
\begin{longtable}{r|p{0.72\textwidth}}
\textsc{Apr 2020--Mar 2024} & \job{Founding Engineer and Tech Lead}{Unit}, Israel \\(4 years)
&\sotag{scala} \sotag{zio} \sotag{infrastructure} \sotag{microservices} \sotag{tooling} \\&\\
&As the first employee at Unit, I helped build the engineering team from the ground up, and over the years held various responsibilities and positions across multiple teams.\\&\\
&Designed and created most of the core backend infrastructure, such as the data access and serialization layers, service architectures, domain models, testing infrastructure and more.\\&\\
&Implemented various payment protocols (ACH, Wires, Cards, etc.), APIs and corresponding services end-to-end.\\&\\
&Served as the primary resource for supporting and mentoring team members, troubleshooting issues, and developing educational materials and hands-on workshops, engineering guidelines and testing specifications.\\\sep
\hline
\multicolumn{2}{r}{\footnotesize\itshape (abbreviated work history below, see the LinkedIn profile for full details)}\\\sep
\textsc{Jun 2016--Aug 2019} & \job{Senior Software Engineer}{Wix.com}, Israel \\(3 years, 3 months)
&\sotag{scala} \sotag{functional-programming} \sotag{bazel} \sotag{intellij-plugins}\\&\\
&Worked in the build infrastructure team, supporting the migration to the \textit{Bazel} build system. Main responsibilities included adding Scala support and contributing fixes to the \textit{Bazel IntelliJ plugin} (maintained by Google), as well as creating internal tools for Wix-specific functionality.\\\sep
\textsc{Jul 2015--May 2016} & \job{Software Developer}{Particular Software}, Israel \\(11 months)
&\sotag{c\#} \sotag{nservicebus}\\&\\
&Building NServiceBus and the Particular Platform products.\\\sep
\textsc{Jul 2012--Jan 2015} & \job{Lead Developer}{OzCode} (a CodeValue company), Israel \\(2 years, 7 months)
&\sotag{c\#} \sotag{roslyn} \sotag{debugging-api} \sotag{visual-studio-extensions}\\&\\
&OzCode is a Visual Studio extension for debugging productivity. I was responsible for the entire stack, from core product development to prioritizing features and issues, research, as well as marketing and content creation, branding, and artwork direction.\\\sep
\textsc{Mar 2010--Nov 2011} & \job{Senior Software Developer}{Typemock}, Israel \\(1 year, 9 months)
&\sotag{c\#} \sotag{.net-internals} \sotag{il-weaving} \sotag{aop} \sotag{api-design} \sotag{code-generation}\\&\\
&Developed a unit testing suite of products for software developers. Mainly responsible for the isolation (mocking) framework, based on the unmanaged \emph{CLR Profiling API} to perform runtime inspection and IL weaving to allow runtime code modifications.\\\sep
\textsc{Oct 2008--Mar 2010} & \job{Software Developer}{Eternix}, Israel \\(1 year, 6 months)
&\sotag{c\#} \sotag{webdav} \sotag{winforms} \sotag{unit-testing} \sotag{tdd}\\&\\
&Lead developer of a WebDAV based file server, implementing and maintaining features such as file encryption, versioning, quota, and user management.\\\sep
\textsc{Oct 2007--Oct 2008} & \job{Software Developer}{InfoGin}, Israel \\(1 year, 1 month)
&\sotag{c\#} \sotag{asp.net} \sotag{mobile-web} \sotag{wap}\\&\\
&Developer in the professional services team, created web applications for mobile devices, based on the specifications provided by customers.\\\sep
\textsc{Jun 2005--Sep 2007} & \job{Software Developer}{PrizmaSoft}, Israel \\(2 years, 4 months)
&\sotag{c\#} \sotag{winforms} \sotag{continuous-integration}\\&\\
&Developed client applications for a business process management system, maintained build and deployment scripts.\\\sep
\end{longtable}
\section{Programming Proficiency}
\begin{tabular}{rl}
\textsc{Languages:}& Scala (expert), C\#, Java (proficient), Haskell (intermediate), Rust, TypeScript (learning)\\
\textsc{Patterns:}& ES/CQRS, DDD, OOP, TDD, Property-based testing\\
\textsc{Technologies:}& ZIO and Typelevel libraries, Postgres, Redis, Docker, Kubernetes, Kafka, TestContainers\\
\textsc{Tools:}& Scala macros, sbt plugins, Pants/Bazel, IntelliJ SDK\\
\end{tabular}
\section{Skills and Accomplishments}
\begin{tabular}{rl}
\textsc{Languages:}& Hebrew, English, Russian\\
\textsc{Publications:}& Category Theory for Programmers by Bartosz Milewski (\href{https://github.com/hmemcpy/milewski-ctfp-pdf}{PDF}, \href{https://www.blurb.com/b/9621951-category-theory-for-programmers-new-edition-hardco}{hardcover book})\\
\textsc{Open-source:}&Contributor: ZIO, IntelliJ IDEA. Created the ZIO plugin for IntelliJ, zio-clippy (see GitHub)
\end{tabular}
\section{Speaking}
\begin{tabular}{rl}
\textsc{Video:}&\href{https://www.youtube.com/watch?v=eILoMm9t4rI}{The Business of Scala} (Scala Matters Meetup @ HiBob, 2023)\\
&\href{https://www.youtube.com/watch?v=qBmZJwmd0CA}{Everything you (didn't) want to know about implicits (Hebrew)} (Unit Engineering, 2022)\\
&\href{https://www.youtube.com/watch?v=N6ZJwnvTjLA}{Zero to FP (Hebrew)} (Underscore Meetup, 2018)\\
&\href{https://www.youtube.com/watch?v=g1EvM4CbUvM}{Journey to Functional Programming} (Wix Engineering, 2017)\\
\end{tabular}
\end{document}