Tag: course

People from the below companies already attended my courses.

 

 

Description

This course reveals key concepts, principles, and approaches that are used to design systems where security is a first-class quality attribute. Upon completion, you’ll have a thorough understanding of security architecture principles that you can apply to your project.

Key concepts covered in this course

  • Security design principles (e.g. least privilege, defense in depth, minimization, compartmentalization, simplicity, fail securely, etc)
  • OAuth grant types:
    • Implicit Flow
    • Password Grant
    • Client Credentials
    • Authorization Code (with PKCE flow)
  • Refresh tokens, Access tokens
  • OAuth security best practices
  • How to make your application GDPR compliant (i.e. database, logs)
  • How to implement OAuth flows in a distributed architecture:
    • how to secure your web/mobile application
    • how to secure your back-end services

Duration

  • 8 hours

Target Audience

  • software developers
  • technical leaders
  • software/solution architects
  • business analysts with a technical background or passionate about technology
  • test engineers with a technical background or passionate about technology

Client Portfolio

To have a grasp about what companies did already chose my training courses, please check this page.

Note

At the moment this course is available only for companies, teams, or groups of students. The individual subscription (i.e. single person) is not an option at the moment.

Enroll

Description

The goal of the course is to outline key concepts, principles, and approaches that are used to design highly loaded systems where performance, scalability, and availability are first-class quality attributes.

By the end of this course, candidates will have acquired in-depth knowledge about how to describe business requirements, how to design a highly loaded system, and how to create a proper test plan.

Key concepts covered in this course

  • Different metrics used to quantify performance, scalability, and availability, such as response time, percentiles, latency, steady-state availability, resource utilization, etc.
  • How to properly formulate and collect business requirements pertaining to a high load system, which must include at least a stimulus and a measurable response for a particular workload and under a specific working mode.
  • Architectural styles that might be used while designing a high load system, with their pros and cons (e.g. microservices, event-driven, command query responsibility segregation, serverless, lambda).
  • Architectural tactics to achieve performance (e.g. caching, batching, lazy loading, throttling, optimistic locking, back pressure, etc.), scalability (e.g. data push, data pull, distributed and parallel processing, etc.) and availability (e.g. replication, redundancy, disaster recovery, circuit breaker, bulkheads, etc.)
  • Advanced development techniques such as thread affinity, NUMA, large pages, false sharing, Data-Oriented Design, C-states, RamFS/TmpFS, memory access patterns, lock-free algorithms, etc.
  • How to elaborate a test plan with a focus on stress, endurance, and load testing

Agenda

  • High load system concept (performance, scalability, and availability)
  • High load system requirements: identifying non-functional requirements for high-load systems
  • High load system architecture design pertaining to high performance, highly scalable and high available tactics and anti-patterns
  • High load system development
  • High load system testing
  • Examples of high load systems (e.g. Linkedin use case, Uber use case, etc.)

Duration

  • 16 hours

Target Audience

  • software developers
  • technical leaders
  • software/solution architects
  • business analysts with a technical background or passionate about technology
  • test engineers with a technical background or passionate about technology

Examples of Recent Feedback

“The trainer was very well prepared. He answered all of our questions, even if they were not really the subject of the training.”

“Very interesting course. The trainer presented with many examples based on his experience.”

“Ionut is a very knowledgeable and experienced trainer”

“I liked more the advanced part about how to tune an application, outside of the programming language, to get a better performance”

“Excellent course content helping me to understand a lot of things, from a very high level and abstract to a very deep and technical perspective”

“For a QA some of the concepts were a bit advanced, but nevertheless I recommend this course if you want to get in touch with real technical topics. The trainer clearly explained to them, even for less technical people”

“Interesting and informative course, presented by a trainer who knows a lot of stuff. I got a lot of ideas and techniques that I can use to build more efficient applications in my daily job”

Client Portfolio

To have a grasp about what companies did already chose my training courses, please check this page.

Note

At the moment this course is available only for companies, teams, or groups of students. The individual subscription (i.e. single person) is not an option at the moment.

Enroll

Description

  • The course introduces the main concepts and context of software architecture. Participants will learn about practices such as essential requirements identification, architectural design, architectural documentation, and architecture analysis.
  • It provides a clear understanding of the main aspects of being a software architect, as well as different types of architects (e.g. enterprise, solution, software, and system).
  • It reveals a structured way of collecting and documenting the business requirements with an architectural impact (i.e. non-functional requirements) to be quantifiable, measurable, and testable.
  • It includes various design techniques in light of the Quality Attributes which help to create software architecture.
  • It teaches you how to create proper and structured architectural documentation, in compliance with its purpose and beneficiaries (i.e. users).
  • Evaluating software architecture should be part of each project, hence we will discuss different techniques that might help you to mitigate the architectural risk.
  • It gives a recipe to conduct a healthy evaluation across different frameworks and libraries which might fit the project, to pick up the most suitable and appropriate based on the environmental context.
  • The course is a blend of lectures, individual and team exercises, and interactive workshops.

Agenda

  • Architectural context and main concepts, the role and responsibilities of a software architect
  • Stakeholders, Business Goals and Quality Attributes (e.g. scalability, performance, security, availability, testability, modifiability, usability) in lights of architectural tactics
  • Designing software architecture
  • Documenting the software architecture via viewpoint-based approach and architectural views (how to structure the architectural description)
  • Evaluation of the software architecture involving different types of stakeholders
  • Technologies and frameworks from an architectural perspective (what they mean and how to properly choose them)

Duration

  • 16 hours

