Building Scalable Web Services in GoLang with Docker
Guided Project Overview
Microservices, REST APIs, and application containers have completely changed the landscape of backend web service development -- for both startups and large enterprises alike. Among the most battle-tested, well-structured, maintainable, and performant technologies for building these modern web services is the Go (or GoLang). In fact, even Docker itself is built almost entirely in Go! Why is that? Because the Go language was engineered internally at Google for this purpose specifically!
Large teams also find that Go's highly-approachable syntax, types, and libraries make it the optimal language for Java, C, and C developers looking to build faster, simpler, and more maintainable software -- without having to pick up a language or toolset that feels completely foreign. For these reasons, Go has also consistently ranked as one of the 'most loved' languages in StackOverflow's annual developer survey!
Engineers From These Top Companies and Universities Trust EXLskills
1M Professionals | 100 Institutions
So you want to build web services with Go and Docker? Awesome, that's exactly what you'll be able to do after completing this EXLskills guided project -- with the live help of Sasha Varlamov, a seasoned Go developer based in San Francisco with contributions to open Go projects since 2014, primarily focused on agile backend web service development! On the first day of this guided project, you'll get the complete set of materials to ensure that you can start working not only quickly, but also correctly, with guides on industry best practices, standards, and common gotchas to avoid the common pitfalls that new developers frequently encounter in the field.
By the end of this guided project, you'll have a framework in your mind (and in code!) to develop scalable, idiomatic, and maintainable scalable web services in Go with Docker! You'll also walk out with solid industry-leading answers to the following questions:
What makes a modern web service scalable?
What are common Go pitfalls when developing a web service?
What stable and free tools/libraries/dependencies are recommend to develop a scalable web service in Go?
What are the key guidelines I should follow to develop idiomatic Go code?
How do I structure my project to ensure readability, maintainability, and code reusability?
How do I connect and query my relational (SQL) database in Go with and without an ORM?
How should I monitor my server in production?
What other reputable resources can I continue use after this guided project to learn more on these topics?
The most successful EXLskills learners invest between 15 and 30-hours per week into course and project-related work. This will ensure that you exceed the requirements, retain the requisite information, and master all of the skills objectives in the course. Those who are already well-versed in the field, or a related topic, may find that they are able to succeed with a lower investment, however, do so at your own risk!
EXLskills instructors will be available throughout this guided project to ensure that you always have access to expert help, relevant resources, and human-curated feedback on your individual work. Your instructors will also have office hours and private instruction time available on their instructor pages that will be shared once you enroll, so that you are able to meet directly with your favorite instructor -- either during or after the guided project.
In order to be successful in this course, we recommend that you have the following prior to the start date of your cohort:
- Basic understanding of Go concepts and syntax. For former Java, C, or C developers, this can be satisfied by completing the Go Tour here
- Previous experience developing back-end web applications in another stack, e.g., NodeJS, Spring, etc. so that you have familiarity with the essential concepts of web services
- Basic shell/bash skills required for navigating your system
- A device that enables you to develop applications in your favorite IDE and run Docker and Go (ideally, you will have at least a dual-boot option to Linux or OS X)
We also suggest that learners join this guided project with their own goals, so prior to taking the course, we'll go through an exercise to define your own personal desired outcomes after completing this guided project so that you can take your new skills and flourish in the real world!
The EXLskills learning community includes a vast network of industry partners and mentors and as a student, you'll be working virtually with a diverse group of high-achieving students from the top universities around the world. Many professionals of our learning community work at companies such as Google, Oracle, Apple, and more.
Each cohort may also collaborate to create local or virtual chapter meetups and events to discuss their projects, technologies, or just network!
December 3rd - 14th, 2018: Self-paced Cohort with Live Support
This introductory cohort will kickoff on December 3rd and final project submissions must be submitted by December 14th to receive full feedback.
You'll receive all the benefits and materials mentioned above in the course overview plus:
- All live webinars available to learners will be recorded and available for your review (even if you can't make it to the live session)
- Each learner may submit their project for human assessment and feedback up to 3 times and is required to pass at least once in order to receive their certificate of completion
- Guaranteed 24-hour turnaround time on project submissions with detailed feedback
- Live chat support available the chat widget on EXLskills.com
- Live video support available in 15-minute increments of $20
- Instructors are based in San Francisco, CA and local learners are welcome to visit the EXLskills office at 44 Tehama St., by scheduling a meeting via the chat
- Recieve updated/corrected materials from future cohorts for 6-months after this cohort ends
- Not happy? This is an introductory cohort, so you'll receive a 100% Refund within 7-days of the end of the course if you're not completely satisfied with your experience!
As a gift for participating in this introductory cohort, each graduate will also receive a FREE EXLskills hoodie (worth $30) after the cohort ends!
Note: The price for future cohorts will be significantly higher. This is an introductory cohort, which means that it is one of our first runs of this guided project and we offer a greatly discounted price in order to refine our lessons, materials, andEnroll Now! (Introductory Offer: $49)
NOTE: Sales End December 1st, Limited Spots Remain!
Since his first programming job in high school, Sasha has gained an extensive background in full-stack web development, is a frequent hackathon hacker, and is the Co-founder and CEO of EXL Inc. His core technical skills cover GoLang, Java, Docker, AWS, SQL (primarily Aurora & MySQL), HTML/CSS/JS, TypeScript, and MongoDB! He has an energetic, fast-paced teaching style and enjoys student code-review! Sasha teaches in English, but also has conversational proficiency in Russian. GitHub