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 – 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 » Feed" href="http://kyakovlev.me/feed/" /> 20<link rel="alternate" type="application/rss+xml" title="Konstantin Yakovlev » 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&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&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 …" 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 © 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.