<!DOCTYPE html>
<!--[if IE 7]>
<html class="ie ie7" lang="en-US">
<![endif]-->
<!--[if IE 8]>
<html class="ie ie8" lang="en-US">
<![endif]-->
<!--[if !(IE 7) | !(IE 8)  ]><!-->
<html lang="en-US">
<!--<![endif]-->
<head>
<title>Sergey Smirnov: PHP Webdeveloper</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<meta name="ir-site-verification-token" value="-936447103" />
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="https://serg-smirnoff.com/xmlrpc.php" />
<!--[if lt IE 9]>
<script src="https://serg-smirnoff.com/wp-content/themes/iconic-one/js/html5.js" type="text/javascript"></script>
<![endif]-->
<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
<meta name="description" content="Sergey Smirnov: PHP Webdeveloper" />
<link rel="canonical" href="https://serg-smirnoff.com/" />
<meta property="og:locale" content="ru_RU" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Sergey Smirnov: PHP Webdeveloper" />
<meta property="og:description" content="Sergey Smirnov: PHP Webdeveloper" />
<meta property="og:url" content="https://serg-smirnoff.com/" />
<meta property="og:site_name" content="Sergey Smirnov: PHP Webdeveloper" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@serg_smirnoff" />
<style type="text/css">.site-content{width:99% !important;}</style>
<link rel='stylesheet' id='wp-block-library-css' href='https://serg-smirnoff.com/wp-includes/css/dist/block-library/style.min.css?ver=6.1.1' type='text/css' media='all' />
<style id='wp-block-library-inline-css' type='text/css'>.has-text-align-justify{text-align:justify;}</style>
<link rel='stylesheet' id='mediaelement-css' href='https://serg-smirnoff.com/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.17' type='text/css' media='all' />
<link rel='stylesheet' id='wp-mediaelement-css' href='https://serg-smirnoff.com/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=6.1.1' type='text/css' media='all' />
<link rel='stylesheet' id='classic-theme-styles-css' href='https://serg-smirnoff.com/wp-includes/css/classic-themes.min.css?ver=1' type='text/css' media='all' />
<style id='global-styles-inline-css' type='text/css'>
body{--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%);--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--duotone--dark-grayscale: url('#wp-duotone-dark-grayscale');--wp--preset--duotone--grayscale: url('#wp-duotone-grayscale');--wp--preset--duotone--purple-yellow: url('#wp-duotone-purple-yellow');--wp--preset--duotone--blue-red: url('#wp-duotone-blue-red');--wp--preset--duotone--midnight: url('#wp-duotone-midnight');--wp--preset--duotone--magenta-yellow: url('#wp-duotone-magenta-yellow');--wp--preset--duotone--purple-green: url('#wp-duotone-purple-green');--wp--preset--duotone--blue-orange: url('#wp-duotone-blue-orange');--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;}:where(.is-layout-flex){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;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}.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;}.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;}
</style>
<link rel='stylesheet' id='fvp-frontend-css' href='https://serg-smirnoff.com/wp-content/plugins/featured-video-plus/styles/frontend.css?ver=2.3.3' type='text/css' media='all' />
<link rel='stylesheet' id='themonic-style-css' href='https://serg-smirnoff.com/wp-content/themes/iconic-one/style.css?ver=1.7.8' type='text/css' media='all' />
<link rel='stylesheet' id='custom-style-css' href='https://serg-smirnoff.com/wp-content/themes/iconic-one/custom.css?ver=6.1.1' type='text/css' media='all' />
<!--[if lt IE 9]>
<link rel='stylesheet' id='themonic-ie-css' href='https://serg-smirnoff.com/wp-content/themes/iconic-one/css/ie.css?ver=20130305' type='text/css' media='all' />
<![endif]-->
<link rel='stylesheet' id='photonic-css' href='https://serg-smirnoff.com/wp-content/plugins/photonic/include/css/front-end/core/photonic.min.css?ver=20230206-11827' type='text/css' media='all' />
<link rel='stylesheet' id='jetpack_css-css' href='https://serg-smirnoff.com/wp-content/plugins/jetpack/css/jetpack.css?ver=11.7' type='text/css' media='all' />
<script type='text/javascript' src='https://serg-smirnoff.com/wp-includes/js/jquery/jquery.min.js?ver=3.6.1' id='jquery-core-js'></script>
<script type='text/javascript' src='https://serg-smirnoff.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2' id='jquery-migrate-js'></script>
<script type='text/javascript' src='https://serg-smirnoff.com/wp-content/plugins/featured-video-plus/js/jquery.fitvids.min.js?ver=master-2015-08' id='jquery.fitvids-js'></script>
<script type='text/javascript' id='fvp-frontend-js-extra'>
/* <![CDATA[ */
var fvpdata = {"ajaxurl":"https:\/\/serg-smirnoff.com\/wp-admin\/admin-ajax.php","nonce":"16075b25c5","fitvids":"1","dynamic":"","overlay":"","opacity":"0.75","color":"b","width":"640"};
/* ]]> */
</script>
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://serg-smirnoff.com/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://serg-smirnoff.com/wp-includes/wlwmanifest.xml" />
<style type="text/css" id="syntaxhighlighteranchor"></style>
<link href="https://serg-smirnoff.com/wp-content/themes/iconic-one/css/fonts.css" rel="stylesheet">
<link href="https://serg-smirnoff.com/wp-content/themes/iconic-one/css/bootstrap.min.css" rel="stylesheet">
<style>
    ul {
        list-style: unset !important;
    }
    h2{
        font-family: var(--bs-body-font-family);
        font-weight: 100;
        text-rendering: optimizeLegibility;
        font-size: 26px;
    }
