There are currently no reviews. Be the first!
About OTUS
Location:
OTUS is an educational platform from Russia, with over 70 authored courses for IT specialists from different fields, such as programming, testing, infrastructure, information security, management, and Data Science. Our unique feature is that we offer... Read More in-depth knowledge for specialists with experience (Junior+). Our mission is to make learning meaningful by realizing the connection between employers' expectations, specialists' competences and teachers' capabilities.
Read LessDo you represent this school? Suggest edits.
Courses
Administrator Linux.Professional
This Course Will Give You:
1. Training stands are provided by the course partner AdvancedHosting
2. Knowledge of Linux architecture.
3. Mastering modern methods and tools for data analysis and processing.
4. Ability to select a configuration for the necessary tasks, manage processes and ensure the security of the system.
5. Possession of the basic working tools of the system administrator.
6. Understanding the features of deployment, configuration and maintenance of networks based on Linux.
7. Opportunity to improve the acquired skills on virtual stands.
8. Ability to quickly solve emerging problems and ensure stable and uninterrupted operation of the system.
Prerequisite Knowledge:
Understanding networking fundamentals: addressing and static routing in IPv4 networks.
Experience in installing a Linux system and setting up your workplace (it is best to take the course on your machine with Linux OS).
Experience in installing virtualization systems: VirtualBox or something kvm-based.
Algorithms and Data Structures
You will broaden your horizons and gain experience in the implementation of classical algorithms, which will help you create algorithms for solving business problems. It is the understanding of the principles of the algorithms and structure that can increase the performance of programs and improve quality.
The program includes the most famous applied algorithms that are usually required of applicants for Middle and Senior positions in large IT companies.
The course well suits for back-end developers and system programmers who write software applications, incl. mobile. It will be really helpful primarily for Junior Specialists to strengthen their fundamental programming skills.
Prerequisite Knowledge:
Programming experience in any programming language (beginner or intermediate level)
Knowledge of elementary mathematics in the scope of high school
Minimal knowledge of algorithms and data structures and a desire to develop in the field of their study
Algorithms, Data Structures
Android Developer. Basic
About the Course:
If you already have experience in programming and want to become an Android developer on Kotlin, we will help you with this.
What You Will Learn:
- how to professionally develop applications for Android;
- prepare for the interview;
- create a portfolio using modern libraries and frameworks.
There are many advanced topics on the course. For example: Android Architecture Components, Mobile App Testing, RxJava, Dagger 2, Android multithreading, Koin, Material Design, etc.
Android
Android Developer. Professional
The course is designed for Android developers with at least 1 year of experience, with knowledge of Java or Kotlin.
What You Will Learn:
Deep understanding of the Android SDK.
Organize infrastructure.
Design the architecture of the application.
Application testing.
Use modern libraries and frameworks.
Advantages of the Сourse:
Deep dive into industrial Android development
A lot of practice and live communication with teachers
Building infrastructure from scratch
The entire course is built in the Kotlin language
Deep Learning Gradle, Dagger 2, RxJava 2, and the Android Application Testing Process
Application architecture design
Final project
Prerequisite Knowledge :
1+ year Android development experience
Knowledge of Java Core or Kotlin
Introducing git version control
Knowledge of popular frameworks: Dagger, RxJava, Android architecture components
Experience with networking and data storage in Android
Understanding RESTful API Principles
Android
C++ Developer. Professional
What You Will Learn:
Ability to write C ++ correctly.
Understanding of modern problems of the language and the specifics of its application.
Mastering design patterns, principles of writing multi-threaded code.
Understanding of how to interact with the network, store and process large amounts of data.
Knowledge of the nuances of C ++ programming that distinguish a Middle-level developer from a Junior-level developer.
Prerequisite Knowledge:
1. The syntax of the programming language of the C ++ 03 standard:
- Variables, functions, pointers
- Classes, structures, union
- Operator redefinition
- Inheritance
- Exceptions
- Understanding templates in C ++
2. Fundamentals of computer science:
- Simple algorithms and their complexity estimates
- Data structures and their applications
- Principles of working with memory - stack, heap
3. Basics of SQL - some of the lessons are devoted to the study of working with databases.
4. Fundamentals of multi-threaded programming: deadlock should not put you in a deadlock.
C++
CI/CD
Practical intensive "CI / CD or Continuous Delivery with Docker and Kubernetes"
We'll show you how to integrate continuous delivery into your team to speed rollout and eliminate downtime. Participants will set up an automated pipeline for delivering a microservice application in Kubernetes, learn how to manage the entire life cycle of an application.
During the short course you will be able to:
Make rolling out the code a simple and enjoyable push-one-button process that can be done dozens of times a day.
Deploy a scalable infrastructure to run microservices.
Create a transparent and understandable continuous delivery pipeline and roll out changes often and in small parts.
Do dozens of test benches a day for different teams and different versions of the product, while the configuration of the test bench will be almost identical to the combat environment.
Increase the speed of development, testing and roll-out by using the modern Docker container deployment automation system.
Get quick feedback from monitoring and logging systems at all major stages of the software life cycle.
Prerequisite Knowledge:
It is mandatory to complete a basic Docker course or similar knowledge and skills.
Experience with Linux on the command line.
Data Engineer
Learn to correctly deploy ML models! A course for everyone who wants to master new tools and engage in interesting tasks in the field of working with data.
This Course Will Give You:
understanding of the key ways of integrating, processing, storing big data
ability to work with components of the Hadoop ecosystem, distributed storage and platforms
practical skills in the development of data services, storefronts and applications
knowledge of the principles of organizing monitoring, orchestration, testing
The course will suit well for developers, DBMS administrators and everyone who is willing to to improve their professional level, master new tools and engage in interesting tasks in working with data.
After studying Data Engineering, you will become a sought-after specialist who can:
deploy, adjust and optimize data processing tools
adapt datasets for further work and analytics
create services that use the results of processing large data sizes
be responsible for the capacity of data in the company
Prerequisite Knowledge:
Java / Python development experience
Database basics: SQL, indexes, aggregation functions
Basic OS knowledge: working from the command line, SSH access
Advantages of the Course:
1. Case studies: implementation, tool use, optimization performance, problems, errors and applied results.
2. High practical focus:
During the course, we will incrementally create a working product that solves applied problems
3. A holistic picture of the schedule and tasks of modern business, the role of the Data Engineer in their solution
4. Demand from employers.
39 employers are already ready to invite graduates of the course for interviews
DevOps
The program of the course was created specifically for developers, testers, system administrators and will allow you to master the tools and specific techniques for the implementation of the following practices at a professional level:
1. Infrastructure as Code (IaC),
2. CI / CD,
3. continuous collection of metrics (monitoring and logging).
Additionally, within the framework of the cube, the following topics will be considered:
4. DevSecOps,
5. SRE,
6. the problem of storing "sensitive data",
7. Loki, Vault, Vagrant tools.
Prerequisite Knowledge:
- experience from development, testing or operation
- experience in administration of Linux or Windows systems
- knowledge of at least one programming language
Game QA
This Course Will Give You
You will receive training and practical skills with which you can apply for the position of Middle Tester in Russian and international game development companies.
During the course, you will delve into the specifics of game testing:
Find out what is the fundamental difference between the approach to testing game projects
Get to know popular QA tools
Learn to test games on different platforms: Mobile, PS, Xbox, Nintendo Switch, PC
Get to know the most popular game engines and learn how to work with them
Let's talk about automated testing in games, discuss the pitfalls and where to start
All these skills will allow you to systematically approach the testing of games, and thereby speed up the processes and identify non-obvious bugs.
Who is This Course For?
For junior testers with experience. The course will provide professional skills with which you can apply for Middle positions in leading companies in the gaming industry.
For those who have recently come to the IT direction. The knowledge and practice of testing games will allow you to stand out from other beginner applicants for Junior + positions.
If you are a fan of games and have a dream company that you would like to start working for, this course will give you the foundation and benefits you need to get the employer's attention.
Features of the Course:
You will learn how the testing of games is arranged in the most popular companies in the CIS.
Emphasis on testing mobile games.
Practice in the sections of testing mobile games, games for PC and autotests for engines
Let's analyze new and specific tools for testing in game development.
Let's highlight such a closed section as testing console games.
Industrial ML at Scale
This Course Will Give You:
You will master all the essential machine learning skills for streaming data and a distributed environment. The program includes the necessary knowledge from the fields of Data Science and Data Engineering, which will allow you to process big data and write distributed algorithms in Spark.
You will practice each module by doing your homework. At the end of the training, a final project awaits you, which will allow you to summarize all the knowledge gained and replenish your portfolio. It can be performed as part of work tasks on your dataset, or it can be a training project based on data provided by OTUS.
Who is This Course For?
For Machine Learning Professionals or Software Engineers who want to learn how to work with Big Data. Typically, such tasks are available in large IT companies with a large-scale digital product.
For Data Scientist who want to enhance their skillset with engineering skills. Thanks to the course, you will be able to process data and independently display the results of ML solutions in production.
You Will Learn to:
Use standard ML pipeline tools in a distributed environment;
Develop your own blocks for ML pipelines;
Adapt ML algorithms to a distributed environment and big data tools;
Use Spark, SparkML, Spark Streaming;
Develop algorithms for streaming data preparation for machine learning;
Provide quality control at all stages of the movement of ML-solutions into industrial operation.
Features of the Сourse:
A lot of practice with data
Up-to-date tools and technologies: Scala, Spark, Python, Docker
A wide range of skills from distributed ML and data streaming to production output
Live chat with experts on webinars and Slack chat
Prerequisite Knowledge:
Basic programming skills:
control structures, loops, recursion;
basic data structures: arrays, lists, dictionaries, trees;
basic principles of OOP;
acquaintance with one of the languages: Python, Java, Scala, C ++.
Mathematics:
linear algebra: vectors, matrices and their products;
matan: derivative of simple and composite functions;
Subtraction methods: gradient descent, Newtonian iterations;
probability theory: random events and quantities, mathematical expectation, variance.
Technology:
understanding of the basics of computing in the framework of the von Neumann architecture (processor, memory, cache, pluggable storage);
understanding of the general principles of relational DBMS, knowledge of SQL.