Target Audience

  • software developers
  • technical leaders
  • software/solution architects
  • business analysts
  • test engineers

Examples of Recent Feedback

“The presentation was well structured and every information presented was followed by a real life example which facilitated the undesratngind of the theory”

“I liked the structure of the course, the fact that we applied the concepts we learned by following a methodology creating an architecture starting from the requirements.”

“I liked more the quality attributes and the architectural diagrams. Taking into account that I work as a Business Analyst, these two subjects seems to me the most relevant.”

“The course connected informal experience in this areas and provided the guidelines and tools to move forward in this area (e.g. software architecture).”

“The course helped me understand the architectural concepts and the role of an architect.”

“The exercises were useful, because they made me to figure out if I understood the theoretical part.”

“The course helped me to learn the terminology better, by doing exercises, also with books recommendations, describing architectural tactics and generic patterns.”

“The training has substantial subjects, very good, a little but more technical than my current level. I was clarified regarding the diagrams (views and viewpoints) and regarding the applicability of some quality attributes.”

“The trainer is a true professional. He explained everything in detail as best as he could.”

“I think that diagrams are most useful. I think that they should be implemented for every project and presented to developers when they see a project for the first time, as it is easier to imagine and understand how a project works. I hope that in the future if I get to design a project, that I will consider every tip I learned in this course on how to make one readable and understandable by anyone.”

Client Portfolio

To have a grasp about what companies did already chose my training courses, please check this page.

Note

At the moment this course is available only for companies, teams, or groups of students. The individual subscription (i.e. single person) is not an option at the moment.

Enroll

 Description

  • In this course, the attendees will learn how to develop Java software applications with performance as a first-class quality attribute.
  • The course is an intensive training targeting passionate Java software developers who are looking to expand their knowledge to discover how to write better code, profile, and tune Java applications.
  • It covers topics like JVM architecture, runtime execution engine, memory structure, garbage collectors, JVM tuning and profiling, analyzing case studies from a performance standpoint and revealing performance code best practices (tips and tricks).
  • The course is a blend of lectures, code samples analysis, and profiling and tunning case studies.

Agenda

  • Java Virtual Machine Architecture
  • ClassLoader and [Appl] Class Data Sharing
  • Execution Engine (e.g. Interpreter, Just In Time Compiler, Ahead of Time Compiler)
  • Java Memory Structure (e.g. Eden, Survivors, Metaspace/PermGen, Code Cache, Stack, C-Heap)
  • Java Garbage Collections (e.g. Serial, Parallel/ParallelOld, CMS, G1, ZGC, Epsilon)
  • Garbage Collection Friendly Programming Tips & Tricks
  • JVM Tuning
  • JVM Profiling
  • Performance Friendly Programming Tips & Tricks

Duration

  • 16 hours

Target Audience

  • Java developers
  • performance passionate geeks
  • technical leaders
  • software architects

Examples of Recent Feedback

“A lot of useful information about the JVM. All this information can be used in my daily programming activity. Also, I learned new tools that will help me to troubleshoot memory issues in the future.”

“Really good training. It really goes into detail about the covered topics.”

“This has been the best course in Java area I ever attended. The trainer was more than qualified, he organized the course so that it would be easy for attendees of any level, to understand the basic concepts behind the subject. It was more than a pleasure to attend this course and I would happily attend any other course that would be held by this trainer. Congratulations! All the things presented are useful! Very helpful, intense and presented in detail!”

“The training was awesome. It covered things that people don’t usually learn about, but are useful, like JVM internals. The most useful for me were the profiling techniques in the context of all the other JVM internal explanations.”

“I managed to understand how the JVM and the garbage collector works, I learned to do profiling for applications, I understood how the memory works and I received some tips and tricks to improve myself as a programmer. Overall this training is very useful. Ionut managed to explain a large amount of content in a short period of time. Even though this course is difficult, he made it really clear for us.”

“Excellent training, the instructor is very knowledgeable and well-prepared, and has visibly put a lot of effort into organizing the course and creating the course materials.”

“The author should accumulate his knowledge into a book. The course is very useful.”

Client Portfolio

To have a grasp about what companies did already chose my training courses, please check this page.

Note

At the moment this course is available only for companies, teams, or groups of students. The individual subscription (i.e. single person) is not an option at the moment.

Enroll

Java Performance Tuning Course

Abstract: This course covers JVM architecture, memory structure, Garbage Collectors, tuning, profiling, micro-benchmarking techniques, tips, and tricks.

Duration: 16 h

Details and enroll »


Software Architecture Essentials Course

Abstract: This course introduces the main concepts and context of software architecture, roles, and responsibilities of a software architect, essential requirements identification, architectural design techniques, how to properly document and review the architecture.

Duration: 16 h

Details and enroll »


Designing High-Performance Applications Course

Abstract: The goal of the course is to outline key concepts, principles, and approaches used to design high performance, highly scalable, and high available systems including specific tactics and anti-patterns.

Duration: 16 h

Details and enroll »


Security Architecture Course

Abstract: This course reveals key concepts, principles, and approaches that are used to design systems where security is a first-class quality attribute.

Duration: 8 h

Details and enroll »

Ionut Balosin

I am a Software Architect, Security Champion, and an independent Technical Trainer.

I speak at software development conferences and meetups around the world, delivering presentations, training courses, and workshops.

Please contact me if you are interested in conducting any software architecture, Java performance, or security course or workshop for your team or your company.

Professional Figures

15   years of experience
8   years of training
31+   articles, blog posts
34+   conferences talks
70+   training sessions
1200+   hours of training
10+   training clients
4   training countries

Contact

 

Social Media