</style>
<script>
    (function(){
        function addFont() {
            var style = document.createElement('style');
            style.rel = 'stylesheet';
            document.head.appendChild(style);
            style.textContent = localStorage.fonts;
        }
        try {
            if (localStorage.fonts) {
                addFont();
            } else {
                var request = new XMLHttpRequest();
                request.open('GET', '/wp-content/themes/iconic-one/css/fonts.css', true);
                request.onload = function() {
                    if (request.status >= 200 && request.status < 400) {
                        localStorage.fonts = request.responseText;
                        addFont();
                    }
                }
                request.send();
            H}
        } catch(ex) {
            // maybe load the font synchronously for woff-capable browsers
            // to avoid blinking on every request when localStorage is not available
        }
    }());
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-12899399-1']);
_gaq.push(['_trackPageview']);
(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-J7GR14MMFW"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-J7GR14MMFW');
</script>
<!-- Yandex.RTB -->
<script>window.yaContextCb=window.yaContextCb||[]</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
</head>
<body class="home blog single-author hfeed">
<script type="text/javascript">
window.google_analytics_uacct = "UA-12899399-1";
</script>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-dark-grayscale"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 0.49803921568627" /><feFuncG type="table" tableValues="0 0.49803921568627" /><feFuncB type="table" tableValues="0 0.49803921568627" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-grayscale"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 1" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0 1" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-purple-yellow"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.54901960784314 0.98823529411765" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0.71764705882353 0.25490196078431" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-blue-red"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 1" /><feFuncG type="table" tableValues="0 0.27843137254902" /><feFuncB type="table" tableValues="0.5921568627451 0.27843137254902" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-midnight"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 0" /><feFuncG type="table" tableValues="0 0.64705882352941" /><feFuncB type="table" tableValues="0 1" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-magenta-yellow"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.78039215686275 1" /><feFuncG type="table" tableValues="0 0.94901960784314" /><feFuncB type="table" tableValues="0.35294117647059 0.47058823529412" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-purple-green"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.65098039215686 0.40392156862745" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0.44705882352941 0.4" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-blue-orange"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.098039215686275 1" /><feFuncG type="table" tableValues="0 0.66274509803922" /><feFuncB type="table" tableValues="0.84705882352941 0.41960784313725" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><div id="page" class="site">
<header id="masthead" class="site-header" role="banner">
<div class="io-title-description">
<a href="https://www.linkedin.com/in/sergey-smirnov-b6419254/" title="Sergey Smirnov" target="_blank">Sergey Smirnov: PHP Developer</a>
<br .../>
</div>
<div class="clear"></div>
</header><!-- #masthead -->

<div id="main" class="wrapper">
	<div id="primary" class="site-content">
		<div id="content" role="main">
            <!-- <h2>CURRICULUM VITAE</h2> -->
            <h2>PERSONAL INFORMATION</h2>
            <div>
                <div>Sergey Smirnov, 11th February 1984</div>
                <br>
                <div>Linkedin: <a href="https://www.linkedin.com/in/sergey-smirnov-b6419254/" target="_blank">https://www.linkedin.com/in/sergey-smirnov-b6419254/</a></div>
                <div>Github: <a href="https://github.com/serg-smirnoff" target="_blank">https://github.com/serg-smirnoff</a></div>
                <div>Email: <a href="mailto:info@serg-smirnoff.com" target="_blank">info@serg-smirnoff.com</a></div>
                <div>TG: <a href="https://t.me/sergsmirnoff" target="_blank">https://t.me/sergsmirnoff</a></div>
            </div>
            <br>
            <h2>OBJECTIVE</h2>
            <div>PHP Software Engineer with great work experience (since 2001) in Digital Studios and Startups</div>
            <div>Looking for interesting job opportunities. I am currently interested in a Software Engineer position. Preferably in a startup entering emerging markets</div>
            <br>
            <h2>EDUCATION</h2>
            <div>
                <div><strong>2005 – 2006,</strong></div>
                <div>Tula State University</div>
                <div>Master of Engineering and Technology, Control Devices</div>
                <div>Address: Lenin av., 92, Tula, Russia, 300001</div>
            <div>
            <br>
            <div>
                <div><strong>2001 – 2005,</strong></div> 
                <div>Tula State University</div>
                <div>Bachelor of science in Automation and Control, Control Devices</div>
                <div>Address: Lenin av., 92, Tula, Russia, 300001</div>
            </div>
            <br>
            <div>
                <div><strong>1991 – 2001,</strong></div>
                <div>Lyceum №1 of Schekino, Tula region</div>
                <div>Address: Leo Tolstoy str., 49, Tula st., Schekino, Russia, 301240</div>
            </div>
            <br>
            <h2>WORK EXPERIENCE AND EMPLOYMENT</h2>
            <div>
                <div><strong>2024 – 2026</strong></div>
                <div>Contract Software Engineer,<div>
                <div><a href="https://marketmymarket.com" target="_blank">marketmymarket.com</a></div>
                <div>Technical support and website maintenance</div>
            </div>
            <br>
            <div>
                <div><strong>2023 – 2025</strong></div>
                <div>Startup manager</div>
                <div><a href="https://basketevents.org" target="_blank">basketevents.org</a></div>
                <div>I work on BasketEvents - a platform designed to provide information about basketball teams, associations, games and tickets</div>
            </div>
            <br>
            <div>
                <div><strong>2018 – 2022</strong><div>
                <div>Frontend Software Engineer,<div>
                <div><a href="https://myrockshows.com" target="_blank">myrockshows.com</a><div>
                <div>I worked as a front-end software engineer on the project myrockshows.com<div>
                <div>I’ve got experience in working with high-load project<div>
                <br>
                <div>Achievements:</div>
                <ul>
                    <li>created css tables with media queries for mobile devices;</li>
                    <li>created web-site css flex grids;</li>
                    <li>edited web-site django templates;</li>
                    <li>fixed python and django templates bugs;</li>
                    <li>improved the skill of working with git (create over 2k commits);</li>
                </ul>
            </div>
            <br>
            <div>
                <div><strong>2015 – 2018</strong></div>
                <div>PHP Developer,</div>
                <div><a href="https://5oclick.ru" target="_blank">5oclick.ru</a></div>
                <div>I worked as a technical support specialist for more than 40 sites for 5oclick.ru clients. These were mainly technical changes to sites to improve visibility in search engines. I worked with many CMS and successfully implemented fixes and best practices of web solutions for SEO</div>
                <br>
                <div>Achievements:</div>
                <ul>
                    <li>worked with a lot of CMS such as Wordpress, Bitrix, MODx, Joomla, Drupal, Prestashop;
                    <li>successfully had implemented fixes and solutions which helped customers to get better positions in search engines;
                    <li>used technologies sftp, ftp, ssh, Debian;
                    <li>used Slack and Asana for communication with remotely team;
                </ul>
            </div>
            <br>
            <div>
                <div><strong>2014 – 2018</strong></div>
                <div>Entrepreneur,</div>
                <div><a href="https://stamp-collection.ru" target="_blank">stamp-collection.ru<a></div>
                <div>I had created my own private e-store of postal stamps stamp-collection.ru and sold over 350 orders to customers</div>
                <br>
                <div>Achievements:</div>
                <ul>
                    <li>configured VPS (worked as IT specialist): nginx + mod_page_speed, MySQL (MariaDB), munin, iptables, ispManager;</li>
                    <li>wrote php parsers for copy items from third-party web sites (php 7+, simple_html_dom, curl, preg_match_all, modx revo api);</li>
                    <li>created items feed for upload it to Yandex.Market and Google Products;</li>
                    <li>bought ppc traffic (yandex.direct + google.adwords);</li>
                    <li>looking for third party specialists (freelancers), they had been filling the store with stamps items;</li>
                    <li>searched the partners which had been selling me the stamps;</li>
                    <li>sold and sent over 350 orders to customers;</li>
                </ul>
            </div>
            <br>
            <div>
                <div><strong>2008 – 2016</strong></div>
                <div>Entrepreneur,</div>
                <div><a href="https://www.onlysites.ru" target="_blank">www.onlysites.ru<a></div>
                <div>I worked as an Entrepreneur in my own company onlysites.ru. Now my business is finally closed. I have developed websites and improved the skills of working with people, managing freelancers. I created a lot of web sites for b2b customers</div>
                <br>
                <div>Achievements:</div>
                <ul>
                    <li>improved the skills of working with people (customers);</li>
                    <li>improved the skills of managing freelancers (remotely team ~5 members);</li>
                    <li>I’d been distribute tasks between team of performers;</li>
                    <li>communicated with customers;</li>
                    <li>project management, accounting;</li>
                    <li>worked with technologies: CMS MODx Revo, PHP, MySQL, jQuery, JavaScript, phpMyAdmin, sftp, ftp, ssh;</li>
                </ul>
            </div>
            <br>
            <div>
                <div><strong>2006 – 2008</strong></div>
                <div>PHP Developer,</div>
                <div><a href="https://www.interlabs.ru" target="_blank">www.interlabs.ru<a></div>
                <div>I worked as a Software Engineer in the interlabs.ru company. Improved skill of creating websites of various levels of complexity. Created more than 20 websites. I've got improved knowledge in HTML, CSS, PHP and MySQL technologies</div>
            </div>
            <br>
            <div>
                <div><strong>2005 – 2006</strong></div>
                <div>Engineer repair printers</div>
                <div>during studies at the Institute briefly worked in IT companies as a «system administrator» and «engineer repair printers»</div>
            </div>
            <br>
            <h2>SKILLS</h2>
            <div>Languages: Russian Native, English B1, Polish A2/B1</div>
            <!-- I love traveling. Currently I have visited 16 countries. Love playing basketball. Also my hobby is collection of postal stamps and reading books (preferably psychology and history) -->
            <div>Technologies: Linux Debian 11 bullseye, Nginx, php8.2-fpm, MySQL, Visual Studio, dBeaver</div>
            <div>Backend: PHP 8.+, (oop, patterns, objects, classes), Python, MySQL, GIT (github, bitbucket), Laravel 9+, Django, Wordpress, MODx Revo</div>
            <div>Frontend: HTML, xHTML, HTML5, CSS2, CSS3, Twitter Bootstrap, Media Queries, Responsive web design, Flex Grids, JavaScript, jQuery, MF Schema.org</div>
            <br>
            <h2>OTHER</h2>
            <div>I have a driver's license. Ready to be mobile if it's necessary. Currently interested in working as a php software engineer. Preferably working remotely. It would be great if it was a startup entering in emerging markets (Latin America, Turkey, African countries, etc.)</div>
            <!-- <object data="https://serg-smirnoff.com/assets/cv/cv.pdf" type="application/pdf" height="1000px" width="100%"> -->
            <div><br></div>
            
            <hr>
            
            <div>
                <span><a href="https://www.linkedin.com/in/sergey-smirnov-b6419254/" target="_blank">linkedin</a></span>
                <span><a href="https://github.com/serg-smirnoff" target="_blank">github</a></span>
                <span><a href="mailto:info@serg-smirnoff.com" target="_blank">email</a></span>
                <span><a href="https://t.me/sergsmirnoff" target="_blank">telegram</a></span>
                <span><a href="https://serg-smirnoff.com/sergey smirnov_php_webdeveloper_resume_06022025.pdf">download [pdf]</a>
            </div>

            <br>

		</div>		
	</div>
</div>
<!-- <div class="clear"></div> -->
</div><!-- #page -->
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(884511, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/884511" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
</body>
</html>