PageSourceSearch

http://kyakovlev.me/cv/

html kyakovlev.me collected 2026-09-24 14:04:03 UTC 33,615 bytes, 465 lines download raw bytes

1<!DOCTYPE html>
2
3<!--[if IE 8]>
4<html id="ie8" lang="en-US">
5<![endif]-->
6<!--[if !(IE 8) ]><!-->
7<html lang="en-US">
8<!--<![endif]-->
9<head>
10<meta charset="UTF-8" />
11<meta name="viewport" content="width=device-width" />
12<link rel="profile" href="http://gmpg.org/xfn/11" />
13<link rel="pingback" href="http://kyakovlev.me/xmlrpc.php" />
14<title>CV &#8211; Konstantin Yakovlev</title>
15<meta name='robots' content='max-image-preview:large' />
16<link rel="alternate" href="http://kyakovlev.me/cv/" hreflang="en" />
17<link rel="alternate" href="http://kyakovlev.me/ru/cv-rus/" hreflang="ru" />
18<link rel='dns-prefetch' href='//fonts.googleapis.com' />
19<link rel="alternate" type="application/rss+xml" title="Konstantin Yakovlev &raquo; Feed" href="http://kyakovlev.me/feed/" />
20<link rel="alternate" type="application/rss+xml" title="Konstantin Yakovlev &raquo; Comments Feed" href="http://kyakovlev.me/comments/feed/" />
21<script type="text/javascript">
22/* <![CDATA[ */
23window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"concatemoji":"http:\/\/kyakovlev.me\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.4.12"}};
24/*! This file is auto-generated */
25!function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c\udfff","\ud83e\udef1\ud83c\udffb\u200b\ud83e\udef2\ud83c\udfff")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings);
26/* ]]> */
27</script>
27
28<style id='wp-emoji-styles-inline-css' type='text/css'>
29
30	img.wp-smiley, img.emoji {
31		display: inline !important;
32		border: none !important;
33		box-shadow: none !important;
34		height: 1em !important;
35		width: 1em !important;
36		margin: 0 0.07em !important;
37		vertical-align: -0.1em !important;
38		background: none !important;
39		padding: 0 !important;
40	}
41</style>
42<link rel='stylesheet' id='wp-block-library-css' href='http://kyakovlev.me/wp-includes/css/dist/block-library/style.min.css?ver=6.4.12' type='text/css' media='all' />
43<style id='classic-theme-styles-inline-css' type='text/css'>
44/*! This file is auto-generated */
45.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
46</style>
47<style id='global-styles-inline-css' type='text/css'>
48body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
48--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
48.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
49.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
50:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
51:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
52.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
53</style>
54<link rel='stylesheet' id='bg-shce-genericons-css' href='http://kyakovlev.me/wp-content/plugins/show-hidecollapse-expand/assets/css/genericons/genericons.css?ver=6.4.12' type='text/css' media='all' />
55<link rel='stylesheet' id='bg-show-hide-css' href='http://kyakovlev.me/wp-content/plugins/show-hidecollapse-expand/assets/css/bg-show-hide.css?ver=6.4.12' type='text/css' media='all' />
56<link rel='stylesheet' id='bootstrap-css' href='http://kyakovlev.me/wp-content/themes/nisarg/css/bootstrap.css?ver=6.4.12' type='text/css' media='all' />
57<link rel='stylesheet' id='font-awesome-css' href='http://kyakovlev.me/wp-content/themes/nisarg/font-awesome/css/font-awesome.min.css?ver=6.4.12' type='text/css' media='all' />
58<link rel='stylesheet' id='nisarg-style-css' href='http://kyakovlev.me/wp-content/themes/nisarg/style.css?ver=6.4.12' type='text/css' media='all' />
59<style id='nisarg-style-inline-css' type='text/css'>
60	/* Color Scheme */
61
62	/* Accent Color */
63
64	a:active,
65	a:hover,
66	a:focus {
67	    color: #009688;
68	}
69
70	.main-navigation .primary-menu > li > a:hover, .main-navigation .primary-menu > li > a:focus {
71		color: #009688;
72	}
73	
74	.main-navigation .primary-menu .sub-menu .current_page_item > a,
75	.main-navigation .primary-menu .sub-menu .current-menu-item > a {
76		color: #009688;
77	}
78	.main-navigation .primary-menu .sub-menu .current_page_item > a:hover,
79	.main-navigation .primary-menu .sub-menu .current_page_item > a:focus,
80	.main-navigation .primary-menu .sub-menu .current-menu-item > a:hover,
81	.main-navigation .primary-menu .sub-menu .current-menu-item > a:focus {
82		background-color: #fff;
83		color: #009688;
84	}
85	.dropdown-toggle:hover,
86	.dropdown-toggle:focus {
87		color: #009688;
88	}
89	.pagination .current,
90	.dark .pagination .current {
91		background-color: #009688;
92		border: 1px solid #009688;
93	}
94	blockquote {
95		border-color: #009688;
96	}
97	@media (min-width: 768px){
98		.main-navigation .primary-menu > .current_page_item > a,
99		.main-navigation .primary-menu > .current_page_item > a:hover,
100		.main-navigation .primary-menu > .current_page_item > a:focus,
101		.main-navigation .primary-menu > .current-menu-item > a,
102		.main-navigation .primary-menu > .current-menu-item > a:hover,
103		.main-navigation .primary-menu > .current-menu-item > a:focus,
104		.main-navigation .primary-menu > .current_page_ancestor > a,
105		.main-navigation .primary-menu > .current_page_ancestor > a:hover,
106		.main-navigation .primary-menu > .current_page_ancestor > a:focus,
107		.main-navigation .primary-menu > .current-menu-ancestor > a,
108		.main-navigation .primary-menu > .current-menu-ancestor > a:hover,
109		.main-navigation .primary-menu > .current-menu-ancestor > a:focus {
110			border-top: 4px solid #009688;
111		}
112		.main-navigation ul ul a:hover,
113		.main-navigation ul ul a.focus {
114			color: #fff;
115			background-color: #009688;
116		}
117	}
118
119	.main-navigation .primary-menu > .open > a, .main-navigation .primary-menu > .open > a:hover, .main-navigation .primary-menu > .open > a:focus {
120		color: #009688;
121	}
122
123	.main-navigation .primary-menu > li > .sub-menu  li > a:hover,
124	.main-navigation .primary-menu > li > .sub-menu  li > a:focus {
125		color: #fff;
126		background-color: #009688;
127	}
128
129	@media (max-width: 767px) {
130		.main-navigation .primary-menu .open .sub-menu > li > a:hover {
131			color: #fff;
132			background-color: #009688;
133		}
134	}
135
136	.sticky-post{
137		color: #fff;
138	    background: #009688; 
139	}
140	
141	.entry-title a:hover,
142	.entry-title a:focus{
143	    color: #009688;
144	}
145
146	.entry-header .entry-meta::after{
147	    background: #009688;
148	}
149
150	.fa {
151		color: #009688;
152	}
153
154	.btn-default{
155		border-bottom: 1px solid #009688;
156	}
157
158	.btn-default:hover, .btn-default:focus{
159	    border-bottom: 1px solid #009688;
160	    background-color: #009688;
161	}
162
163	.nav-previous:hover, .nav-next:hover{
164	    border: 1px solid #009688;
165	    background-color: #009688;
166	}
167
168	.next-post a:hover,.prev-post a:hover{
169	    color: #009688;
170	}
171
172	.posts-navigation .next-post a:hover .fa, .posts-navigation .prev-post a:hover .fa{
173	    color: #009688;
174	}
175
176
177	#secondary .widget-title::after{
178		position: absolute;
179	    width: 50px;
180	    display: block;
181	    height: 4px;    
182	    bottom: -15px;
183		background-color: #009688;
184	    content: "";
185	}
186
187	#secondary .widget a:hover,
188	#secondary .widget a:focus,
189	.dark #secondary .widget #recentcomments a:hover,
190	.dark #secondary .widget #recentcomments a:focus {
191		color: #009688;
192	}
193
194	#secondary .widget_calendar tbody a {
195		color: #fff;
196		padding: 0.2em;
197	    background-color: #009688;
198	}
199
200	#secondary .widget_calendar tbody a:hover{
201		color: #fff;
202	    padding: 0.2em;
203	    background-color: #009688;  
204	}	
205
206	.dark .comment-respond #submit,
207	.dark .main-navigation .menu-toggle:hover, 
208	.dark .main-navigation .menu-toggle:focus,
209	.dark html input[type="button"], 
210	.dark input[type="reset"], 
211	.dark input[type="submit"] {
212		background: #009688;
213		color: #fff;
214	}
215	
216	.dark a {
217		color: #009688;
218	}
219
220</style>
221<link rel='stylesheet' id='nisarg-google-fonts-css' href='https://fonts.googleapis.com/css?family=Source+Sans+Pro%3A400%2C700%7CLato%3A400&#038;display=swap' type='text/css' media='all' />
222<script type="text/javascript" src="http://kyakovlev.me/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
vendor: 1 bytes, line 222
222
223<script type="text/javascript" src="http://kyakovlev.me/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script>
223
224<!--[if lt IE 9]>
225<script type="text/javascript" src="http://kyakovlev.me/wp-content/themes/nisarg/js/html5shiv.js?ver=3.7.3" id="html5shiv-js"></script>
225
226<![endif]-->
227<link rel="https://api.w.org/" href="http://kyakovlev.me/wp-json/" /><link rel="alternate" type="application/json" href="http://kyakovlev.me/wp-json/wp/v2/pages/17" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://kyakovlev.me/xmlrpc.php?rsd" />
228<meta name="generator" content="WordPress 6.4.12" />
229<link rel="canonical" href="http://kyakovlev.me/cv/" />
230<link rel='shortlink' href='http://kyakovlev.me/?p=17' />
231<link rel="alternate" type="application/json+oembed" href="http://kyakovlev.me/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fkyakovlev.me%2Fcv%2F" />
232<link rel="alternate" type="text/xml+oembed" href="http://kyakovlev.me/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fkyakovlev.me%2Fcv%2F&#038;format=xml" />
233
234<style type="text/css">
235        .site-header { background: ; }
236</style>
237
238
239	<style type="text/css">
240		body,
241		button,
242		input,
243		select,
244		textarea {
245		    font-family:  'Source Sans Pro',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
246		    font-weight: 400;
247		    font-style: normal; 
248		}
249		h1,h2,h3,h4,h5,h6 {
250	    	font-family: 'Lato',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
251	    	font-weight: 400;
252	    	font-style: normal;
253	    }
254	    .navbar-brand,
255	    #site-navigation.main-navigation ul {
256	    	font-family: 'Source Sans Pro',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
257	    }
258	    #site-navigation.main-navigation ul {
259	    	font-weight: 400;
260	    	font-style: normal;
261	    }
262	</style>
263
264			<style type="text/css" id="nisarg-header-css">
265					.site-header {
266				background: url(http://kyakovlev.me/wp-content/uploads/2024/02/cropped-2-99_small-2.jpg) no-repeat scroll top;
267				background-size: cover;
268			}
269			@media (min-width: 320px) and (max-width: 359px ) {
270				.site-header {
271					height: 107px;
272				}
273			}
274			@media (min-width: 360px) and (max-width: 767px ) {
275				.site-header {
276					height: 120px;
277				}
278			}
279			@media (min-width: 768px) and (max-width: 979px ) {
280				.site-header {
281					height: 256px;
282				}
283			}
284			@media (min-width: 980px) and (max-width: 1279px ){
285				.site-header {
286					height: 327px;
287				}
288			}
289			@media (min-width: 1280px) and (max-width: 1365px ){
290				.site-header {
291					height: 428px;
292				}
293			}
294			@media (min-width: 1366px) and (max-width: 1439px ){
295				.site-header {
296					height: 456px;
297				}
298			}
299			@media (min-width: 1440px) and (max-width: 1599px ) {
300				.site-header {
301					height: 481px;
302				}
303			}
304			@media (min-width: 1600px) and (max-width: 1919px ) {
305				.site-header {
306					height: 535px;
307				}
308			}
309			@media (min-width: 1920px) and (max-width: 2559px ) {
310				.site-header {
311					height: 642px;
312				}
313			}
314			@media (min-width: 2560px)  and (max-width: 2879px ) {
315				.site-header {
316					height: 856px;
317				}
318			}
319			@media (min-width: 2880px) {
320				.site-header {
321					height: 962px;
322				}
323			}
324			.site-header{
325				-webkit-box-shadow: 0px 0px 2px 1px rgba(182,182,182,0.3);
326		    	-moz-box-shadow: 0px 0px 2px 1px rgba(182,182,182,0.3);
327		    	-o-box-shadow: 0px 0px 2px 1px rgba(182,182,182,0.3);
328		    	box-shadow: 0px 0px 2px 1px rgba(182,182,182,0.3);
329			}
330					.site-title,
331			.site-description,
332			.dark .site-title,
333			.dark .site-description {
334				color: #fff;
335			}
336			.site-title::after{
337				background: #fff;
338				content:"";
339			}
340		</style>
341		</head>
342<body class="page-template-default page page-id-17 light">
343<div id="page" class="hfeed site">
344<header id="masthead"  role="banner">
345	<nav id="site-navigation" class="main-navigation navbar-fixed-top navbar-left" role="navigation">
346		<!-- Brand and toggle get grouped for better mobile display -->
347		<div class="container" id="navigation_menu">
348			<div class="navbar-header">
349									<button type="button" class="menu-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
350						<span class="sr-only">Toggle navigation</span>
351						<span class="icon-bar"></span> 
352						<span class="icon-bar"></span>
353						<span class="icon-bar"></span>
354					</button>
355									<a class="navbar-brand" href="http://kyakovlev.me/">Konstantin Yakovlev</a>
356			</div><!-- .navbar-header -->
357			<div class="collapse navbar-collapse navbar-ex1-collapse"><ul id="menu-topmenueng" class="primary-menu"><li id="menu-item-20" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-20"><a href="http://kyakovlev.me">Home</a></li>
358<li id="menu-item-26" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26"><a href="http://kyakovlev.me/research/">Research</a></li>
359<li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-29"><a href="http://kyakovlev.me/publications/">Publications</a></li>
360<li id="menu-item-28" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-17 current_page_item menu-item-28"><a href="http://kyakovlev.me/cv/" aria-current="page">CV</a></li>
361<li id="menu-item-27" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27"><a href="http://kyakovlev.me/teaching/">Teaching</a></li>
362<li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-30"><a href="http://kyakovlev.me/media/">Media</a></li>
363<li id="menu-item-165" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-165"><a href="http://kyakovlev.me/contacts/">Contacts</a></li>
364<li id="menu-item-90" class="pll-parent-menu-item menu-item menu-item-type-custom menu-item-object-custom current-menu-parent menu-item-has-children menu-item-90"><a href="#pll_switcher"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAMAAABBPP0LAAAAmVBMVEViZsViZMJiYrf9gnL8eWrlYkjgYkjZYkj8/PujwPybvPz4+PetraBEgfo+fvo3efkydfkqcvj8Y2T8UlL8Q0P8MzP9k4Hz8/Lu7u4DdPj9/VrKysI9fPoDc/EAZ7z7IiLHYkjp6ekCcOTk5OIASbfY/v21takAJrT5Dg6sYkjc3Nn94t2RkYD+y8KeYkjs/v7l5fz0dF22YkjWvcOLAAAAgElEQVR4AR2KNULFQBgGZ5J13KGGKvc/Cw1uPe62eb9+Jr1EUBFHSgxxjP2Eca6AfUSfVlUfBvm1Ui1bqafctqMndNkXpb01h5TLx4b6TIXgwOCHfjv+/Pz+5vPRw7txGWT2h6yO0/GaYltIp5PT1dEpLNPL/SdWjYjAAZtvRPgHJX4Xio+DSrkAAAAASUVORK5CYII=" alt="" width="16" height="11" style="width: 16px; height: 11px;" /><span style="margin-left:0.3em;">English</span></a>
365<ul class="sub-menu">
366	<li id="menu-item-90-en" class="lang-item lang-item-3 lang-item-en current-lang lang-item-first menu-item menu-item-type-custom menu-item-object-custom menu-item-90-en"><a href="http://kyakovlev.me/cv/" hreflang="en-US" lang="en-US"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAMAAABBPP0LAAAAmVBMVEViZsViZMJiYrf9gnL8eWrlYkjgYkjZYkj8/PujwPybvPz4+PetraBEgfo+fvo3efkydfkqcvj8Y2T8UlL8Q0P8MzP9k4Hz8/Lu7u4DdPj9/VrKysI9fPoDc/EAZ7z7IiLHYkjp6ekCcOTk5OIASbfY/v21takAJrT5Dg6sYkjc3Nn94t2RkYD+y8KeYkjs/v7l5fz0dF22YkjWvcOLAAAAgElEQVR4AR2KNULFQBgGZ5J13KGGKvc/Cw1uPe62eb9+Jr1EUBFHSgxxjP2Eca6AfUSfVlUfBvm1Ui1bqafctqMndNkXpb01h5TLx4b6TIXgwOCHfjv+/Pz+5vPRw7txGWT2h6yO0/GaYltIp5PT1dEpLNPL/SdWjYjAAZtvRPgHJX4Xio+DSrkAAAAASUVORK5CYII=" alt="" width="16" height="11" style="width: 16px; height: 11px;" /><span style="margin-left:0.3em;">English</span></a></li>
367	<li id="menu-item-90-ru" class="lang-item lang-item-6 lang-item-ru menu-item menu-item-type-custom menu-item-object-custom menu-item-90-ru"><a href="http://kyakovlev.me/ru/cv-rus/" hreflang="ru-RU" lang="ru-RU"><img src="data:image/png;
367base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAMAAABBPP0LAAAAdVBMVEX19f/u7vjm5/H+/v75+fng4Ove3ulFRfyysv6cnP6QkPmIiPh/f/YAAOYAAP1ycv5QUP06OvkxMfcoKPcgIPYUFPS0AADdaYzTRG/RPGnOM2LKLFzIIVPCEUZ7AAD0AQH7YGH3ODj0JyfzERDgAAD4TU3pAABIfLuPAAAAT0lEQVR4AQXBAQqDMAAAsZytyHzA/v9LYRS7JIAQMkBb0ATsgLoKInnHvIrHrdRaBzxupTDxuFUifUsp4R3zU4iwzmOyT1ibBtP2u3C+wB+SHBB5JNY7DAAAAABJRU5ErkJggg==" alt="" width="16" height="11" style="width: 16px; height: 11px;" /><span style="margin-left:0.3em;">Русский</span></a></li>
368</ul>
369</li>
370</ul></div>		</div><!--#container-->
371	</nav>
372	<div id="cc_spacer"></div><!-- used to clear fixed navigation by the themes js -->  
373	<div class="site-header">
374		<div class="site-branding">
375			<a class="home-link" href="http://kyakovlev.me/" title="Konstantin Yakovlev" rel="home">
376				<h1 class="site-title">Konstantin Yakovlev</h1>
377				<h2 class="site-description">Computer scientist and educator</h2>
378			</a>
379		</div><!--.site-branding-->
380	</div><!--.site-header-->
381</header>
382<div id="content" class="site-content">
383	<div class="container">
384		<div class="row">
385			<div id="primary" class="col-md-9 content-area">
386				<main id="main" class="site-main" role="main">
387
388					
389						
390<article id="post-17" class="post-content post-17 page type-page status-publish hentry">
391
392	
393	<header class="entry-header">
394		<span class="screen-reader-text">CV</span>
395		<h1 class="entry-title">CV</h1>
396		<div class="entry-meta"></div><!-- .entry-meta -->
397	</header><!-- .entry-header -->
398
399
400	<div class="entry-content">
401		<p>I started my professional career at 2004. Since then I used to work at the top-level research centers, universities, well-established software development companies and dynamic startups both at my home country (i.e. Russia) and abroad.</p>
402<p>For more details feel free to download my <a href="../public/CV-yakovlev-eng.pdf" target="_blank" rel="noopener">CV (pdf)</a>.</p>
403			</div><!-- .entry-content -->
404
405	<footer class="entry-footer">
406			</footer><!-- .entry-footer -->
407</article><!-- #post-## -->
408
409
410						
411					
412				</main><!-- #main -->
413			</div><!-- #primary -->
414
415			<div id="secondary" class="col-md-3 sidebar widget-area" role="complementary">
416		<aside id="search-4" class="widget widget_search">
417<form role="search" method="get" class="search-form" action="http://kyakovlev.me/">
418	<label>
419		<span class="screen-reader-text">Search for:</span>
420		<input type="search" class="search-field" placeholder="Search &hellip;" value="" name="s" title="Search for:" /> 
421	</label>
422	<button type="submit" class="search-submit"><span class="screen-reader-text">Search</span></button>
423</form>
424</aside><aside id="text-3" class="widget widget_text"><h4 class="widget-title">About</h4>			<div class="textwidget"><p>I’m a PhD in Computer Science possessing  15+ years experience in research, software development, teaching and accompanying activities.</p>
425<p>You can get in touch with me by sending a message via email <a href="mailto:[email protected]">[email protected]</a> or Telegram (<a href="https://t.me/KonstantinYakovlev" target="_blank" rel="noopener">@KonstantinYakovlev</a>)</p>
426</div>
427		</aside></div><!-- #secondary .widget-area -->
428
429
430		</div> <!--.row-->
431	</div><!--.container-->
432		</div><!-- #content -->
433	<footer id="colophon" class="site-footer" role="contentinfo">
434		<div class="site-info">
435			&copy; 2026			<span class="sep"> | </span>
436			Proudly Powered by 			<a href=" https://wordpress.org/" >WordPress</a>
437			<span class="sep"> | </span>
438			Theme: <a href="https://wordpress.org/themes/nisarg/" rel="designer">Nisarg</a>		</div><!-- .site-info -->
439	</footer><!-- #colophon -->
440</div><!-- #page -->
441<script type="text/javascript" src="http://kyakovlev.me/wp-includes/js/jquery/ui/effect.min.js?ver=1.13.2" id="jquery-effects-core-js"></script>
vendor: 1 bytes, line 441
441
442<script type="text/javascript" src="http://kyakovlev.me/wp-includes/js/jquery/ui/effect-slide.min.js?ver=1.13.2" id="jquery-effects-slide-js"></script>
vendor: 1 bytes, line 442
442
443<script type="text/javascript" src="http://kyakovlev.me/wp-includes/js/jquery/ui/effect-highlight.min.js?ver=1.13.2" id="jquery-effects-highlight-js"></script>
vendor: 1 bytes, line 443
443
444<script type="text/javascript" src="http://kyakovlev.me/wp-includes/js/jquery/ui/effect-fold.min.js?ver=1.13.2" id="jquery-effects-fold-js"></script>
vendor: 1 bytes, line 444
444
445<script type="text/javascript" src="http://kyakovlev.me/wp-includes/js/jquery/ui/effect-blind.min.js?ver=1.13.2" id="jquery-effects-blind-js"></script>
vendor: 1 bytes, line 445
445
446<script type="text/javascript" id="bg-show-hide-script-js-extra">
447/* <![CDATA[ */
448var BG_SHCE_USE_EFFECTS = "0";
449var BG_SHCE_TOGGLE_SPEED = "400";
450var BG_SHCE_TOGGLE_OPTIONS = "none";
451var BG_SHCE_TOGGLE_EFFECT = "blind";
452/* ]]> */
453</script>
vendor: 1 bytes, line 453
453
454<script type="text/javascript" src="http://kyakovlev.me/wp-content/plugins/show-hidecollapse-expand/assets/js/bg-show-hide.js?ver=6.4.12" id="bg-show-hide-script-js"></script>
vendor: 1 bytes, line 454
454
455<script type="text/javascript" src="http://kyakovlev.me/wp-content/themes/nisarg/js/bootstrap.js?ver=6.4.12" id="bootstrap-js"></script>
vendor: 1 bytes, line 455
455
456<script type="text/javascript" src="http://kyakovlev.me/wp-content/themes/nisarg/js/navigation.js?ver=6.4.12" id="nisarg-navigation-js"></script>
vendor: 1 bytes, line 456
456
457<script type="text/javascript" src="http://kyakovlev.me/wp-content/themes/nisarg/js/skip-link-focus-fix.js?ver=6.4.12" id="nisarg-skip-link-focus-fix-js"></script>
vendor: 1 bytes, line 457
457
458<script type="text/javascript" id="nisarg-js-js-extra">
459/* <![CDATA[ */
460var screenReaderText = {"expand":"expand child menu","collapse":"collapse child menu"};
461/* ]]> */
462</script>
vendor: 1 bytes, line 462
462
463<script type="text/javascript" src="http://kyakovlev.me/wp-content/themes/nisarg/js/nisarg.js?ver=6.4.12" id="nisarg-js-js"></script>
463
464</body>
465</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.