1<!DOCTYPE html> 2<html land="en"> 3 <head> 4 <title>Hiring | Grip Studios</title> 5 6 <link rel="canonical" href="https://grip-digital.com/hiring.php"> 7 <meta name="robots" content="index, follow"> 8 9 <meta name="title" content="Hiring | Grip Studios"> 10 <meta name="description" content="Grip Studios is a full-range game developer with over a decade of experience and 50+ games in our portfolio. We provide co-dev, QA, and other development services to some of the worldâs top gaming companies."> 11 12 <link rel="preload" href="https://player.vimeo.com/api/player.js" as="script"> 13 14 <!-- Facebook meta tags --> 15 <meta property="og:title" content="Hiring | Grip Studios"> 16 <meta property="og:description" content="Grip Studios is a full-range game developer with over a decade of experience and 50+ games in our portfolio. We provide co-dev, QA, and other development services to some of the worldâs top gaming companies."> 17 <meta property="og:image" content="https://grip-digital.com/assets/share/share1200x630.jpg"> 18 <meta property="og:url" content="https://grip-digital.com/"> 19 20 <!-- Twitter meta tags --> 21 <meta name="twitter:title" content="Hiring | Grip Studios"> 22 <meta name="twitter:description" content="Grip Studios is a full-range game developer with over a decade of experience and 50+ games in our portfolio. We provide co-dev, QA, and other development services to some of the worldâs top gaming companies."> 23 <meta name="twitter:image" content="https://grip-digital.com/assets/share/share1024x512.jpg"> 24 <meta name="twitter:card" content="summary_large_image"> 25 26 <link rel='stylesheet' href='assets/css/style.css?v=20260825b'> 27 28 <meta name="viewport" content="width=device-width, initial-scale=1"> 29 <!-- Fonts --> 30 <link rel="preconnect" href="https://fonts.gstatic.com"> 31 32 <!-- Cookie Consent by https://www.FreePrivacyPolicy.com --> 33
33<script type="text/javascript" src="//www.freeprivacypolicy.com/public/cookie-consent/4.0.0/cookie-consent.js" charset="UTF-8"></script>
33 34
34<script type="text/javascript" charset="UTF-8"> 35 document.addEventListener('DOMContentLoaded', function () { 36 cookieconsent.run({"notice_banner_type":"simple","consent_type":"express","palette":"dark","language":"en","page_load_consent_levels":["strictly-necessary"],"notice_banner_reject_button_hide":false,"preferences_center_close_button_hide":false,"page_refresh_confirmation_buttons":false,"website_name":"Grip Digital","website_privacy_policy_url":"https://www.grip-digital.com/privacy-policy.php"}); 37 }); 38 </script>
38 39 <link rel='stylesheet' href='assets/css/cookies.css'> 40 <!-- End Cookie Consent --> 41 42 <!-- Google Tag Manager --> 43
43<script type="text/plain" cookie-consent="tracking">
vendor: 359 bytes, lines 43-47
43(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 44 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 45 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 46 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 47 })(window,document,'script','dataLayer','
47GTM-KT5B3LB
vendor: 3 bytes, line 47
47');
47</script>
47 48 <!-- End Google Tag Manager --> 49 50 <!-- jQuery scripts --> 51
51<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
51 52
52<script type="text/javascript" src="./assets/js/functions.js"></script>
52 53
53<script type="text/javascript" src="./assets/js/underline-text.js"></script>
53 54
54<script type="text/javascript" src="./assets/js/position-expand.js"></script>
54 55
55<script type="text/javascript" src="./assets/js/wm-animate.js"></script>
55 56
56<script type="text/javascript" src="./assets/js/smooth-scroll.js"></script>
56 57
57<script type="text/javascript" src="./assets/js/navigation.js"></script>
57 58 59 <!-- Favicons --> 60 <link rel="apple-touch-icon" sizes="180x180" href="assets/favicons/apple-touch-icon.png"> 61 <link rel="icon" type="image/png" sizes="32x32" href="assets/favicons/favicon-32x32.png"> 62 <link rel="icon" type="image/png" sizes="16x16" href="assets/favicons/favicon-16x16.png"> 63 <link rel="manifest" href="assets/favicons/site.webmanifest"> 64 <link rel="mask-icon" href="assets/favicons/safari-pinned-tab.svg" color="#000000"> 65 <link rel="shortcut icon" href="assets/favicons/favicon.ico"> 66 <meta name="msapplication-TileColor" content="#000000"> 67 <meta name="msapplication-config" content="assets/favicons/browserconfig.xml"> 68 <meta name="theme-color" content="#000000"> 69 70 <!-- Splide --> 71
71<script type="text/javascript" src="./assets/js/splide.min.js"></script>
71 72 73 <link rel='stylesheet' href='assets/css/splide-core.min.css'> 74 <!-- <link rel='stylesheet' href='assets/css/splide-default.min.css'> --> 75 <!-- <link rel='stylesheet' href='assets/css/splide.min.css'> --> 76 77 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 73 bytes, lines 77-79
77 78 79 <script async src="https://www.googletagmanager.com/gtag/js?id=
79G-SV6PKLHK70
vendor: 64 bytes, lines 79-80
79" type="text/plain" cookie-consent="tracking"></script> 80
80<script type="text/plain" cookie-consent="tracking"> 81
vendor: 163 bytes, lines 81-84
81window.dataLayer = window.dataLayer || []; 82 function gtag(){dataLayer.push(arguments);} 83 gtag('js', new Date()); 84 gtag('config', '
84G-SV6PKLHK70
vendor: 12 bytes, lines 84-85
84'); 85
85</script>
85 86 </head> 87 <body> 88 <div class='navigation navbg-transparent navcolor-black mobilenav_black wm-animate wm-ol-hide wmab-fadeIn wmab-menuslidedown' data-wman='fadeIn menuslidedown' data-wmdl='1000' data-wmol='1'> 89 <a href='index.php' class='left-side'><img class='logo-img' src='./assets/img/logos/logo_white.svg' alt='Logo'></a> 90 <div class='right-side'> 91 <a href='projects.php' class='projects-link'>Projects</a> 92 <a href='contact.php' class='contact-link'><span>Business</span></a> 93 <a href='hiring.php' class='hiring-link'><span>Jobs</span></a> 94 <a onclick='openMobNav(); return false;' class='mobile-burger'></a> 95 </div> 96 </div> 97 98 <div class='mobNav'> 99 <div class='mobNav-content'> 100 <a href='hiring.php' class='hiring-link'><span>Jobs</span></a> 101 <a href='projects.php' class='projects-link'>Projects</a> 102 <a href='contact.php' class='contact-link'><span>Business</span></a> 103 </div> 104 </div><div class='hiring-page'> 105 <div class='white-bg'> 106 <div class='main-text-block text-block-white-bg section-text-1 text-content-width wm-animate wm-ol-hide' data-wman='transformslideup fadeIn' data-wmdl='200' data-wmol='1'> 107 <p> 108 We believe that <span class='purple-underline wm-animate' data-wman='underline' data-wmdl='500'>our team is the 109 most valuable asset of our </span> 110 company. That is why we look for 111 the best talent and offer the best 112 opportunities in the <span class='purple-underline wm-animate' data-wman='underline' data-wmdl='800'>central Europe 113 region</span>. From work-life balance, to 114 some of the most exciting gaming 115 projects in the world. 116 </p> 117 118 </div><div class='big-video wm-animate' data-wman='videoSmaller' data-wmod='90'> 119 <video playsinline muted autoplay loop preload='auto'> 120 <source src='./assets/videos/asshole-free.mp4' type='video/mp4'> 121 </video> 122</div> </div> 123 <div class='black-bg'> 124 <div class='section-text-2'> 125 <div class='asshole-free'> 126 <div class='asshole-free-header'> 127 <div class='header-content'> 128 <div class='line-1 wm-animate' data-wman='rsHeader' data-wmsm='0'><span>Asshole</span></div> 129 <div class='line-2 wm-animate' data-wman='lsHeader' data-wmsm='0'><span>Free</span></div> 130 </div> 131 </div> 132 133 <div class='main-text-block text-block-black-bg text-content-width wm-animate' data-wman='slightslideup' data-wmdl='200'> 134 <p> 135 Grip has <span class='purple-underline wm-animate' data-wman='underline' data-wmdl='1000'>two development sites</span> 136 located in the spectacular Green 137 Point at AndÄl, Prague, and cool offices 138 in the city center of Brno. 139 With free amenities like coffee and 140 parking and within walking 141 distance to the center of the 142 respective cities. 143 </p> 144 </div> 145 </div> 146</div> 147<div class='two-images text-content-width'> 148 <div class='images-container'> 149 <div class='one-image image-left wm-animate' data-wman='imageGoingUp'> 150 <img src='./assets/img/2-img-vlevo-hiring.png' alt='Muž se žtenou sedÃcà u stolu s notebookem'> 151 </div> 152 <div class='one-image image-right wm-animate' data-wman='imageGoingDown'> 153 <img src='./assets/img/2-img-vpravo-2.jpg' alt='Muž v office'> 154 </div> 155 </div> 156</div><div class='main-text-block text-block-black-bg text-content-width section-text-3 wm-animate' data-wman='slightslideup' data-wmdl='200'> 157 <p> 158 Our team is hand-picked to 159 combine skill & friendly attitude to 160 create our unique, asshole-free 161 company culture. We have a cool 162 working environment, but are also 163 cool with home office. <span class='purple-underline wm-animate' data-wman='underline' data-wmdl='1000'>You can 164 make working for Grip a part of 165 your life</span>, instead of adapting your 166 life to your job. 167 </p> 168</div><div class='big-video big-image-1 wm-animate' data-wman='videoSmaller' data-wmod='70'> 169 <img src='./assets/img/xbox-controller.jpg' alt=''> 170</div><div class='main-text-block text-block-black-bg text-content-width section-text-4'> 171 <p>
172 <span class='purple-underline wm-animate' data-wman='underline' data-wmdl='1000'>We are constantly growing</span> our 173 team and are looking for the widest 174 range of positions. Check whatâs 175 open right now, or feel free to send 176 us your CV even if you donât fully 177 match the open positions. 178 </p> 179</div><div class='big-video big-image-2 wm-animate' data-wman='videoSmaller' data-wmod='30'> 180 <img src='./assets/img/chill-room.png' alt=''> 181</div> </div> 182 <div class='white-bg'> 183 <div class='section-text-5'> 184 <div class='asshole-free'> 185 <div class='asshole-free-header'> 186 <div class='header-content'> 187 <div class='line-1 wm-animate' data-wman='rsHeader' data-wmsm='0'><span>Asshole</span></div> 188 <div class='line-2 wm-animate' data-wman='lsHeader' data-wmsm='0'><span>Free</span></div> 189 </div> 190 </div> 191 </div> 192</div><div class='positions-expandable text-content-width'> 193
193<script type="text/javascript"> 194 </script>
194 195 196 <div class='one-position' id='jobid-481520'> 197 <h3 class='position-name'>Technical Animator</h3> 198 <div class='position-expander-icon'>--</div> 199 <div class='position-expandable-content'> 200 <div class='position-description'> 201 <h3><span style="color:rgb(0,0,0);"><strong>Technical Animator</strong></span></h3><ul><li><span style="color:rgb(0,0,0);"><strong>Location: </strong>Remote - Europe</span><p><span style="color:rgb(0,0,0);"><strong>Applicants must be based within the CEST time zone (±1 hour). Applications outside this range will not be considered.</strong></span></p></li><li><span style="color:rgb(0,0,0);"><strong>Start date: </strong>ASAP</span></li><li><span style="color:rgb(0,0,0);"><strong>Contract Type: </strong>Freelance (IÄO)</span></li></ul><h4><span style="color:rgb(0,0,0);"><strong>Overview</strong></span></h4><p><span style="color:rgb(0,0,0);">Grip Studios is looking for a Technical Animator / Rigger with professional game development experience to support character rigging and animation workflows across our projects. The role is primarily focused on rigging and skinning in Maya, supporting animators, and bringing characters reliably into the game engine. We're looking for someone who can own the rigging side of production and bridge Maya, animation, and the game engine.</span></p><h4><span style="color:rgb(0,0,0);"><strong>Requirements</strong></span></h4><ul><li><span style="color:rgb(0,0,0);">Professional game development experience, with strong Maya character rigging and skinning skills.</span></li><li><span style="color:rgb(0,0,0);">Experience with production-ready humanoid rigs; creature rigging is a strong plus.</span></li><li><span style="color:rgb(0,0,0);">Solid understanding of deformation, skeletons, and animation requirements, with the ability to troubleshoot rigging, retargeting, and animation pipeline issues.</span></li><li><span style="color:rgb(0,0,0);">Experience supporting animators, solving technical animation problems, and bringing characters and animation assets into Unreal Engine.</span></li><li><span style="color:rgb(0,0,0);">Ability to work independently and across Animation, Character Art, Tech Art, and Engineering.</span></li><li><span style="color:rgb(0,0,0);">Expertise in Unreal Engine 5, including Control Rig, animation Blueprints, and state machines. Unreal Engine is our primary engine, but depending on the project, you may also work with proprietary or legacy engines.</span></li><li><span style="color:rgb(0,0,0);">Portfolio demonstrating strong rigging and deformation/skinning quality, ideally with in-engine results in Unreal Engine.</span></li></ul><h4><span style="color:rgb(0,0,0);"><strong>Responsibilities</strong></span></h4><ul><li><span style="color:rgb(0,0,0);">Own the rigging and skinning of characters in Maya, including production-ready humanoid and creature rigs.</span></li><li><span style="color:rgb(0,0,0);">Build and maintain deformation systems, skeletons, and rig setups that meet animation requirements.</span></li><li><span style="color:rgb(0,0,0);">Support animators by troubleshooting rigging, retargeting, and animation pipeline issues.</span></li><li><span style="color:rgb(0,0,0);">Bring characters and animation assets into Unreal Engine, and proprietary or legacy engines where required.</span></li><li><span style="color:rgb(0,0,0);">Collaborate closely with Animation, Character Art, Tech Art, and Engineering to bridge Maya, animation, and the game engine.</span></li><li><span style="color:rgb(0,0,0);">Work with animators to streamline workflows and improve animation pipelines.</span></li><li><span style="color:rgb(0,0,0);">Provide technical support and documentation for animation systems and best practices.</span></li><li><span style="color:rgb(0,0,0);">Work independently to own the rigging side of production.</span></li></ul><h4><span style="color:rgb(0,0,0);"><strong>Nice to Have</strong></span></h4><ul><li><span style="color:rgb(0,0,0);">MotionBuilder experience.</span></li><li><span style="color:rgb(0,0,0);">Pipeline scripting: Python / MEL.</span></li><li><span style="color:rgb(0,0,0);">Unreal-side rigging: Control Rig, Epic RBF Solver, MetaHumans.</span></li><li><span style="color:rgb(0,0,0);">Additional rigging specialties: facial rigs, cloth / secondary motion, prop or mechanical rigging, mocap and retargeting.</span></li></ul><h4><strong>What We Offer</strong></h4><ul><li><strong>Flexible working hours</strong> â because great games need great work-life balance.</li><li><strong>Access to cutting-edge tech</strong> and tools for testing.</li><li>A chance to <strong>work with gaming industry veterans</strong> and passionate teams.</li><li><strong>Opportunities for growth</strong> â we support learning, upskilling, and career progression.</li></ul> </div> 202 203 <div class='formular'> 204 <form method='post' id='form-481520'> 205 <input hidden style='display: none; opacity: 0;' type='text' name='job_title' value='Technical Animator'></input> 206 <input hidden style='display: none; opacity: 0;' type='text' name='job_id' value='481520'></input> 207 <div class='inputs'> 208 <span class='name-input input-wait'> 209 <input type='text' name='full_name' placeholder='Full name *' required> 210 </span> 211 <span class='email-input input-wait'> 212 <input type='text' name='email' placeholder='Emai *' required> 213 </span> 214 <span class='phone-input input-wait'> 215 <input type='text' name='phone_number' placeholder='Phone number *' required> 216 </span> 217 <span class='url-input input-wait'> 218 <input type='url' name='linkedin' placeholder='LinkedIn'> 219 </span> 220 <span class='url-input input-wait'> 221 <input type='url' name='website' placeholder='Website / ArtStation, etc'> 222 </span> 223 </div> 224 <div class='buttons'> 225 <div class="upload-section portfolio-upload-section"> 226 <label for="portfolio-upload-481520" class="portfolio-upload-button">Portfolio<span class="upload-size-info">max 30MB total</span></label> 227 <input class="portfolio-upload" name="portfolio_upload" id='portfolio-upload-481520' type="file" multiple> 228 <span class="uploaded-files changing-html-upload-portfolio"> 229 </span> 230 </div> 231 <div class="upload-section cv-upload-section"> 232 <label for="cv-upload-481520" class="cv-upload-button">CV / Resume *<span class="upload-size-info">max 4MB</span></label> 233 <input class="cv-upload" name="cv_upload" id='cv-upload-481520' type="file" accept=".pdf,.doc,.docx"> 234 <span class="uploaded-files changing-html-upload-cv"> 235 </span> 236 </div> 237 </div> 238 239 <span class='send-button-class'> 240 <input type='submit' value='Send' class='send-button'> 241 <input type='checkbox' name='agreement' id='agreement-input-481520' class='agreement-input-top' value='agree' required> 242 <label for='agreement-input-481520' class='agreement-label'>I agree with <a target='_blank' href='privacy-policy.php'>privacy policy</a></label> 243 </span> 244 </form> 245 </div>
246 </div> 247 </div> 248 </div> 249
250<script type="text/javascript"> 251 function expander($e) { 252 $e.closest('.one-position').toggleClass('active-position'); 253 } 254 255 $('.position-name').click(function() { 256 expander($(this)); 257 }); 258 $('.position-underline').click(function() { 259 expander($(this)); 260 }); 261 $('.position-expander-icon').click(function() { 262 expander($(this)); 263 }); 264 265</script>
265<div class='hiring-image wm-animate' data-wman='hiringImgSmaller' data-wmod='50'> 266 <div class='image-text'> 267 <h3>Hit us up!</h3> 268 <p> 269 Did not find the ideal job for you? <br /> 270 Hit us up and we might find the dream job for you! 271 </p> 272 </div> 273 <div class='image-form'> 274 <div class='formular'> 275 <form method='post' id='hit-form'> 276 <input hidden style='display: none; opacity: 0;' type='text' name='job_title' value='hitusup'></input> 277 <input hidden style='display: none; opacity: 0;' type='text' name='job_id' value='473504'></input> 278 <div class='inputs'> 279 <span class='name-input input-wait'> 280 <input type='text' name='full_name' placeholder='Full name' required> 281 </span> 282 <span class='email-input input-wait'> 283 <input type='text' name='email' placeholder='Email' required> 284 </span> 285 <span class='phone-input input-wait'> 286 <input type='text' name='phone_number' placeholder='Phone number' required> 287 </span> 288 <span class='url-input input-wait'> 289 <input type='url' name='linkedin' placeholder='LinkedIn'> 290 </span> 291 <span class='url-input input-wait'> 292 <input type='url' name='website' placeholder='Website / ArtStation, etc'> 293 </span> 294 </div> 295 <div class='buttons'> 296 <!-- Portfolio Upload (Optional) --> 297 <div class="upload-section portfolio-upload-section"> 298 <label for="portfolio-upload-image" class="portfolio-upload-button">Portfolio<span class="upload-size-info">max 30MB total</span></label> 299 <input class="portfolio-upload" name="portfolio_upload" id='portfolio-upload-image' type="file" multiple> 300 <span class="uploaded-files changing-html-upload-portfolio"> 301 <!-- Portfolio files will be displayed here --> 302 </span> 303 </div> 304 <!-- CV Upload (Required) --> 305 <div class="upload-section cv-upload-section"> 306 <label for="cv-upload-image" class="cv-upload-button">CV / Resume *<span class="upload-size-info">max 4MB</span></label> 307 <input class="cv-upload" name="cv_upload" id='cv-upload-image' type="file" accept=".pdf,.doc,.docx"> 308 <span class="uploaded-files changing-html-upload-cv"> 309 <!-- CV files will be displayed here --> 310 </span> 311 </div> 312 </div> 313 <span class='send-button-class'> 314 <input type='submit' value='Send' class='send-button'> 315 <input type='checkbox' name='agreement' id='agreement-input' value='agree' required> 316 <label for='agreement-input' class='agreement-label'>I agree with <a target='_blank' href='privacy-policy.php'>privacy policy</a></label> 317 </span> 318 </form> 319 </div> 320 </div> 321</div> <div class='footer-divider'></div> 322 </div>> 323 <div class='footer'> 324 <div class='footer-background'> 325 <video playsinline muted autoplay loop preload='auto'> 326 <source src='./assets/videos/asshole-free.mp4' type='video/mp4'> 327 </video> 328 </div> 329 <div class='footer-content'> 330 <div class='logo'><img class='logo-img' src='./assets/img/logos/logo_white.svg' alt='Logo'></div> 331 332 <div class='two-buttons'> 333 <a href='hiring.php' class='button-purple'><span>Let's talk Jobs</span></a> 334 <a href='contact.php' class='button-black'><span>Let's talk Business</span></a> 335 </div> 336 337 <div class='bottom-logos-wrapper'> 338 <a target='_blank' href='https://www.instagram.com/lifeatgrip' class='instagram-logo'><img src='./assets/img/logos/instagram.svg' alt='Instagram Logo'></a> 339 <a target='_blank' href='https://cz.linkedin.com/company/grip-digital' class='linkedin-logo'>
339<img src='./assets/img/logos/linkedin-purple.svg' alt='LinkedIn Logo'></a> 340 </div> 341 342 <p class='copyright'>Copyright © GRIP Digital, s.r.o. 2026</p> 343 344 <div class='bottom-buttons'> 345 <a href='privacy-policy.php'>Privacy Policy</a> 346 </div> 347 </div> 348 </div> 349 350
350<script type="text/javascript" src="./assets/js/wm-fullscreen.js"></script>
350 351
351<script type="text/javascript" src="./assets/js/form.js?v=20260130"></script>
351 352 </body> 353</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.