Skip to main content
DEVIS
Menu

Practical IT training for developers and teams

We bring experience from our own development projects into our training and pass it on to other developers. Our C#, .NET, Python, JavaScript, TypeScript, modern frameworks, testing and Git courses are built on clear explanations and practical exercises. We tailor the content to participants' experience and the technologies they use.

On this page: Course catalog · Frequently asked questions

Course catalog

Courses found: 37

    C# and .NET

    7 / 7

    Foundational C# · .NET

    C# from your first project to a standalone application

    Build a solid foundation for C# and .NET development. Through practical exercises you'll learn to work with data, control flow, methods, classes, collections and exceptions, plus Git, packages and publishing an application.

    Who it's for and prerequisites

    Who it's for: Developers starting with C# or switching from another language.

    Prerequisites: Basic algorithmic thinking and at least some programming experience.

    Request this training

    csharp-foundations

    Advanced C# · .NET

    C# in depth: a modern language, clearer code

    Deepen your object-oriented design and work with generics, delegates and events. Try out lambda expressions, LINQ and modern language constructs, and understand memory and resource management in .NET.

    Who it's for and prerequisites

    Who it's for: Programmers who already build simpler C# applications.

    Prerequisites: Methods, classes, collections, exceptions and OOP basics.

    Request this training

    csharp-advanced

    Intermediate C# · .NET · ADO.NET · SQL

    Databases in C#: working directly with ADO.NET

    Learn to control communication between a .NET application and a database. Try parameterized queries, stored procedures, reading results, transactions, connection management and asynchronous data access.

    Who it's for and prerequisites

    Who it's for: .NET developers working with relational databases.

    Prerequisites: C# or another .NET language, Visual Studio and basic SQL.

    Request this training

    dotnet-adonet

    Intermediate C# · .NET · Entity Framework Core · SQL

    Entity Framework Core: from object model to database

    Connect your application's object model to a relational database. Learn to map entities and relationships, build LINQ queries, save changes, and work with data loading, transactions and schema migrations.

    Who it's for and prerequisites

    Who it's for: C# developers and architects of data-driven applications.

    Prerequisites: Good knowledge of C# and object-oriented programming.

    Request this training

    dotnet-entity-framework

    Advanced C# · .NET

    Concurrent work in C#: asynchronous and safe

    Understand the difference between asynchronous and parallel work. Learn to use Task, async/await and parallel processing, and safely coordinate threads and shared data.

    Who it's for and prerequisites

    Who it's for: More experienced C# developers.

    Prerequisites: Practical experience developing in C#.

    Request this training

    dotnet-concurrency

    Intermediate C# · .NET MAUI · XAML

    Cross-platform applications with .NET MAUI

    Build the foundation of a Windows, Android and iOS application with shared C# code. Try XAML interfaces, navigation, data handling, web services, MVVM and distribution options.

    Who it's for and prerequisites

    Who it's for: .NET developers who want to build cross-platform applications.

    Prerequisites: C#, Visual Studio and basic XAML.

    Request this training

    dotnet-maui-applications

    Advanced C# · .NET

    Design patterns in C# and .NET

    Learn to recognize recurring design problems and choose the right solutions. Practical examples connect design patterns with object-oriented analysis, architecture and refactoring.

    Who it's for and prerequisites

    Who it's for: .NET developers who want to improve application design and maintainability.

    Prerequisites: C# or VB.NET, OOP basics and basic familiarity with UML.

    Request this training

    dotnet-design-patterns

    Python

    5 / 5

    Foundational Python

    Python for your own scripts and applications

    Learn to turn requirements into clear Python code. From data types and collections you'll move on to functions, working with files, error handling and the basics of object-oriented programming.

    Who it's for and prerequisites

    Who it's for: People starting with Python and developers coming from other languages.

    Prerequisites: Basic familiarity with algorithmic thinking and programming.

    Request this training

    python-foundations

    Advanced Python

    Python in depth: from scripts to well-designed code

    Extend your Python with practices for larger, better-structured programs. Connect OOP with iterators, generators and decorators, and work with modules, packages, virtual environments and data formats.

    Who it's for and prerequisites

    Who it's for: People who already use Python and want to better understand its capabilities.

    Prerequisites: Functions, collections, conditionals, loops and basic Python work.

    Request this training

    python-advanced

    Intermediate Python · SQL · SQLAlchemy · NoSQL

    Databases in Python: SQL and NoSQL in practice

    Learn to access relational databases (PostgreSQL, MariaDB, MS SQL) from Python as well as NoSQL stores like MongoDB or Cassandra. Try direct SQL queries and object-relational mapping with SQLAlchemy, and get a sense of when to choose which approach.

    Who it's for and prerequisites

    Who it's for: More experienced Python developers who need to work with a variety of data sources.

    Prerequisites: Python at an advanced level.

    Request this training

    python-databases

    Intermediate Python · Flask · Jinja2 · REST

    Web applications in Python with Flask

    Learn to build web applications and services in Python using the Flask framework and the Jinja2 templating engine. Design and expose your own REST API, and practice handling forms and web requests.

    Who it's for and prerequisites

    Who it's for: More experienced Python developers who want to build web applications and APIs.

    Prerequisites: Python at an advanced level.

    Request this training

    python-web-applications

    Advanced Python · asyncio · threading · multiprocessing

    Concurrent programming in Python: threads, processes and asyncio

    Understand the difference between threads, processes and asynchronous IO in Python, and the limits the GIL brings. Practice multithreading, multiprocessing and modern asyncio with async/await, and learn to safely coordinate shared resources.

    Who it's for and prerequisites

    Who it's for: Python developers who want to speed up their applications with concurrent processing.

    Prerequisites: Python basics and object-oriented programming in Python.

    Request this training

    python-concurrency

    JavaScript and TypeScript

    7 / 7

    Foundational JavaScript

    JavaScript with understanding: a foundation for web development

    Learn to work with data, functions, arrays and objects, control program flow and debug. Add modern function syntax and collection handling as a foundation for web applications and TypeScript.

    Who it's for and prerequisites

    Who it's for: Programmers starting with JavaScript or switching from another language.

    Prerequisites: Basics of algorithmic thinking and programming.

    Request this training

    javascript-foundations

    Intermediate JavaScript · DOM · HTML · CSS

    Interactive pages with JavaScript and the DOM

    Learn to find and change document elements, react to events, and modify page content and appearance. Practice input handling, validation and event propagation on forms.

    Who it's for and prerequisites

    Who it's for: Beginning web developers with JavaScript basics.

    Prerequisites: Basic HTML and JavaScript syntax.

    Request this training

    javascript-dom

    Intermediate JavaScript

    JavaScript in depth: objects, functions and asynchronous code

    Deepen your work with functions, closures, objects, classes and prototypes. Add error handling, JSON and the basics of Promises and async/await for more confidence in application code.

    Who it's for and prerequisites

    Who it's for: Programmers who already master JavaScript basics.

    Prerequisites: Variables, functions, collections, conditionals and loops.

    Request this training

    javascript-advanced

    Intermediate TypeScript · JavaScript

    TypeScript for clearer, safer code

    Learn to describe data structure and code interfaces so type checking helps during development. From annotations and object types you'll move on to type narrowing, interfaces, generics and more advanced type composition.

    Who it's for and prerequisites

    Who it's for: JavaScript developers who want to use TypeScript.

    Prerequisites: Good knowledge of JavaScript including functions and OOP.

    Request this training

    typescript-practical

    Advanced JavaScript · RxJS

    Asynchronous JavaScript: from Promises to data streams

    Understand how the event loop works, callbacks and combining Promises, practice async/await, and follow up with a reactive approach using RxJS. Practical examples show coordinating multiple asynchronous sources.

    Who it's for and prerequisites

    Who it's for: JavaScript developers working with communication, events and asynchronous code.

    Prerequisites: JavaScript at an intermediate level.

    Request this training

    javascript-async

    Intermediate JavaScript · WebSocket · Node.js

    Live application communication over WebSocket

    Build a WebSocket server in Node.js and a client in both the browser and Node.js. Practice two-way communication, broadcasting messages to multiple clients, and working with data streams.

    Who it's for and prerequisites

    Who it's for: JavaScript developers who need ongoing client-server communication.

    Prerequisites: JavaScript at an intermediate level.

    Request this training

    javascript-websocket

    Intermediate JavaScript · jQuery · jQuery UI

    jQuery for maintaining and extending web interfaces

    Gain confidence maintaining websites that use jQuery. Learn to select elements, change content and appearance, handle events, traverse the DOM, and use basic jQuery UI elements.

    Who it's for and prerequisites

    Who it's for: Developers working with existing websites that use jQuery.

    Prerequisites: Basic JavaScript, HTML and CSS.

    Request this training

    jquery-practical

    Front-end frameworks and state management

    6 / 6

    Foundational JavaScript · Vue.js

    Vue.js: build your own web application

    Work through building a Vue application, from displaying data to forms. Learn to work with events, components, navigation, the lifecycle and shared state.

    Who it's for and prerequisites

    Who it's for: Web developers starting with Vue.js.

    Prerequisites: JavaScript basics and modern syntax.

    Request this training

    vue-applications

    Foundational JavaScript · React

    React in practice: from components to a working application

    In React you'll try out rendering content, events, forms, state and basic hooks. Extend the application with backend communication and navigation between screens.

    Who it's for and prerequisites

    Who it's for: JavaScript developers who want to start with React.

    Prerequisites: JavaScript at an intermediate level and knowledge of the DOM.

    Request this training

    react-foundations

    Advanced JavaScript · React

    React in depth: hooks, state and rendering

    Deepen your understanding of state and UI updates. Practice built-in and custom hooks, refs, reducers and memoization, and get familiar with Suspense and server components.

    Who it's for and prerequisites

    Who it's for: Developers who already build applications in React.

    Prerequisites: Good knowledge of JavaScript and React including components, state and hooks.

    Request this training

    react-advanced

    Intermediate JavaScript · React · Redux · Redux Toolkit

    Redux Toolkit: clear state management in React

    Learn to manage shared state in React using Redux Toolkit. Practical exercises connect the store, actions, reducers and selectors, and organize application state into clear parts.

    Who it's for and prerequisites

    Who it's for: JavaScript developers who need to systematically manage shared state.

    Prerequisites: JavaScript at an intermediate level and React basics including components, state and hooks.

    Request this training

    redux-state-management

    Foundational JavaScript · SolidJS

    SolidJS: reactive interfaces with signals

    In SolidJS you'll connect components with signals, effects and derived values. Practice user interaction, state sharing and backend communication.

    Who it's for and prerequisites

    Who it's for: JavaScript developers starting with SolidJS.

    Prerequisites: JavaScript at an intermediate level and knowledge of the DOM.

    Request this training

    solidjs-applications

    Foundational JavaScript · Svelte · SvelteKit

    Svelte: from reactive components to an application

    In Svelte you'll practice rendering content, working with forms and component collaboration. Follow up with state management, backend communication and a basic orientation in SvelteKit.

    Who it's for and prerequisites

    Who it's for: JavaScript developers who want to build applications in Svelte.

    Prerequisites: JavaScript at an intermediate level and knowledge of the DOM.

    Request this training

    svelte-applications

    Other languages and tools

    4 / 4

    Foundational Go

    Go: a foundation for simple, efficient programs

    Learn Go's core syntax and data types, working with arrays, slices and maps, and writing your own functions and types. You'll also try concurrent programming with goroutines and channels, the feature that makes Go a popular choice for fast network and server applications.

    Who it's for and prerequisites

    Who it's for: Developers who want to start programming in Go.

    Prerequisites: Basic algorithmic thinking and experience programming in any language.

    Request this training

    go-foundations

    Foundational Perl

    Perl fundamentals: scripting and working with files

    Learn Perl's core syntax, variables, arrays and hashes, plus working with files and regular expressions. Write your own subroutines and use CPAN modules for everyday scripting tasks.

    Who it's for and prerequisites

    Who it's for: UNIX/Windows programmers and system administrators who want to start with Perl.

    Prerequisites: Programming basics; familiarity with UNIX is a plus.

    Request this training

    perl-foundations

    Advanced Perl · DBI · XML · CGI

    Perl in depth: objects, XML and databases

    Deepen your work with references and more complex data structures, and learn object-oriented programming in Perl. Process XML, talk to databases through DBI, and write network applications including IPv6 support.

    Who it's for and prerequisites

    Who it's for: Developers who already use Perl and want to master advanced techniques.

    Prerequisites: Knowledge of Perl at introductory-course level.

    Request this training

    perl-advanced

    Intermediate Regulární výrazy · PCRE · POSIX

    Regular expressions for searching and transforming text

    Learn to build regular expressions for searching, replacing and splitting text, and understand the differences between common dialects (POSIX, PCRE). Practical examples let you try expressions across languages and tools such as JavaScript, Python, PHP or grep.

    Who it's for and prerequisites

    Who it's for: Developers and other users who need to work with text efficiently.

    Prerequisites: Basic experience with programming or working from the command line.

    Request this training

    regular-expressions

    Testing and quality

    4 / 4

    Intermediate JavaScript · Jest

    Jest in practice: tests that help during development

    Learn to choose test cases and turn them into automated tests. In Jest you'll test functions, classes and asynchronous code, and try test setup, mocking and snapshots.

    Who it's for and prerequisites

    Who it's for: JavaScript developers introducing or extending automated testing.

    Prerequisites: Functions, OOP and basic Promise handling.

    Request this training

    javascript-testing-jest

    Intermediate C# · .NET · MSTest · NUnit · xUnit · Moq

    Testable C# code and automated testing in .NET

    Connect testable code design with building automated tests. Cover unit tests, test data, dependency isolation, MSTest, other frameworks, TDD and coverage evaluation.

    Who it's for and prerequisites

    Who it's for: C# developers introducing or growing automated testing.

    Prerequisites: C# at an intermediate level; testing experience is a plus.

    Request this training

    dotnet-automated-testing

    Intermediate REST · SOAP · OpenAPI · SoapUI

    Verifying APIs: from a request to an automated scenario

    Build repeatable scenarios for both REST and SOAP, chain requests with parameters, and evaluate responses. Also try service simulation, load scenarios and running tests from the command line.

    Who it's for and prerequisites

    Who it's for: Developers and testers working with web APIs.

    Prerequisites: Practical programming experience in a common language.

    Request this training

    api-testing

    Intermediate Python · REST · SOAP · Mock

    Testing in Python: from unit tests to APIs

    Learn the basics of test-driven development and how to test both REST and SOAP interfaces. Try mocking dependencies and wiring tests into an automated run, so testing becomes a routine part of development.

    Who it's for and prerequisites

    Who it's for: Python developers introducing automated testing, and testers working with Python.

    Prerequisites: Python basics.

    Request this training

    python-testing

    Microsoft Office and SharePoint

    3 / 3

    Intermediate SharePoint Framework (SPFx) · React · TypeScript · Microsoft Graph API

    SharePoint Online development with SPFx

    Learn to build and extend SharePoint Online solutions using the SharePoint Framework (SPFx) with React and Fluent UI. Connect your application to data through REST and the Microsoft Graph API, and cover deployment, upgrades and security basics.

    Who it's for and prerequisites

    Who it's for: Web developers who want to independently build and extend SharePoint Online solutions.

    Prerequisites: Web technology basics and programming in JavaScript or TypeScript.

    Request this training

    sharepoint-development

    Foundational Excel · VBA

    Excel and VBA: automation from the ground up

    Learn to record and edit macros and write your own VBA code with variables, conditionals and custom procedures. Work through Excel's object model (Range, Worksheet, Workbook, Application) and cover basic error handling and debugging.

    Who it's for and prerequisites

    Who it's for: Excel users who want to automate repetitive tasks with macros.

    Prerequisites: Everyday familiarity with Excel; basic programming in any language is a plus.

    Request this training

    excel-vba-foundations

    Advanced Excel · VBA · ADO · .NET

    Excel and VBA in depth: add-ins and database integration

    Extend VBA with custom forms, controls and Excel UI customizations, and learn to build your own Add-In. Connect Excel to a database through ADO and SQL Server, and work with the file system and the Windows registry.

    Who it's for and prerequisites

    Who it's for: Developers who want to take Excel automation to a professional level.

    Prerequisites: Knowledge of Excel and VBA at introductory-course level (Excel's object model).

    Request this training

    excel-vba-advanced

    Git and team collaboration

    1 / 1

    Foundational Git

    Git for everyday development and team collaboration

    Practice commits, branches, merging and resolving conflicts, plus working with a remote repository. Learn to navigate history, revert changes, and use rebase and other tools to fit your team's workflow.

    Who it's for and prerequisites

    Who it's for: Developers and other users who need to version files and collaborate in Git.

    Prerequisites: Everyday familiarity with an operating system; programming helps but isn't required.

    Request this training

    git-team-workflow

    Frequently Asked Questions

    How does your development experience carry over into training?

    We bring experience from our own development projects into our training and pass it on to other developers. We connect the explanation with practical examples and exercises, and explain when particular approaches fit and what to watch out for. The goal is for participants to be able to apply what they've learned on their own in their work.

    How do we know which course is right for us?

    Compare the course's focus and prerequisites with the participants' experience. If you're not sure, tell us what they already know and what they need to learn — we'll recommend a suitable course.

    Are the foundational courses suitable for complete beginners?

    It depends on the specific course. The "Foundational" label means an introduction to that particular technology; some courses already assume basic programming experience. The stated prerequisites are always what matters.

    Can the content be tailored to our team?

    Yes. Together we'll choose topics based on participants' knowledge and what they need to apply in practice. We'll agree on scope and required prior knowledge before the training.

    What if participants have different levels of knowledge?

    Mention it in your inquiry. We'll assess together whether suitable shared content can be put together, or whether it makes more sense to split participants by experience.

    How do we arrange the date, format and price of the training?

    On the chosen course, select "Request this training" and provide the number of participants and your preferences. We'll get in touch to refine the content, date, format and price. Submitting an inquiry is not a booking of a date.

    Can we request training even if we didn't find a suitable course in the catalog?

    Yes. In the general training inquiry, describe the topic, participants' experience and the desired outcome. We'll assess whether we can prepare suitable content for you.

    Want to arrange specific training?

    Request training