{"id":54115,"date":"2025-06-03T11:41:51","date_gmt":"2025-06-03T11:41:51","guid":{"rendered":"https:\/\/academy.xebia.com\/us\/?post_type=course&#038;p=54115"},"modified":"2025-09-25T17:23:35","modified_gmt":"2025-09-25T17:23:35","slug":"effective-ktor-in-kotlin","status":"publish","type":"course","link":"https:\/\/academy.xebia.com\/us\/training\/effective-ktor-in-kotlin\/","title":{"rendered":"Effective Ktor in Kotlin\u00a0"},"content":{"rendered":"\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"6b9e910a\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-group-hero js-group-hero\" data-id=\"5e7aada4\">\n\t\t<div class=\"block-group-hero__background\">\n\t\t<div class=\"hero-theme block-group-hero__hero-theme\" data-id=\"0478bb44\">\n\t\n\t<div class=\"hero-theme__background\">\n\t\t\t\t\t<div class=\"hero-theme__background--software-white\">\n\t\t\t\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='54' height='55' viewBox='0 0 54 55' fill='none'><path d='M2.458 33.333c-3.277-3.387-3.277-8.878 0-12.265l17.717-18.31C25.46-2.706 34.5 1.164 34.5 8.89v36.62c0 7.727-9.039 11.596-14.325 6.133L2.458 33.333Z' fill='url(#3c1e2c78-7a40-45b0-9018-1aaac5fdccd5)'\/><path d='M52.077 22.43c2.564 2.635 2.564 6.906 0 9.54L38.21 46.21C34.074 50.461 27 47.451 27 41.441V12.96c0-6.01 7.074-9.019 11.211-4.77l13.866 14.24Z' fill='url(#b0ac0058-6d6d-4f3e-946f-dba1d605141e)'\/><path fill-rule='evenodd' clip-rule='evenodd' d='M34.112 6.22c.25.825.388 1.718.388 2.67v36.62a9.14 9.14 0 0 1-.388 2.67C30.564 48.461 27 45.707 27 41.441V12.96c0-4.266 3.564-7.02 7.112-6.74Z' fill='url(#c2b1ad86-e474-4a1b-90d6-8a38250681b7)'\/><defs><linearGradient id='3c1e2c78-7a40-45b0-9018-1aaac5fdccd5' x1='17.25' y1='0.200195' x2='17.25' y2='54.2002' gradientUnits='userSpaceOnUse'><stop stop-color='#F3F3F3' stop-opacity='0.5'\/><stop offset='1' stop-color='#84117C'\/><\/linearGradient><linearGradient id='b0ac0058-6d6d-4f3e-946f-dba1d605141e' x1='40.5' y1='48.2002' x2='40.5' y2='6.2002' gradientUnits='userSpaceOnUse'><stop stop-color='#F3F3F3' stop-opacity='0.5'\/><stop offset='1' stop-color='#84117C'\/><\/linearGradient><linearGradient id='c2b1ad86-e474-4a1b-90d6-8a38250681b7' x1='30.75' y1='6.2002' x2='30.75' y2='48.2002' gradientUnits='userSpaceOnUse'><stop stop-color='#84117C'\/><stop offset='0.9999' stop-color='#A80C9E'\/><stop offset='1' stop-color='#84117C' stop-opacity='0'\/><\/linearGradient><\/defs><\/svg>\t\t\t<\/div>\n\t\t\n\t<\/div>\n<\/div>\t<\/div>\n\t<div class=\"block-group-hero__content\">\n\t\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"c2bae914\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-course-hero\">\n\t<div class=\"block-course-hero__row\">\n\t\t<div class=\"block-course-hero block-course-hero__title\">\n\t\t\t<div class=\"block-course-hero__title-container\">\n\t\t\t\t<h1\tclass=\"heading\"\n\tdata-id=\"cb1acdc0\"\n>\n\tEffective Ktor in Kotlin\u00a0<\/h1>\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"block-course-hero__row\">\n\t\t<div class=\"block-course-hero\">\n\t\t\t<div class=\"block-course-hero__content\">\n\t\t\t\t<p class=\"block-course-hero__date-location\">\n\t\t\t\t\t<span data-training-meta-p-date>\n\t\t\t\t\t<\/span>   <span data-training-meta-p-address>\t\t\t\t\t<\/span>\n\t\t\t\t<\/p>\n\t\t\t\t<div class=\"course-tags block-course-hero__course-tags\" data-id=\"3ff213e0\">\n\t<div class=\"tags course-tags__tags js-tags\">\n\t\t<button\tclass=\"btn tags__show-more js-tags-show-more\"\n\tdata-id=\"d6666864\">\n\t<i class=\"icon btn__show-more\" data-id=\"02538d68\"  aria-hidden=\"true\">\n\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' fill='none' viewBox='0 0 25 24'><path stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 12h10M12 7v10'\/><\/svg><\/i>\n\t\n\t<\/button>\t<div class=\"tags__tippy-template js-tags-tippy-template\">\n\t\t<div class=\"tags__head\">\n\t\t\t<span><\/span>\n\t\t\t<button\tclass=\"btn tags__close js-tags-close\"\n\tdata-id=\"2143483a\">\n\t<i class=\"icon btn__close\" data-id=\"95a6d30f\"  aria-hidden=\"true\">\n\t<svg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M15 5L5.00103 14.999' stroke='#6A1D57' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><path d='M15 14.998L5.00103 4.99907' stroke='#6A1D57' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><\/svg><\/i>\n\t\n\t<\/button>\t\t<\/div>\n\t<\/div>\n<\/div><\/div><p class=\"paragraph block-course-hero__description\" data-id=\"3c002a89\">\n\tWith Kotlin on the rise, we want to give you new insights on how you can build Kotlin only services using Kotlin and Ktor. This course will teach us the basics of Kotlin language, so you can get started with building Kotlin applications and get more out of the Kotlin language.\u00a0<\/p>\t\t\t\t<div class=\"block-course-hero__trainers-list\" aria-hidden=\"true\">\n\t\t\t\t\t<a href=\"https:\/\/example.com\" class=\"author-meta block-course-hero__author-meta author-meta__make-flex author-meta__link author-meta__make-flex\" rel=\"nofollow noopener\" target=\"_blank\">\n\t\t<picture class=\"image author-meta__image\" data-id=\"b96905c2\">\n\n\t\n\t\n\t<img\n\t\tsrc=\"https:\/\/example.com\"\n\t\talt=\"\"\n\t\tclass=\"image__img author-meta__image-img\"\n\t\/>\n<\/picture><h2\tclass=\"heading author-meta__heading\"\n\tdata-id=\"46a45207\"\n>\n\tTrainer Title<\/h2>\t<\/a>\t\t\t\t<\/div>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"block-course-hero__review-widget block-course-hero__review-widget-spacing\"\n\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t<div class=\"springest-review-widget springest-review-widget-width:300 springest-review-widget-bg:FFFFFF\">\n\t<a href=\"\">\n\t\t\t<\/a>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"block-course-hero__booking-container\">\n\t\t\t\t<div class=\"booking js-booking block-course-hero__booking booking__single-column\" data-id=\"29beb5f0\">\n\t\t<div class=\"booking__info\">\n\t\t<h2\tclass=\"heading booking__heading\"\n\tdata-id=\"23eba1b4\"\n>\n\t<strong>Looking to upskill your team(s) or organization?<\/strong><\/h2><p class=\"paragraph booking__paragraph\" data-id=\"a0297037\">\n\tBrijesh will gladly help you further with custom training solutions for your organization. <\/p><div class=\"author-meta booking__author-meta\">\n\t\t<picture class=\"image author-meta__image\" data-id=\"acc94e1f\">\n\n\t\n\t\n\t<img\n\t\tsrc=\"\/wp-content\/uploads\/sites\/21\/2025\/05\/Brijesh-Kohli-Profile-Picture-2-e1757405354999.jpeg\"\n\t\talt=\"\"\n\t\tclass=\"image__img author-meta__image-img\"\n\t\/>\n<\/picture>\t\t<h2\tclass=\"heading author-meta__heading\"\n\tdata-id=\"0fb03a6e\"\n>\n\tBrijesh Kohli<br>Training Advisor<\/h2>\t\t<p class=\"paragraph author-meta__paragraph\" data-id=\"7d17a2fb\">\n\t<a href=\"tel:+14049883790\">+1 (404) 988-3790<\/a><a href=\"tel:\"><br><\/a><a href=\"mailto:brijesh.kohli@xebia.com\">brijesh.kohli@xebia.com<br><\/a><a href=\"https:\/\/www.linkedin.com\/in\/brijesh-kohli\/\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/www.linkedin.com\/in\/brijesh-kohli\/<\/a><\/p>\t<\/div><a class=\"btn booking__contact\" title=\"Get in touch\" data-id=\"dd75a5ac\" href=\"https:\/\/academy.xebia.com\/us\/about-us\/contact-us\/\">\n\t\n\t\t\t<span>Get in touch<\/span>\n\t\n\t<\/a>\t<\/div>\n<\/div>\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t<\/div>\n<\/div>\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"edf69f5d\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-course-stats\" \n\tdata-id=\"cb70e41a\" \n\taria-hidden=\"1\"\n\t>\n\t\n\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"c0c000e3\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-columns\" data-id=\"d5c22744\">\n\t\n\n<div class=\"block-column\" data-id=\"918410fc\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"713b6b5b\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"84c8c977\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"8437d278\"\n>\n\tWhat will you learn?<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"bef33798\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"9762420d\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"3fa5180a\">\n\tIn this Effective Ktor in Kotlin training course, you will learn about Ktor. Understand how to apply this knowledge to Kotlin in a practical manner. Setting up a Ktor server with everything you need to know to build production-ready servers, such as serialization, authentication, containerizing the server, and more.\u00a0<br><br>After this course, you\u2019ll be ready to start building services using Ktor and Kotlin on your own.\u00a0<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<div class=\"block-column\" data-id=\"3d0a4247\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"f2f0d4f9\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-group\" data-id=\"2ee3915f\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"82a97adf\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"851c4313\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"6d1154df\"\n>\n\tKey takeaways<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"effa5312\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-lists\" data-id=\"74a7f4ce\">\n\t<ol\tclass=\"lists block-lists__lists\"\n\tdata-id=\"ec8493fe\"\n>\n\t<li>Learn how to build end-to-end services with Ktor.\u00a0<\/li><li>Give you an understanding of the Kotlin language.<\/li><li>Explore when to use which techniques in Kotlin.<\/li><li>Learn to setup authentication, serialization, and more.<\/li><\/ol><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"57e0d7e1\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-columns\" data-id=\"610b294c\">\n\t\n\n<div class=\"block-column\" data-id=\"476ac247\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"5ef00ae5\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"c27a6be7\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"0c728c1f\"\n>\n\tProgram<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"defe681f\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"57799dd0\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"e4ccf6c2\">\n\tThis two-day course dives right into how we can practically apply Kotlin in our Ktor applications, and how we can use the different modules to achieve the different properties we care about. At the end of your course, you will have built an entire microservice using Ktor in Kotlin.\u00a0<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<div class=\"block-column\" data-id=\"ae93a088\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"5aa7d231\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div\n\tclass=\"block-accordion js-block-accordion\"\n\tdata-close-adjacent=\"false\"\n>\n\t\t\n\n<div class=\"block-accordion-item js-block-accordion-item\" \n\taria-expanded=\"true\"\n>\n\t<button class=\"block-accordion-item__trigger js-block-accordion-item-trigger\" \n\t\taria-label=\"Overview\" \n\t\taria-controls=\"4dd26287\" \n\t\taria-expanded=\"true\" \n\t\tid=\"f58005ca\"\n\t>\n\t\t<h2\tclass=\"heading block-accordion-item__title\"\n\tdata-id=\"77a12ab7\"\n>\n\tOverview<\/h2>\t\t\n\t\t<span class=\"block-accordion-item__wrap-icon\" aria-hidden=\"true\">\n\t\t\t<i class=\"icon block-accordion-item__icon\" data-id=\"048f408a\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M13 5.5a1 1 0 1 0-2 0h2Zm-1.707 13.707a1 1 0 0 0 1.414 0l6.364-6.364a1 1 0 0 0-1.414-1.414L12 17.086l-5.657-5.657a1 1 0 0 0-1.414 1.414l6.364 6.364ZM11 5.5v13h2v-13h-2Z' fill='currentColor'\/><\/svg><\/i>\t\t<\/span>\n\t<\/button>\n\n\t<div role=\"region\" class=\"block-accordion-item__panel js-block-accordion-item-panel\" \n\t\taria-hidden=\"false\" \n\t\taria-labelledby=\"f58005ca\" \n\t\tid=\"4dd26287\"\n\t>\n\t\t<div class=\"block-accordion-item__content\">\n\t\t\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"c9e72e72\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-lists\" data-id=\"88fb390a\">\n\t<ul\tclass=\"lists block-lists__lists\"\n\tdata-id=\"e15c2d12\"\n>\n\t<li>Kotlin language basics.<\/li><li>Ktor and how to set it up.<\/li><li>Setting up endpoints, and serialization.<\/li><li>Build an end-to-end feature.<\/li><li>Testing your application.<\/li><\/ul><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"8e56d384\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"d87f78c5\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"052a4a92\"\n>\n\tWho is it for?<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"d57d0d80\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-columns\" data-id=\"25bbc755\">\n\t\n\n<div class=\"block-column\" data-id=\"3ecc7a57\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"0c077fed\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"9eb0d16c\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"1d417b25\">\n\tThis course is for everyone new to Kotlin or Ktor, and who would like to learn how to build server-side applications in Kotlin using Ktor. No hands-on experience is needed with Kotlin, but experience with a similar language is useful. No experience with server-side development is required, which means that this course is also suitable for Android developers who want to expand their Kotlin knowledge.\u00a0<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<div class=\"block-column\" data-id=\"801573a7\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"f9d59d25\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-bullet-list\">\n\t\t\t<p class=\"paragraph block-bullet-list__paragraph\" data-id=\"6509058c\">\n\tRequirements<\/p>\t<div class=\"block-bullet-list__columns\">\n\t\t\n\n<div class=\"block-bullet-item js-block-bullet-item\" data-id=\"305f2116\">\n\t<i class=\"icon block-bullet-item__icon\" data-id=\"fec34382\"  aria-hidden=\"true\">\n\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'><path d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z'\/><\/svg><\/i><p class=\"paragraph block-bullet-item__paragraph\" data-id=\"1581fead\">\n\tHands-on experience with software development or a programming language is useful.<\/p><\/div>\n\n\n\n<div class=\"block-bullet-item js-block-bullet-item\" data-id=\"0735d176\">\n\t<i class=\"icon block-bullet-item__icon\" data-id=\"00ce7ae9\"  aria-hidden=\"true\">\n\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'><path d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z'\/><\/svg><\/i><p class=\"paragraph block-bullet-item__paragraph\" data-id=\"a8ebe1ef\">\n\tNo Kotlin knowledge is required.<\/p><\/div>\n\n\t<\/div>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"f110e44a\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"d30c2bb2\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"adfa2eb9\"\n>\n\tWhy should I do this training?<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"54b19a0d\" \n\tdata-bg-on-inner=\"true\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-columns\" data-id=\"42ecf27d\">\n\t\n\n<div class=\"block-column\" data-id=\"df9cdffa\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"7a46b011\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-icon\">\n\t<i class=\"icon block-icon__icon\" data-id=\"fc6f3564\"  aria-hidden=\"true\">\n\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'><path d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z'\/><\/svg><\/i><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"32a1c9ca\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"b3678aa9\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"327c2f1e\"\n>\n\t<strong>Learn to build services in Ktor<\/strong><\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<div class=\"block-column\" data-id=\"b22a415c\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"e7617595\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-icon\">\n\t<i class=\"icon block-icon__icon\" data-id=\"6a40ed93\"  aria-hidden=\"true\">\n\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'><path d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z'\/><\/svg><\/i><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"23a270f8\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"afcb1bc4\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"32221210\"\n>\n\t<strong>Get deeper knowledge of practical Kotlin<\/strong><\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<div class=\"block-column\" data-id=\"c5f34eae\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"7049cc1b\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-icon\">\n\t<i class=\"icon block-icon__icon\" data-id=\"f4b915b2\"  aria-hidden=\"true\">\n\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'><path d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z'\/><\/svg><\/i><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"3121d238\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"0a7c06fb\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"4335448f\"\n>\n\t<strong>Learn a new tech stack fully written in Kotlin<\/strong><\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"fba9775b\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"ed17d65f\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"cf2f5048\"\n>\n\tWhat else <br>should I know?<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"f161ab28\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-columns\" data-id=\"7cfb8b50\">\n\t\n\n<div class=\"block-column\" data-id=\"a7e9dec2\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"bcc94b68\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"f8495b06\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"9826d849\">\n\tThe course combines theoretical sections with hands-on exercises.  Make sure to prepare your environment beforehand so that you can get the most out of your training time. If you\u2019re already familiar with Ktor or Kotlin, be sure to prepare and bring all your questions beforehand so that we can resolve all your doubts and questions.\u00a0<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<div class=\"block-column\" data-id=\"034d5b98\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"913e95cf\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-bullet-list\">\n\t\t\t<p class=\"paragraph block-bullet-list__paragraph\" data-id=\"93269597\">\n\tCourse information<\/p>\t<div class=\"block-bullet-list__columns\">\n\t\t\n\n<div class=\"block-bullet-item js-block-bullet-item\" data-id=\"2f47fe97\">\n\t<i class=\"icon block-bullet-item__icon\" data-id=\"9be2b8fa\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M11.25 11.25C11.4489 11.25 11.6397 11.329 11.7803 11.4697C11.921 11.6103 12 11.8011 12 12V15.75C12 15.9489 12.079 16.1397 12.2197 16.2803C12.3603 16.421 12.5511 16.5 12.75 16.5' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><path d='M11.625 9C12.2463 9 12.75 8.49632 12.75 7.875C12.75 7.25368 12.2463 6.75 11.625 6.75C11.0037 6.75 10.5 7.25368 10.5 7.875C10.5 8.49632 11.0037 9 11.625 9Z' fill='currentColor'\/><\/svg><\/i><p class=\"paragraph block-bullet-item__paragraph\" data-id=\"452856f5\">\n\tYou will need to bring your own laptop to training.<\/p><\/div>\n\n\n\n<div class=\"block-bullet-item js-block-bullet-item\" data-id=\"2e47767c\">\n\t<i class=\"icon block-bullet-item__icon\" data-id=\"82f7ade5\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M11.25 11.25C11.4489 11.25 11.6397 11.329 11.7803 11.4697C11.921 11.6103 12 11.8011 12 12V15.75C12 15.9489 12.079 16.1397 12.2197 16.2803C12.3603 16.421 12.5511 16.5 12.75 16.5' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><path d='M11.625 9C12.2463 9 12.75 8.49632 12.75 7.875C12.75 7.25368 12.2463 6.75 11.625 6.75C11.0037 6.75 10.5 7.25368 10.5 7.875C10.5 8.49632 11.0037 9 11.625 9Z' fill='currentColor'\/><\/svg><\/i><p class=\"paragraph block-bullet-item__paragraph\" data-id=\"cc4ab158\">\n\tInstallation of the Kotlin environment for practical sections.\u00a0<\/p><\/div>\n\n\n\n<div class=\"block-bullet-item js-block-bullet-item\" data-id=\"15996c4e\">\n\t<i class=\"icon block-bullet-item__icon\" data-id=\"d1595919\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M11.25 11.25C11.4489 11.25 11.6397 11.329 11.7803 11.4697C11.921 11.6103 12 11.8011 12 12V15.75C12 15.9489 12.079 16.1397 12.2197 16.2803C12.3603 16.421 12.5511 16.5 12.75 16.5' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><path d='M11.625 9C12.2463 9 12.75 8.49632 12.75 7.875C12.75 7.25368 12.2463 6.75 11.625 6.75C11.0037 6.75 10.5 7.25368 10.5 7.875C10.5 8.49632 11.0037 9 11.625 9Z' fill='currentColor'\/><\/svg><\/i><p class=\"paragraph block-bullet-item__paragraph\" data-id=\"ccd23d26\">\n\tBring plenty of energy and motivation to level up your Kotlin skills.<\/p><\/div>\n\n\n\n<div class=\"block-bullet-item js-block-bullet-item\" data-id=\"ed967906\">\n\t<i class=\"icon block-bullet-item__icon\" data-id=\"e8d8ad2c\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M11.25 11.25C11.4489 11.25 11.6397 11.329 11.7803 11.4697C11.921 11.6103 12 11.8011 12 12V15.75C12 15.9489 12.079 16.1397 12.2197 16.2803C12.3603 16.421 12.5511 16.5 12.75 16.5' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><path d='M11.625 9C12.2463 9 12.75 8.49632 12.75 7.875C12.75 7.25368 12.2463 6.75 11.625 6.75C11.0037 6.75 10.5 7.25368 10.5 7.875C10.5 8.49632 11.0037 9 11.625 9Z' fill='currentColor'\/><\/svg><\/i><p class=\"paragraph block-bullet-item__paragraph\" data-id=\"eacf2289\">\n\tOur Kotlin experts will teach you the dos and don&#8217;ts.<\/p><\/div>\n\n\t<\/div>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"1880a885\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div\n\tdata-id=\"f58a8770\"\n\tclass=\"block-course-list js-block-course-list js-block-course-list-f58a8770\"\n\t>\n\t<h2\tclass=\"heading block-course-list__heading\"\n\tdata-id=\"0c0a2d74\"\n>\n\tUpcoming courses<\/h2><a class=\"btn block-course-list__btn\" title=\"View all trainings\" data-id=\"03b7cbd5\" href=\"https:\/\/academy.xebia.com\/us\/training\/\">\n\t\n\t\t\t<span>View all trainings<\/span>\n\t\n\t<\/a>\n\t<div class=\"block-course-list__slider-wrapper\">\n\t\t<div class=\"block-course-list__slider\">\n\t\t\t<div\n\t\t\t\tclass=\"block-course-list__swiper js-block-course-list-swiper swiper\"\n\t\t\t\tdata-allow-keyboard-controls=\"1\"\n\t\t\t>\n\t\t\t\t<div class=\"swiper-wrapper block-course-list__swiper-wrapper\">\n\t\t\t\t\t<div class=\"course-list-item swiper-slide js-tippy-container-isolated\" data-id=\"47b63c8b\">\n\t<a class=\"btn course-list-item__btn course-list-item__heading-link\" title=\"MLOps on GCP\" data-id=\"cd74e2fd\" href=\"https:\/\/academy.xebia.com\/us\/training\/mlops-on-gcp\/\">\n\t\n\t\t\t<span>MLOps on GCP<\/span>\n\t\n\t<\/a><p class=\"paragraph course-list-item__paragraph\" data-id=\"23896ba6\">\n\tWith this course, you will discover what MLOps is and how you can apply it in GCP (Google Cloud Platform). For example, you will learn more about Google Cloud&#8217;s Vertex AI, Cloud Run, and Cloud Function. This course is aimed at people with Python skills and general ML experience.<\/p>\t\t\n\t<div class=\"course-list-item__details-row\">\n\t\t<div class=\"tags course-list-item__tags js-tags\">\n\t\n\t\t<div class=\"tags__tag js-tags-tag tags__tag-show js-tags-tag-show\">\n\t\t\t<span >\t\t\tGoogle Cloud Platform (GCP)\t\t\t<\/span>\n\t\t<\/div>\n\n\t\n\t\t<div class=\"tags__tag js-tags-tag\">\n\t\t\t<span >\t\t\tMachine Learning\t\t\t<\/span>\n\t\t<\/div>\n\n\t\n\t\t<div class=\"tags__tag js-tags-tag\">\n\t\t\t<span data-training-meta-p-duration>\t\t\t1 day\t\t\t<\/span>\n\t\t<\/div>\n\n\t\n\t\t<div class=\"tags__tag js-tags-tag\">\n\t\t\t<span >\t\t\tIn Person\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<button\tclass=\"btn tags__show-more js-tags-show-more\"\n\tdata-id=\"9e09068e\">\n\t<i class=\"icon btn__show-more\" data-id=\"1146ef7a\"  aria-hidden=\"true\">\n\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' fill='none' viewBox='0 0 25 24'><path stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 12h10M12 7v10'\/><\/svg><\/i>\n\t\n\t<\/button>\t<div class=\"tags__tippy-template js-tags-tippy-template\">\n\t\t<div class=\"tags__head\">\n\t\t\t<span><\/span>\n\t\t\t<button\tclass=\"btn tags__close js-tags-close\"\n\tdata-id=\"07fe6746\">\n\t<i class=\"icon btn__close\" data-id=\"09325dc1\"  aria-hidden=\"true\">\n\t<svg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M15 5L5.00103 14.999' stroke='#6A1D57' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><path d='M15 14.998L5.00103 4.99907' stroke='#6A1D57' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><\/svg><\/i>\n\t\n\t<\/button>\t\t<\/div>\n\t<\/div>\n<\/div>\t\t\t<div class=\"course-list-item__date\">\n\t\t\t\t<p class=\"paragraph course-list-item__date-string\" data-id=\"86c359e6\">\n\tNext:<\/p><p class=\"paragraph course-list-item__date-value\" data-id=\"2eb3168c\">\n\t26 Aug, 2026<\/p>\t\t\t<\/div>\n\t\t\t\t\t<div class=\"course-list-item__price\">\n\t\t\t\t<p class=\"paragraph course-list-item__price-string\" data-id=\"3f63978c\">\n\tFrom:<\/p><p class=\"paragraph course-list-item__price-value\" data-id=\"9004aef7\">\n\t\u20ac1000<\/p>\t\t\t<\/div>\n\t\t<a class=\"btn course-list-item__btn\" title=\"View training\" data-id=\"b82e0d2f\" href=\"https:\/\/academy.xebia.com\/us\/training\/mlops-on-gcp\/\">\n\t\n\t\t\t<span>View training<\/span>\n\t\n\t<\/a>\t<\/div>\n\n<\/div><div class=\"course-list-item swiper-slide js-tippy-container-isolated\" data-id=\"014603fe\">\n\t<h2\tclass=\"heading course-list-item__heading\"\n\tdata-id=\"47b59ee5\"\n>\n\tCan\u2019t find the course you\u2019re looking for? There\u2019s more!\n<\/h2>\t\t\n\t<div class=\"course-list-item__details-row\">\n\t\t\t\t\t<div class=\"course-list-item__date\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<a class=\"btn course-list-item__btn\" title=\"View all courses\" data-id=\"77e2e12b\" href=\"https:\/\/academy.xebia.com\/us\/training\/\">\n\t\n\t\t\t<span>View all courses<\/span>\n\t\n\t<\/a>\t<\/div>\n\n<\/div>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"block-course-list__controls swiper-pagination\"><\/div>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":105,"featured_media":0,"template":"","tags":[],"class_list":["post-54115","course","type-course","status-publish","hentry"],"acf":{"field_BrokersfeedIntroduction":"","field_BrokersfeedDescription":"","field_BrokersfeedFormat":"","field_BrokersfeedSubjects":"","field_BrokersfeedTakeaways":"","field_BrokersfeedTargetAudience":"","field_BrokersfeedPrerequisites":"","field_BrokersfeedCertificationValue":"","field_BrokersfeedNextSteps":"","field_BrokersfeedBanner":"","course_xebia_event_ids":"","course_xebia_event_group_id":"","course_xebia_discipline":"","course_xebia_sorting_order":5},"raw_content":null,"_links":{"self":[{"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/courses\/54115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/courses"}],"about":[{"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/types\/course"}],"author":[{"embeddable":true,"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/users\/105"}],"version-history":[{"count":4,"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/courses\/54115\/revisions"}],"predecessor-version":[{"id":56933,"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/courses\/54115\/revisions\/56933"}],"wp:attachment":[{"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/media?parent=54115"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/tags?post=54115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}