{"id":99052,"date":"2024-09-06T17:01:02","date_gmt":"2024-09-06T17:01:02","guid":{"rendered":"https:\/\/devsdata.com\/?p=99052"},"modified":"2025-01-31T08:15:14","modified_gmt":"2025-01-31T08:15:14","slug":"full-stack-developer-job-description-template","status":"publish","type":"post","link":"https:\/\/devsdata.com\/pl\/full-stack-developer-job-description-template\/","title":{"rendered":"Full Stack Developer \u2013 opis, zadania i rola w firmie"},"content":{"rendered":"<section>\n<h1>Full Stack Developer \u2013 opis, zadania i rola w firmie<\/h1>\n\n    <style>`\n        .post-info {\n            display: flex;\n            flex-direction: row;\n            font-family: Montserrat;\n            font-style: normal;\n            font-weight: 500;\n            font-size: 16px;\n            line-height: 150%;\n            letter-spacing: 0.02em;\n            color: #6D7082;\n            \/*padding-top:32px;*\/\n        }\n\n        .info-container .post-info {\n            display: flex;\n            flex-direction: column;\n            justify-content: space-between;\n        }\n\n        .post-info-main {\n            width: 100%;\n            display: flex;\n            flex-wrap: wrap;\n            row-gap: 5px;\n            column-gap: 20px;\n            grid-template-rows: repeat(3, auto);\n            grid-template-columns: 60px max-content auto;\n            margin-bottom:12px;\n        }\n\n        .with-reviewer {\n            flex-wrap: wrap;\n            row-gap: 5px;\n        }\n\n        .author-name {\n            margin-bottom:4px;\n            grid-row-start: 2;\n            text-decoration: underline;\n            color:black !important;\n        }\n\n        .rank-math-breadcrumb {\n            margin-top:20px;\n            position: relative;\n            z-index: 1;\n        }\n\n        .rank-math-breadcrumb p {\n            margin: 0;\n            white-space: nowrap; \n            overflow: hidden;\n            text-overflow: ellipsis;\n            gap: 8px;\n            display: flex;\n        }\n\n        .rank-math-breadcrumb a {\n            color: #6d7082;\n        }\n\n        .rank-math-breadcrumb a:hover {\n            text-decoration: underline;\n            color: #0332c9;\n        }\n\n        .author-avatar {\n            display: flex;\n            justify-content: center;\n            margin-right: 15px;\n            width: fit-content;\n            grid-row-start: span 2;\n            grid-row-end: 4;\n        }\n\n        .author-avatar picture {\n            display: flex;\n            justify-content: center;\n            align-items: center;\n        }\n\n        .author-avatar.clicked {\n            transform: scale(1.1);\n        }\n\n        .post-info .author-avatar img {\n            min-width:44px;\n            height: 44px;\n            width: auto;\n            object-fit: cover;\n            aspect-ratio: 1\/1;\n            filter: grayscale(1);\n            border-radius: 100%;\n            position: relative;\n            top: 2px;\n        }\n\n        .post-info .author_socials {\n            display: flex;\n            flex-direction: row;\n            align-items: center;\n            grid-row-start: 3;\n            grid-column: span 2;\n            gap: 15px;\n            list-style-type: none;\n            padding: 0;\n            margin: 0;\n        }\n\n        .post-info .author_socials li a {\n            display: flex;\n            align-item: center;\n            text-decoration: none;\n        }\n\n        .author_socials a svg {\n            width: 16px;\n            height: 16px;\n            transition: 0.3s;\n            color: #000;\n        }\n      \n        .author_socials li:hover svg {\n            color: #0332c9;\n        }\n\n        .right-info a {\n            width: fit-content;\n            color: unset;\n        }\n\n        .right-info a:hover {\n            text-decoration: underline;\n        }\n\n        .post-info .clock {\n            position: relative;\n            padding-right: 5px;\n            top: 2px;\n        }\n\n        .post-info .arrow {\n            position: relative;\n            margin-left: 10px;\n            margin-right: 10px;\n            transition: .2s;\n            height: 6px;\n            bottom: 1px;\n        }\n        .post-info .post-info-separator {\n            padding-right: 3px;\n            padding-left: 3px;\n        }\n\n        .reviewer-info {\n            display: flex;\n            flex-direction:column;\n            justify-content: center;\n            align-items: flex-start;\n            grid-row-start: 2;\n            align-self: start;\n            justify-self: end;\n            font-family: \"Montserrat\", arial;\n            color: #000;\n        }\n\n        .reviewer-info.the_first_row {\n            justify-self: start;\n            grid-row-start: 1;\n            grid-column: span 3;\n        }\n\n        .meta-checkmark {\n            width: 20px;\n            height: auto;\n        }\n\n        .reviewer-info a {\n            margin-left: 0;\n            color: #000;\n            text-decoration: underline;\n        }\n        .reviewer-info a:hover {\n            color: #0332c9;\n        }\n        .reviewer-info a:visited {\n            color: #551a8b;\n        }\n        .reviewer-info a:active {\n            color: #0332c9;\n        }\n        .language-dropdown-container {\n            display: inline-block;\n            width: 200px;\n        }\n\n        .language_switcher {\n            display: inline-flex;\n            align-items: center;\n            flex-direction: row;\n            gap: 5px;\n            vertical-align: middle;\n        }\n        \n        .language_switcher .wpml-ls-legacy-dropdown {\n            width: auto;\n            position: relative;\n            vertical-align: middle;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown ul {\n            list-style: none;\n            padding: 0;\n            margin: 0;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language {\n            position: relative;\n            margin-bottom:0;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language > a {\n            padding-left:16px !important;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            width: 100%;\n            box-sizing: border-box;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu {\n            display: none;\n            position: absolute;\n            z-index: 10;\n            top: 100%;\n            left: 0;\n            width: 100%;\n            margin: 0;\n            background-color: rgb(238, 238, 238);\n            border-radius: 0 0 8px 8px;\n            overflow: hidden;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu li {\n            display: block;\n            width: 100%;\n            margin-bottom:0;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu li:hover {\n            background-color:rgba(204, 204, 211) !important\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {\n            display: block;\n            width: 100%;\n            padding: 8px 15px 8px 16px;\n            margin-left: 0;\n            box-sizing: border-box;\n            white-space: nowrap;\n            text-align: left;\n        }\n\n        @media (hover: hover) {\n            .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > .wpml-ls-sub-menu {\n                display: block;\n            }\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language.wpml-dropdown-open > .wpml-ls-sub-menu {\n            display: block;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language.wpml-dropdown-open > a.wpml-ls-item-toggle:after {\n            transform: scale(.7) rotate(180deg);\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language.wpml-dropdown-open > .wpml-ls-item-toggle {\n            border-radius: 8px 8px 0 0;\n            background-color: rgba(204, 204, 211);\n        }\n\n        .wpml-ls-legacy-dropdown a:focus {\n            background-color: #FFFFFF;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown a:visited {\n            color: #000000 !important;\n        }\n\n        .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {\n            content: \"\";\n            display: inline-block;\n            transform: scale(.7);\n            height: 20px;\n            width: 20px;\n            background: url(\"\/wp-content\/uploads\/2020\/07\/Vector.png\");\n            margin-left: 5px;\n            background-repeat: no-repeat;\n            background-position: center center;\n            background-size: 10px;\n            border: none;\n            position: unset;\n            background-color: #eee;\n            border-radius: 50%;\n            padding: 10px;\n            transition: transform 0.2s ease-in-out;\n            vertical-align: middle;\n            flex-shrink: 0;\n        }\n\n        .language_switcher a {\n            border: none;\n            padding: 10px 15px;\n        }\n\n        .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {\n            padding: 0 5px 0 2px !important;\n        }\n\n        @media (hover: hover) {\n            .wpml-ls-sub-menu a.wpml-ls-link:hover,\n            .language_switcher .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:hover {\n                background-color: rgba(204, 204, 211);\n                color: #000000 !important;\n                text-decoration: none;\n            }\n        }\n\n        .wpml-ls-sub-menu {\n            border: none !important;\n            background-color: transparent;\n        }\n\n        .wpml-ls-sub-menu a {\n            background-color: #FFFFFF;\n        }\n\n        .wpml-ls-current-language .wpml-ls-item-toggle {\n            border-radius: 8px;\n        }\n\n        @media (hover: hover) {\n            .wpml-ls-current-language:hover .wpml-ls-sub-menu a {\n                background-color: rgb(238, 238, 238) !important;\n            }\n\n            .wpml-ls-current-language .wpml-ls-sub-menu a:hover,\n            a.wpml-ls-item-toggle:hover:after {\n                background-color: rgba(204, 204, 211) !important;\n            }\n\n            .wpml-ls-current-language:hover a.wpml-ls-item-toggle:after {\n                transform: scale(.7) rotate(180deg);\n            }\n\n            .wpml-ls-current-language:hover .language_switcher .wpml-ls-legacy-dropdown a {\n                background-color: rgba(109, 112, 130, 0.1);\n            }\n\n            .wpml-ls-current-language:hover .wpml-ls-item-toggle{\n                border-radius: 8px 8px 0 0;\n            }\n\n            .wpml-ls-current-language:hover .wpml-ls-item:last-child .wpml-ls-link{\n                border-radius: 0 0 8px 8px;\n            }\n        }\n\n        .wpml-ls-current-language.wpml-dropdown-open .wpml-ls-sub-menu a {\n            background-color: rgb(238, 238, 238) !important;\n        }\n\n        .wpml-ls-current-language.wpml-dropdown-open .wpml-ls-item:last-child .wpml-ls-link{\n            border-radius: 0 0 8px 8px;\n        }\n\n        ul.language-list {\n            \/*min-height: 71px;*\/\n            margin: 0;\n            overflow: hidden;\n            position: absolute;\n            display: inline-block;\n            list-style: none;\n            vertical-align: top;\n            background-color: #FFFFFF;\n            padding: 0;\n            z-index: 2;\n        }\n\n        ul.language-list.mobile {\n            border-radius: 10px;\n            border: 1px solid rgba(109, 112, 130, 0.1);\n            margin-left: 10px;\n        }\n\n        .language-list.mobile li:hover {\n            background-color: rgba(109, 112, 130, 0.1)\n        }\n\n        .language-list.mobile li:hover a {\n            color: #000000;\n        }\n\n        .dropdown-arrow {\n            display: inline-block;\n            border-radius: 50%;\n            height: 30px;\n            width: 30px;\n        }\n\n        .dropdown-arrow {\n            background-color: rgba(109, 112, 130, 0.1);\n        }\n\n        .dropdown-arrow:hover {\n            background-color: rgba(109, 112, 130, 0.3);\n        }\n\n        .dropdown-arrow.mobile,\n        .dropdown-arrow.mobile:hover {\n            background-color: unset;\n        }\n\n        .language-list li {\n            padding-left: 10px;\n            cursor: pointer;\n            display: none;\n        }\n\n        .language-list li a {\n            color: #6D7082;\n            text-decoration: none;\n        }\n\n        .language-list li:first-child {\n            display: block;\n        }\n\n        .active li {\n            display: block;\n        }\n\n        .rotated {\n            transform: rotate(180deg);\n            bottom: 2px !important;\n        }\n        .bookmark {\n            align-self: center;\n            cursor:pointer;\n            display:none;\n        }\n        \n        .article h1 + p,\n        .article h1 + p + p {\n            margin: 0;\n            margin-bottom: 0 !important;\n        }\n\n        .info-container{\n            \/*min-height:150px;*\/\n            direction: ltr;\n            display: flex;\n            flex-direction: column;\n            justify-content: space-between;\n            padding-top: 20px;\n        }\n        .tags{\n            font-family: \"Montserrat\", sans-serif;\n            display: flex;\n            flex-direction: row;\n            justify-content: flex-start;\n            flex-wrap: wrap;\n            width: 100%;\n            overflow: hidden;\n            font-size: 14px;\n            border-radius: unset;\n            margin-bottom:20px;\n        }\n        .tags a {\n            font-style: normal;\n            line-height: 1.75em;\n            border: 0.5px solid #e2e5e9;\n            margin-right: 7px;\n            margin-top: 7px;\n            transition: 0.2s;\n            transition-property: background;\n            border-radius: 5px;\n            padding: 0.2em 0.8em;\n            color: black;\n        }\n        .tags a:hover {\n            background-color: #c1c7d0;\n        }\n\n        .tags a:visited {\n            color: #000;\n        }\n        .tags a:active {\n            color: #000;\n        }\n        .default-a:focus {\n            background-color: unset;\n        }\n\n        .default-a:hover{\n            text-decoration: underline;\n        }\n        .separator {\n        color:black !important;\n        font-weight:600;\n        }\n        .last {\n        color:black !important;\n        font-weight:600;\n        }\n        @media screen and (max-width:1034px) {\n        .author_links {\n        margin-right:auto;\n        }\n        .reviewer-info {\n        width: 100%;\n        }\n        }\n        @media screen and (max-width:767px) {\n        .language_switcher {\n        display: flex;\n        margin-top: 5px;\n        }\n        }\n        @media screen and (max-width:490px) {\n        .review-lowres {\n        display:flex !important;\n        }\n        .review-highres {\n        display:none !important;\n        }\n        .author_links {\n        margin-right:36px !important;\n        } \n        }\n    <\/style>\n    <div><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div>\n    \n    <div class=\"info-container\">\n    <div class=\"post-info with-reviewer\">\n        <div class=\"post-info-main\">\n            <div class=\"author-avatar\">\n                <picture>\n                        <source\n                            srcset=\"https:\/\/devsdata.com\/wp-content\/uploads\/2024\/09\/kate-khorava-min.webp\" type=\"image\/webp\"> \n                        <source \n                            srcset=\"https:\/\/devsdata.com\/wp-content\/uploads\/2024\/09\/kate-khorava-min.jpg\" type=\"image\/jpeg\">\n                        <img decoding=\"async\" \n                            class=\"avatar lazyload\"\n                            width=\"64\" \n                            height=\"64\"\n                            src=\"https:\/\/devsdata.com\/wp-content\/uploads\/2024\/09\/kate-khorava-min.jpg\"\n                            alt=\"avatar\"\n                            loading=\"lazy\"\n                            title=\"Kate Khorava\"\n                        >\n                <\/picture>\n            <\/div>\n            <div style=\"display:flex; flex-direction:column;margin-right:auto;\" class=\"author_links\">\n            <a href=\"\/author\/kate-khorava\/\" class=\"author-name\">Kate Khorava<\/a>\n            <ul class=\"author_socials\">\n            <li>\n                <a href=\"https:\/\/www.linkedin.com\/in\/ketevan-khorava\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" aria-label=\"Kate Khorava on Linkedin\">\n                    <svg version=\"1.0\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 448 512\" aria-hidden=\"true\">\n                            <g id=\"linkedin5_layer\">\n                                <path d=\"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\" data-hs-event-238572417=\"1\"><\/path>\n                            <\/g>\n                        <\/svg>\n                <\/a>\n            <\/li><\/ul>\n            <\/div>\n            <div class=\"reviewer-info\"> \n                                                                            <span style=\"color:#6D7082;\" class=\"\">\n                Ostatnia aktualizacja \n                2024-09-06 \n                <span class=\"post-info-separator\">| <\/span> \n                2 min czytania\n                <span>\n                |\n                <span class=\"language_switcher\">\n                    J\u0119zyk:  \n                    \n<div\n\t role=\"navigation\" aria-label=\"Prze\u0142\u0105cznik j\u0119zyka\" class=\"wpml-ls-statics-shortcode_actions wpml-ls wpml-ls-legacy-dropdown js-wpml-ls-legacy-dropdown\">\n\t<ul>\n\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-pl wpml-ls-current-language wpml-ls-item-legacy-dropdown\">\n\t\t\t<a href=\"#\" hreflang=\"\" lang=\"\" class=\"js-wpml-ls-item-toggle wpml-ls-item-toggle\" aria-current=\"page\" aria-expanded=\"false\" aria-controls=\"wpml-ls-submenu-default\" aria-label=\"Prze\u0142\u0105cznik j\u0119zyk\u00f3w, naci\u015bnij tab, aby przej\u015b\u0107 do innych j\u0119zyk\u00f3w\" title=\"Prze\u0142\u0105cz na Polski\">\n\t\t\t\t<span class=\"wpml-ls-native\">Polski<\/span><\/a>\n\n\t\t\t<ul id=\"wpml-ls-submenu-default\" class=\"wpml-ls-sub-menu\">\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-en wpml-ls-first-item\">\n\t\t\t\t\t\t<a href=\"https:\/\/devsdata.com\/\" hreflang=\"en\" lang=\"en\" class=\"wpml-ls-link\" aria-label=\"Prze\u0142\u0105cz na Angielski\" title=\"Prze\u0142\u0105cz na Angielski\">\n\t\t\t\t\t\t\t<span class=\"wpml-ls-display\">Angielski<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-de\">\n\t\t\t\t\t\t<a href=\"https:\/\/devsdata.com\/de\/\" hreflang=\"de\" lang=\"de\" class=\"wpml-ls-link\" aria-label=\"Prze\u0142\u0105cz na Niemiecki\" title=\"Prze\u0142\u0105cz na Niemiecki\">\n\t\t\t\t\t\t\t<span class=\"wpml-ls-display\">Niemiecki<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-he\">\n\t\t\t\t\t\t<a href=\"https:\/\/devsdata.com\/he\/\" hreflang=\"he\" lang=\"he\" class=\"wpml-ls-link\" aria-label=\"Prze\u0142\u0105cz na Hebrajski\" title=\"Prze\u0142\u0105cz na Hebrajski\">\n\t\t\t\t\t\t\t<span class=\"wpml-ls-display\">Hebrajski<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-sv wpml-ls-last-item\">\n\t\t\t\t\t\t<a href=\"https:\/\/devsdata.com\/sv\/\" hreflang=\"sv\" lang=\"sv\" class=\"wpml-ls-link\" aria-label=\"Prze\u0142\u0105cz na Szwedzki\" title=\"Prze\u0142\u0105cz na Szwedzki\">\n\t\t\t\t\t\t\t<span class=\"wpml-ls-display\">Szwedzki<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\t\t<\/ul>\n\n\t\t<\/li>\n\n\t<\/ul>\n<\/div>\n\n                <\/span>\n            <\/span>\n            <\/span>\n                            <\/div>\n        \n        <\/div>\n    <\/div>\n    <div class=\"bookmark\">\n        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2020\/08\/bookmark-add-2-1.svg\" alt=\"bookmark\" title=\"\">\n    <\/div>\n    <div class=\"tags\"><a href=\"\/tag\/job-description-template\/\">Job Description Template<\/a><a href=\"\/tag\/polish-articles\/\">Polish articles<\/a><a href=\"\/tag\/software-development\/\">Software development<\/a><a href=\"\/tag\/web-development\/\">Web Development<\/a><\/div>\n    <\/div>\n    <script type=\"module\" defer>\n      document.addEventListener(\"DOMContentLoaded\", function () {\n    \/\/ Get the current path from the URL\n    const path = window.location.pathname;\n\n    \/\/ Check if it starts with \/case-studies\n        if (path.startsWith(\"\/case-studies\")) {\n        const tagsElement = document.querySelector(\".tags\");\n        if (tagsElement) {\n        tagsElement.style.marginBottom = \"0\";\n        }\n        }\n        });\n        Array.from(document.getElementsByClassName(\"separator\")).forEach(el => {\n            el.textContent = \" > \";\n        });\n\n            var wpmlToggle = document.querySelector(\".language_switcher .wpml-ls-item-toggle\");\n            if (wpmlToggle) {\n                wpmlToggle.addEventListener(\"click\", function(e) {\n                    e.preventDefault();\n                    e.stopPropagation();\n                    var currentLang = this.closest(\".wpml-ls-current-language\");\n                    if (currentLang) {\n                        currentLang.classList.toggle(\"wpml-dropdown-open\");\n                    }\n                });\n                document.addEventListener(\"click\", function(e) {\n                    var openDropdown = document.querySelector(\".wpml-ls-current-language.wpml-dropdown-open\");\n                    if (openDropdown && !openDropdown.contains(e.target)) {\n                        openDropdown.classList.remove(\"wpml-dropdown-open\");\n                    }\n                });\n            }\n\n            var languageList = document.querySelector(\"#language-list\");\n            var dropdownArrow = document.querySelector(\".dropdown-arrow\");\n\n            if(languageList){\n                languageList.addEventListener(\"click\", () => {\n                    languageList.classList.toggle(\"active\");\n                    document.querySelector(\"#arrow\").classList.toggle(\"rotated\");\n                })\n            }\n                \n            function handleViewportChange() {\n                if(languageList) {\n                    if (window.innerWidth < 1280) {\n                        if(!languageList.classList.contains(\"mobile\")) {\n                            languageList.classList.add(\"mobile\");\n                            dropdownArrow.classList.add(\"mobile\");\n                        }\n                    } else {\n                        if(languageList.classList.contains(\"mobile\")) {\n                            languageList.classList.remove(\"mobile\");\n                            dropdownArrow.classList.remove(\"mobile\");\n                        }\n                    }\n                };\n            };\n\n            \/\/ If there is a small\/no space between reviewer and author name, reviewer moves to the first row\n            function update_post_info_layout() {\n                const author_name_element = document.querySelector(\".author-name\");\n                const reviewer_element = document.querySelector(\".reviewer-info\");\n                const post_info_container = document.querySelector(\".post-info\");\n\n                if(reviewer_element) {\n                    let distance_next_to_author, reviewer_fits_next_to_author; \n                    if(post_info_container && author_name_element) {\n                        distance_next_to_author = post_info_container.getBoundingClientRect().right - author_name_element.getBoundingClientRect().right;\n                        reviewer_fits_next_to_author = distance_next_to_author - reviewer_element.clientWidth >= 15;\n                    }\n\n                    if(!reviewer_fits_next_to_author) {\n                        reviewer_element.classList.add(\"the_first_row\");\n                    } else if (reviewer_fits_next_to_author && reviewer_element.classList.contains(\"the_first_row\")) {\n                        reviewer_element.classList.remove(\"the_first_row\");\n                    }\n                }\n            }\n\n            handleViewportChange();\n            update_post_info_layout();\n             \n            window.addEventListener(\"resize\", () => {\n                handleViewportChange();\n                update_post_info_layout();\n            });\n    <\/script>\n<p><span class=\"img-container\">\n    <picture><source media=\"(max-width: 500px)\" srcset=\"\/wp-content\/uploads\/2024\/09\/fullstack_developer_polish_job_description_template_header_small.webp\" type=\"image\/webp\"><source media=\"(max-width: 500px)\" srcset=\"\/wp-content\/uploads\/2024\/09\/fullstack_developer_polish_job_description_template_header_small.jpg\" type=\"image\/jpg\"><source srcset=\"\/wp-content\/uploads\/2024\/09\/fullstack_developer_polish_job_description_template_header.webp\" type=\"image\/webp\"><source srcset=\"\/wp-content\/uploads\/2024\/09\/fullstack_developer_polish_job_description_template_header.jpg\" type=\"image\/jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/09\/fullstack_developer_polish_job_description_template_header.jpg\" width=\"640\" height=\"426\" alt=\"Coworkers working\" title=\"\">\n    <\/picture>\n<\/span><\/p>\n<h2>Poszukujesz Full Stack Developera?<\/h2>\n<p>Rozpoczynasz w\u0142a\u015bnie rekrutacj\u0119 na stanowisko Full Stack Developera i zastanawiasz si\u0119, jak napisa\u0107 ofert\u0119 pracy? Ch\u0119tnie pomo\u017cemy. Przygotowali\u015bmy kr\u00f3tki artyku\u0142, kt\u00f3ry wyja\u015bni, czym zajmuje si\u0119 Full Stack Developer. Po przeczytaniu szablon mo\u017cna wykorzysta\u0107 jako inspiracj\u0119 b\u0105d\u017a w ca\u0142o\u015bci.<\/p>\n<h2>Czym zajmuje si\u0119 Full Stack Developer?<\/h2>\n<p>Full Stack Developer to wszechstronny programista, kt\u00f3ry potrafi stworzy\u0107 aplikacje czy strony od pocz\u0105tku do ko\u0144ca. Zna zar\u00f3wno techniki widocznego dla u\u017cytkownika frontendu, jak i dzia\u0142anie aplikacji oraz serwer\u00f3w \u201eod kuchni\u201d \u2013 backendu.<\/p>\n<h2>Opis stanowiska:<\/h2>\n<p>Do\u0142\u0105cz do naszego zespo\u0142u jako Full Stack Developer. Szukamy osoby z pasj\u0105 do pisania kodu, znaj\u0105c\u0105 technologie frontendu i backendu oraz czerpi\u0105c\u0105 satysfakcj\u0119 z przekszta\u0142cania pomys\u0142\u00f3w w gotowe aplikacje. Je\u015bli szukasz dynamicznej pracy, w kt\u00f3rej b\u0119dziesz m\u00f3g\u0142 rozwija\u0107 swoje umiej\u0119tno\u015bci \u2013 aplikuj ju\u017c dzi\u015b!  Sprawd\u017a poni\u017cej, co oferujemy oraz jakie mamy oczekiwania wobec kandydat\u00f3w.<\/p>\n<h2>Nasze oczekiwania:<\/h2>\n<ul style=\"list-style: disc;\">\n<li>do\u015bwiadczenie w tworzeniu aplikacji, interfejs\u00f3w u\u017cytkownika,<\/li>\n<li>dobra znajomo\u015b\u0107 jednej lub wi\u0119cej platformy frontendowej (np. Angular, React, Vue.js),<\/li>\n<li>dobra znajomo\u015b\u0107 jednej lub wi\u0119cej platformy backendowej (np. Python, Node.js, Ruby on Rails),<\/li>\n<li>bieg\u0142o\u015b\u0107 w technologiach frontend jak HTML, CSS, JavaScript,<\/li>\n<li>znajomo\u015b\u0107 system\u00f3w baz danych (np. SQL, NoSQL) oraz kontroli wersji (np. Git),<\/li>\n<li>umiej\u0119tno\u015b\u0107 pracy w zespole,<\/li>\n<li>znajomo\u015b\u0107 j. angielskiego umo\u017cliwiaj\u0105ca komunikacj\u0119 aspekt\u00f3w technicznych.<\/li>\n<\/ul>\n<p><\/p>\n\n            <div class=\"schedule-consultation middle-scheduler\">\n                <div class=\"block-contact\">\n                    <p>Masz potrzeby zwi\u0105zane z rekrutacj\u0105 IT?<\/p>\n                <\/div>\n                <div class=\"contact-us-show schedule-consultation-button\">\n                    \ud83c\udfa7\n                    <span>Zaplanuj spotkanie<\/span>\n                <\/div>\n            <\/div>\n    \n<h2>Twoje zadania:<\/h2>\n<ul style=\"list-style: disc;\">\n<li>tworzenie i implementacja nowych funkcji aplikacji,<\/li>\n<li>ulepszanie i opracowywanie nowych element\u00f3w interfejsu,<\/li>\n<li>rozw\u00f3j i utrzymywanie kodu,<\/li>\n<li>optymalizacja wydajno\u015bci aplikacji, dbanie o responsywno\u015b\u0107,<\/li>\n<li>debugowanie, rozwi\u0105zywanie problem\u00f3w,<\/li>\n<li>tworzenie dokumentacji technicznej,<\/li>\n<li>wdra\u017canie aplikacji do \u015brodowiska produkcyjnego.<\/li>\n<\/ul>\n<h2>Co oferujemy?<\/h2>\n<ul style=\"list-style: disc;\">\n<li>wyb\u00f3r formy zatrudnienia: umowa o prac\u0119, kontrakt B2B,<\/li>\n<li>dodatkowe premie za osi\u0105gane wyniki,<\/li>\n<li>mo\u017cliwo\u015b\u0107 rozwoju zawodowego oraz udzia\u0142 w szkoleniach,<\/li>\n<li>elastyczne godziny pracy,<\/li>\n<li>opcja pracy zdalnej lub hybrydowej,<\/li>\n<li>prywatna opieka medyczna,<\/li>\n<li>pakiet benefit\u00f3w (karta Multisport, platformy edukacyjne),<\/li>\n<li>sprz\u0119t niezb\u0119dny do pracy (laptop, telefon).<\/li>\n<\/ul>\n<p>\n        <section class=\"author_section_container\">\n            \n            <div class=\"schedule-consultation\">\n                <div class=\"block-contact\">\n                    <p>Odkryj, w jaki spos\u00f3b rekrutacja IT mo\u017ce zaspokoi\u0107 Twoje potrzeby \n        w zakresie specjalist\u00f3w. Poznaj popularne regiony, takie jak Polska, Portugalia, Meksyk, Brazylia i inne. <\/p>\n                <\/div>\n                <div class=\"contact-us-show schedule-consultation-button\">\n                    \ud83d\uddd3\ufe0f\n                    <span>Um\u00f3w spotkanie online<\/span>\n                <\/div>\n            <\/div>\n            <div class=\"author_section\">\n                <div class=\"author_photo_container\">\n                    <picture>\n                        <source srcset=\"https:\/\/devsdata.com\/wp-content\/uploads\/2024\/09\/kate-khorava-min.webp\" type=\"image\/webp\"> \n                        <source srcset=\"https:\/\/devsdata.com\/wp-content\/uploads\/2024\/09\/kate-khorava-min.jpg\" type=\"image\/jpeg\">\n                        <img decoding=\"async\" class=\"avatar lazyload\" width=\"64\" height=\"64\" src=\"https:\/\/devsdata.com\/wp-content\/uploads\/2024\/09\/kate-khorava-min.jpg\" alt=\"avatar\" loading=\"lazy\" title=\"Kate Khorava\" >\n                    <\/picture>\n                    <a class=\"read_full_bio\" href=\"\/author\/kate-khorava\/\" aria-label=\"Read more from Kate Khorava\">Przeczytaj pe\u0142n\u0105 biografi\u0119<\/a>\n                <\/div>\n                <div class=\"author_info_container\">\n                    <div class=\"author_info\" data-role=\"Autor\">\n                        <h4 id=\"author_title\">\n                            <a href=\"\/author\/kate-khorava\/\" aria-label=\"Read more from Kate Khorava\">Kate Khorava<\/a>\n                            <span class=\"position\">IT Recruiter<\/span>\n                        <\/h4>\n                    <\/div>\n                <\/div>\n                <div class=\"author_about\">\n                    <span>Kate is an experienced tech recruiter with a focus on talent acquisition, training, and employee development. She is an expert in sourcing top tech talent and enhancing organizational culture through strategic HR initiatives and data-driven insights.<\/span>\n                    <div class=\"links\">\n                        <ul class=\"author_socials\">\n            <li>\n                <a href=\"https:\/\/www.linkedin.com\/in\/ketevan-khorava\/\" aria-label=\"Check out Kate Khorava on LinkedIn\" target=\"_blank\" rel=\"nofollow noreferrer noopener\">\n                    <svg version=\"1.0\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 448 512\" aria-hidden=\"true\">\n                        <g id=\"linkedin5_layer\">\n                            <path d=\"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\" data-hs-event-238572417=\"1\"><\/path>\n                        <\/g>\n                    <\/svg>\n                <\/a>\n            <\/li>\n            <li>\n                <a href=\"mailto:kate.khorava@devsdata.com\" aria-label=\"Email Kate Khorava\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M64 112c-8.8 0-16 7.2-16 16v22.1l172.5 141.6c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16zM48 212.2V384c0 8.8 7.2 16 16 16h384c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0zM0 128c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z\"\/><\/svg>\n                <\/a>\n            <\/li><\/ul>\n                        <a class=\"recruitment_link\" href=\"\/recruitment\/\" target=\"_blank\" rel=\"noopener noreferrer\">\n                            Dowiedz sie wiecej o naszych ustugach rekrutacji i outsourcingu IT\n                            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"https:\/\/www.w3.org\/2000\/svg\">\n                                <path d=\"M5 12H19\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n                                <path d=\"M12 5L19 12L12 19\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n                            <\/svg>\n                        <\/a>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"tags-author \">\n                <a href=\"\/tag\/job-description-template\/\">Job Description Template<\/a><a href=\"\/tag\/polish-articles\/\">Polish articles<\/a><a href=\"\/tag\/software-development\/\">Software development<\/a><a href=\"\/tag\/web-development\/\">Web Development<\/a>\n            <\/div>\n        <\/section>\n    <br \/>\n\n        <script>\n            document.addEventListener(\"DOMContentLoaded\", function() {\n                function debounceMessagePopUp(func, timeout = 300) {\n                    let timer;\n                    return (...args) => {\n                        clearTimeout(timer);\n                        timer = setTimeout(() => {\n                            func.apply(this, args);\n                        }, timeout);\n                    };\n                }\n\n                const toastPopUp = document.getElementById(\"copy-toast-meet-us\");\n                const copyEmailPopButtons = document.querySelectorAll(\".copy-email-button-meet-us\");\n\n                const debouncedMessagePopUp = debounceMessagePopUp(() => toastPopUp.classList.remove(\"toast-active\"), 2000);\n\n                for (let i = 0; i < copyEmailPopButtons.length; i++) {\n                    copyEmailPopButtons[i].addEventListener(\"click\", () => copyEmailFunctionPopUp(copyEmailPopButtons[i]));\n                }\n\n                function copyEmailFunctionPopUp(button) {\n                    navigator.clipboard.writeText(button.previousElementSibling.innerHTML);\n                    toastPopUp.querySelector(\"span\").innerHTML = \"Email copied\";\n                    toastPopUp.classList.add(\"toast-active\");\n                    debouncedMessagePopUp();\n                }\n        })\n<\/script>\n<br \/>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Full Stack Developer \u2013 opis, zadania i rola w firmie Poszukujesz Full Stack Developera? Rozpoczynasz w\u0142a\u015bnie rekrutacj\u0119 na stanowisko Full Stack Developera i zastanawiasz si\u0119, jak napisa\u0107 ofert\u0119 pracy? Ch\u0119tnie pomo\u017cemy. Przygotowali\u015bmy kr\u00f3tki artyku\u0142, kt\u00f3ry wyja\u015bni, czym zajmuje si\u0119 Full Stack Developer. Po przeczytaniu szablon mo\u017cna wykorzysta\u0107 jako inspiracj\u0119 b\u0105d\u017a w ca\u0142o\u015bci. Czym zajmuje si\u0119 [&hellip;]<\/p>\n","protected":false},"author":33,"featured_media":99068,"comment_status":"closed","ping_status":"open","sticky":false,"template":"blog_post.php","format":"standard","meta":{"footnotes":"","gopublish_seo_title":"","gopublish_seo_description":""},"categories":[5],"tags":[820,816,258,252],"class_list":["post-99052","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-and-technology","tag-job-description-template","tag-polish-articles","tag-software-development","tag-web-development"],"acf":[],"gopublish_integration":{"active":true,"seo_fields_available":true,"seo_fields":{"title":"gopublish_seo_title","description":"gopublish_seo_description"}},"_links":{"self":[{"href":"https:\/\/devsdata.com\/pl\/wp-json\/wp\/v2\/posts\/99052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devsdata.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devsdata.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devsdata.com\/pl\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/devsdata.com\/pl\/wp-json\/wp\/v2\/comments?post=99052"}],"version-history":[{"count":0,"href":"https:\/\/devsdata.com\/pl\/wp-json\/wp\/v2\/posts\/99052\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devsdata.com\/pl\/wp-json\/wp\/v2\/media\/99068"}],"wp:attachment":[{"href":"https:\/\/devsdata.com\/pl\/wp-json\/wp\/v2\/media?parent=99052"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devsdata.com\/pl\/wp-json\/wp\/v2\/categories?post=99052"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devsdata.com\/pl\/wp-json\/wp\/v2\/tags?post=99052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}