Best Software Architecture Courses

Find the best online Software Architecture Courses for you. The courses are sorted based on popularity and user ratings. We do not allow paid placements in any of our rankings. We also have a separate page listing only the Free Software Architecture Courses.

Software Architecture and Clean Code Design in OOP

Learn design patterns and principles for Object-oriented programming to make your software scalable and easy to maintain

Created by Andrii Piatakha - Founder and CEO in IT-Bulls, Founder of Learn-IT University

"]

Students: 53441, Price: $29.99

Students: 53441, Price:  Paid

From this course you can learn Software Architecture and Clean Code Design in OOP.

There are a lot of other courses in this topic. So, why would you choose exactly this course?  Here just a few reasons:

- Coding examples

To learn programming it is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course you will review multiple practical tasks and coding examples which will help you learn and understand Java better.

- Open source code

We hide nothing from our students! Including the source code for the hometask solutions and source code of examples which were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.

You are allowed to use all source code examples for learning purposes. This helps significantly to configure environment and make tests work, especially in case student didn't work with any testing framework in the past.

- Q&A support

The significant difference between online and offline learning process is instructor's availability. If you are in the one room with tutor he always can help you to get understanding specific concept or to help fix your code on your computer.
In this course, we are supporting students with answers to any questions flagged in Q&A section. In case there will be recurring questions - separate video lessons will be created to show how to address issue.

So with this course you are not just getting video materials, code exercises, source code, access to free mobile application without limits (which is still pretty cool, huh? :) ) , but you also get tutor support and answers to your questions along with this course.

- Relevant knowledge

After our team investigated other Java courses on Udemy we realized that most of them has nothing in common with real life. Information which is shared there is very old and significantly out of date. For example, instructor teaches framework which is not used already for 15 years. Or instructor do a stress on the programming design which is not used anymore at all!

Instructor of this course is consultant in the top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check LinkedIn page of instructor and check skills endorsement. More than 19 thousand people acrooss all over the world (BTW most of them are from top 100 companies of the world) evaluated skills of Andrii Piatakha.

With this course you can be sure that you will spend your time learning the right things from the one of the best IT consultants in the world.

- Free mobile App without limits for our students

Knowing Java is one skill. Be able to pass interview in company - that is another skill :) Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed application to practice skills specifically for such purposes.

In this course we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms)

Instructor of this course come up with hundreds tests which are used to test knowledge of candidates. With this application you will be well-prepared for the interview.

Also, only for our students - there is no limit on attempts to pass certification. In the course we will tell you how to set up special bonus code which will remove restrictions for our students inside the app.

- High concentration of useful material in each lesson

Sometimes you can notice that watching of 5 minutes of our lesson is equivalent to watching of other 30 minutes lesson.

This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson, or time when program loads) sometimes 10 times as much (sometimes even 20) as final lesson duration after video editing.

Also each topic is separated from another. In case some concept will be explained in the next lesson and you don't need to worry about understanding this in scope of this lesson - instructor will make announcement when specific topic will be covered.

Go and try it yourself! We will appreciate your feedback.

So don't wait! Take a look at lessons' preview if you still have doubts!

Buy this course today, and you will get all updates for FREE!

For those who successfully passed this training course, or for students who was recognized for asking amazing questions, there is a special offer from IT-Bulls company! The creator of this course is IT-Bulls company CEO and Founder. We always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your own startup? In this course you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation!

Hope you enjoy this course! And remember, we appreciate all your feedbacks! Your feedbacks will help us to become even more better! Your feedbacks will help us to create to best Java course ever!

See you on the lessons! :)

Microservices Software Architecture: Patterns and Techniques

Learn how to design and implement microservice systems using the right architecture design patterns and techniques

Created by Binary Brain - Coding Expert with 10+ years development expertise

"]

Students: 40845, Price: $59.99

Students: 40845, Price:  Paid

In this course you will learn in detail the software architecture patterns and techniques to develop robust and scalable microservices

We will go through techniques and design patterns that are required in enterprise architecture including :

  • Event Sourcing pattern
  • Saga pattern
  • Microservice Registration
  • Circuitbreaker pattern
  • API compostion
  • Two Phase Commit
  • Microservice Discovery
  • and more !

The course is structured around both video tutorials explaining different techniques and architecture patterns, and (optional) assignments to help make sure you're understanding what we're learning.

I'm also available to answer any queries you may have regarding any course material which you didn't understand or would like further detail on. 

_______

Just in case you're still not convinced if you should take this course, here are a couple of positive reviews from the hundreds I have received on my bestselling, top rated Udemy courses: 

"The course is comprehensive and well explained through clear and concise examples, and shows that the instructor is highly experienced in their field. Overall this course is excellent and highly appropriate for software developers looking to improve their architectural and programming skills, both beginners as well as more advanced programmers. I will be looking forward to more courses by the author in the future." - J. Fusselberg

"High quality videos, lectures are clear and to the point. This course is highly recommended for any developer who wants to move on to a senior position or software architect role. However, it will also be a good start for beginner to introduce them to proper coding practices early on." -  Roberto de Souza

I look forward to seeing you in my course and hearing how the course has helped you progress in your career !

SOLID Principles: Introducing Software Architecture & Design

Gain mastery over SOLID Principles and write clean and well-designed code in Object Oriented Languages like Java etc.

Created by Sujith George - A Software Engineer With A Passion For Teaching!

"]

Students: 23287, Price: $19.99

Students: 23287, Price:  Paid

     Anyone can code. But what differentiates a professional software engineer from a hobbyist coder is how well-designed and well-coded the final product is. Code quality is hard to come by. Unfortunately, most coders start straight without understanding basic concepts of software design. This course will help a budding coder, as well as an established programmer who wants to learn better design and write quality code.

     It is really important that you grasp the core concepts of SOLID thoroughly. Once you get the fundamentals right, writing quality code will come naturally to you.There are tons of free YouTube videos on SOLID, but they try to teach you in bits and pieces, and don't pick the right analogies and code snippets. What you need is a holistic picture, which is what this course aims to provide. I have spent considerable time and effort to come up with the content for this course. Each and every concept, each and every analogy, each and every code example has been meticulously picked in such a way the design principles stick to your mind. I have used graphical illustrations and real world analogies wherever possible to drive home the point.

      Something else that is special about this course - The subtitles are hand-scripted and accurate. I have even checked the timings to guarantee accuracy. Most courses come with subtitles that are auto-generated using a Speech-To-Text Engine, the accuracy of which is fairly low. But not mine! I have taken pains to script my course to perfection and include the subtitles too. So if you are at work, and you want to put me on mute, please feel free, although I would like you to hear my voice narration. If you want to put me on mute, just enable the subtitles in Udemy and play!

Software Architecture for the Enterprise Architect

Learn software architecture skills required by an enterprise architect including UML modelling and architecture patterns

Created by Binary Brain - Coding Expert with 10+ years development expertise

"]

Students: 18816, Price: $49.99

Students: 18816, Price:  Paid

In this course you will learn in detail  the software architecture skills required by an enterprise architect, and gain practical experience through course assignments for each section which I will give you feedback on.

We will go through all of the core skills that are required in enterprise architecture including :

  • Different architecture patterns and where they should be used
  • UML modelling of a system from different perspectives
  • Identifying business requirements
  • Identifying non-functional requirements
  • Team Dynamics
  • and more !

The course is structured around both video tutorials explaining different techniques and architecture patterns, together with practical demonstration sessions for the applicable sections to make sure that we are able to apply what we have learnt. 

I'm also available to answer any queries you may have regarding any course material which you didn't understand or would like further detail on. 

_______

Just in case you're still not convinced if you should take this course, here are a couple of positive reviews from the hundreds I have received on my bestselling, top rated Udemy courses: 

"The course is comprehensive and well explained through clear and concise examples, and shows that the instructor is highly experienced in their field. Overall this course is excellent and highly appropriate for software developers looking to improve their architectural and programming skills, both beginners as well as more advanced programmers. I will be looking forward to more courses by the author in the future." - J. Fusselberg

"High quality videos, lectures are clear and to the point. This course is highly recommended for any developer who wants to move on to a senior position or software architect role. However, it will also be a good start for beginner to introduce them to proper coding practices early on." -  Roberto de Souza

I look forward to seeing you in my course and hearing how the course has helped you progress in your career !

Software Architecture (SOLID) & Design Patterns in Java

A guide to Create Smart, Reusable Softwares with SOLID Principles and Design Patterns

Created by Holczer Balazs - Software Engineer

"]

Students: 13144, Price: $34.99

Students: 13144, Price:  Paid

This course is about software architecture and design patterns. We will talk about two man topics: SOLID principles and design patterns. We are going to implement the problems in Java, but the theoretical background is language-independent. I highly recommend typing out the implementations several times on your own in order to get a good grasp of it.

Section 1 - SOLID Principles

  • what are SOLID principles?

  • single responsibility principle

  • open closed principle

  • Liskov's substitution principle

  • interface segregation principle

  • dependency inversion principle

  • what is dependency injection?

Section 3 - Creational Design Patterns

  • what are creational design patterns?

  • singleton pattern

  • factory pattern

  • abstract factory pattern

  • builder pattern

  • prototype pattern

Section 2 - Behavioral Design Patterns

  • what are behavioral design patterns?

  • strategy pattern

  • observer pattern

  • command pattern

  • iterator pattern

  • template pattern and null object pattern

  • visitor pattern

Section 3 - Structural Design Patterns

  • what are structural design patterns?

  • decorator pattern

  • flyweight pattern

  • facade pattern

  • adapter pattern

Section 4 - Model-View-Controller (MVC) Pattern

  • the model-view-controller (MVC) model

  • an application with Java Swing

In the first part of the course we are going to learn about the SOLID principles. We are going to talk about the theory as well as the implementations.

The second part of the course is about design patterns. We should have a deep understanding of these patterns in order to be able to write reusable software components. These techniques are becoming more and more important as applications are getting more and more complex, so - in my opinion - these topics are good to know.

Thank for joining the course, let's get started!

Microservices Architecture – The Complete Guide

Become an expert in the most popular Software Architecture style in the world!

Created by Memi Lavi - Senior Software Architect & Consultant

"]

Students: 12453, Price: $99.99

Students: 12453, Price:  Paid

Microservices Architecture is the most popular Software Architecture style these days.

Almost every new software designed and built, is doing so using Microservices. And not just that, but there are a lot of legacy applications that are being migrated to Microservices Architecture.

Companies such as Netflix, Amazon, Facebook. Uber and lost more have migrated to Microservices, and it became the de-facto standard for Software Architecture.

That means that a lot of Software Architects are looking for resources about Microservices, but until now - there was no a single, comprehensive course that covered all aspects of Microservices.

And this course does just that.

If you'll take this course, you'll know everything there is to know about Microservices.

We start from the very basics - why do we need Microservices and what problems do they come to solve? - and go to the most advanced concepts such as Service Mesh and CI/CD.

By the end of this course you'll become a real expert in Microservices, and you'll be able to design advanced, robust Microservices-based systems.

Here is a partial list of what we'll talk about in this course:

- History of Microservices

- Problems they solve

- The 9 attributes of Microservices

- The Architecture Process of Microservices

- Testing

- Service Mesh

- Common Anti-Patterns

And lots and lots more...

But I want to make this course as practical as possible, and for this reason - I've included in it a real-world case study. In this case study we'll design, together, a system from the ground up using the concepts we've learned in this course, since I really believe theory alone is not enough.

But that's not all...

At the end of this course, you'll be able to download the Microservices Architecture Checklist, a comprehensive checklist that will guide you through the process of designing Microservices systems, and provide a great summary of what we'll learn in this course.

Using this checklist will help you design the best Microservices Architecture possible, will help you decide whether you should actually utilize Microservices, and, most important - will make you a better architect.

This course takes you from the absolute basics of Microservices to the most advanced topics, known only to few. Completing this course will give you all the knowledge required for designing Microservices systems, and, as a bonus, will put you in a great position when looking for your next job.

No other course covers this topic in such a comprehensive and thorough way. I've put all my 20+ years of experience with hundreds of clients in this course, and I'm sure you will greatly benefit from it.

------------------------------------------------------------

What do my students have to say about my courses?

------------------------------------------------------------

"well done - The course was very practical" - Sam

"Good explanation on the topics covered, "Soft Skills" section is a great addition of topics" - Sergio

"[The course] given me the confidence to go out to the market and advertise myself as such [an Architect]" - Mathew

"Life Changing" - Arivazhagan

And lots more...

------------------------------------------------------------

Who is this course for?

------------------------------------------------------------

Any person who is involved in Software Architecture & development, even system analysts, can profit from this course.

That includes:

- Software Architects

- Junior developers

- Senior developers

- Architects

- Anyone who is interested in software architecture.

If you're not sure if this course is for you - drop me a note!

------------------------------------------------------------

What are the prerequisites for this course?

------------------------------------------------------------

It's a good idea to have some basic knowledge about software architecture, but it's not a must.

In any case, you don't have to have any prior knowledge of Microservices!

------------------------------------------------------------

About Me

------------------------------------------------------------

I've been in the software industry for more than 20 years, and a Software Architect for more than 17 years, working with a variety of clients - Fortune 100 enterprises, start-ups, govt. entities, defense, telco, banking, and lots more.

I'm an avid speaker and trainer, having trained thousands of students in various courses.

I love what I do, and my greatest passion (well, besides my family...) is designing modern, practical, and reliable systems for my clients, using the best possible architecture patterns.

SOLID Principles of Object-Oriented Design and Architecture

Master SOLID principles and deep dive into advanced topics in software architecture

Created by Vasiliy Zukanov - Professional Android developer, Blogger, Educator

"]

Students: 7981, Price: $109.99

Students: 7981, Price:  Paid

In this course you'll master SOLID principles - a set of guidelines for designing clean and maintainable software systems. By learning SOLID principles, you'll gain a deeper understanding into the magnificent world of software architecture.

SOLID principles embody more than 40 years of academic research and industry experience, distilled by several generations of software developers. Therefore, by mastering SOLID principles, you learn universal, time-proven tools for delivering high-quality software to your users.

SOLID is an acronym that stands for five principles:

  • Single Responsibility Principle

  • Open Closed Principle

  • Liskov Substitution Principle

  • Interface Segregation Principle

  • Dependency Inversion Principle

In this course, you will learn SOLID principles in detail and understand their importance. You will discover how SOLID principles make your code flexible, extensible and readable. Eventually, you will discover that SOLID code is simply a joy to work with!

In addition to in-depth discussion of software architecture and SOLID, I will also share many interesting historical facts about the people behind these principles. This short historical detour will allow you to see the bigger picture and will make the course more colorful and interesting.

The topics covered in this course are complex, but important to learn. It's not an overstatement to say that understanding SOLID principles will give you a new level of insight into software architecture and object-oriented programming in general.

So, if you're a professional developer and you're serious about clean and maintainable code, this course is for you!

Software Architecture Case Studies

Become an even better Software Architect by learning from real-world architecture case studies.

Created by Memi Lavi - Senior Software Architect & Consultant

"]

Students: 7661, Price: $99.99

Students: 7661, Price:  Paid

Congratulations! You're going to be a Great Software Architect!

Software Architects have one of the most challenging and rewarding jobs in the industry.

Great salary, working with management, dealing with the up-to-date technologies and patterns, working with variety of projects and teams - all these make the Software Architect one of the most desired positions in the software industry.

Becoming a Software Architect is not easy. but becoming a Great Software Architect is even harder.

One of the best methods to become a great Software Architect is to always learn, and see what other architects did in their own work.

And this is exactly what this course is doing.

In this course we're going to discuss 4 case studies, based on a real-world, production based systems, that I've worked on in recent years.

Each case study presents a unique challenge, with a lot of twists in the way, and together - we're going to design the architecture of each and every one of them.

The case studies are varied, and we'll discuss classic web app (but with a very interesting twist...), file automation system, and more.

For each case study, we're going to go through the whole architecture process, and do the following:

- Map the components

- Understand the requirements

- Define the application type

- Select the technology stack

- Design the architecture

- Add redundancy

Our technology stack is also extremely diverse, and we're going to talk about:

- .NET Core

- SQL Server

- Java

- MongoDB

- MySQL

And more...

Important Note: This course builds on the foundations laid in The Complete Guide to Becoming a Software Architect course, and uses some concepts taught in it (mainly the architecture process). It is highly recommended, though not mandatory, to to take this course before this one.

But wait, that's not all!

One of the most important product of the architect's work are the architecture diagrams. These diagrams are the epitome of the architecture process, and summarize and represent the various aspects of the architecture.

In this course, we're going to have 3 architecture diagrams for each case study:

1. Logic Diagram

2. Technical Diagram

3. Physical Diagram

These diagrams shows the various aspects of the architecture, and are an essential part of the architect's work.

And the good part?

You can download these diagrams for your own use. These diagrams are a great starter for architecture diagrams, and there's a good chance your own system is quite similar to at least one of the case studies in this course. And even if not - you can still use it as a base for your own. Simply put - it's yours to use.

This course is the only course that gives you access to real-world, production based architectures, based on systems designed by real architects, developed by real developers, and have millions of $ invested in them. Don't miss this opportunity!

------------------------------------------------------------

What do my students have to say about my courses?

------------------------------------------------------------

"well done - The course was very practical" - Sam

"[The course] given me the confidence to go out to the market and advertise myself as such [an Architect]" - Mathew

"Life Changing" - Arivazhagan

And lots more...

------------------------------------------------------------

Who is this course for?

------------------------------------------------------------

Actually, any person who is involved in software development, even system analyst, can profit from this course.

However, the best candidate for this course is a Software Architect that wants to expand her knowledge, or a developer with some experience, preferably 2 years. This experience will help mainly in understanding the terminology used in this course.

If you're not sure if this course is for you - drop me a note!

------------------------------------------------------------

About Me

------------------------------------------------------------

I've been a Software Architect for more than 18 years, working with a variety of clients - Fortune 100 enterprises, start-ups, govt. entities, defense, telco, banking, and lots more.

I'm an avid speaker and trainer, having trained thousands of students in various courses in the past.

I love what I do, and my greatest passion (well, besides my family...) is designing modern, practical, and reliable systems for my clients.

Developer To Architect: Mastering Software Architecture

Learn Software & Solution Architecture for Architecting and Deploying Large-Scale, Highly-Available and Secure Systems

Created by NewTechWays - Anurag Yadav - Making knowledge available for everyone

"]

Students: 7131, Price: $99.99

Students: 7131, Price:  Paid

Architecting software systems is a skill that is in huge demand, but it is not a readily available skill. To understand why this skill is rare to find, let's go through a few lines from Martin Fowler's blog on architecture.

He says: Architecture is about the important stuff. Whatever that is. It means that the heart of thinking architecturally about software is to decide what is important, (i.e. what is architectural), and then expend energy on keeping those architectural elements in good condition. For a developer to become an architect, they need to be able to recognize what elements are important, recognizing what elements are likely to result in serious problems should they not be controlled.

It takes a number of years for a developer to learn enough to become an architect. This learning largely depends on the kind of opportunities that you get in your career. Often these opportunities are limited to specific areas of work only.  However, to be an architect, you must possess extensive technical knowledge of as many areas as possible. You must understand all the complexities and challenges in different parts of a system. You need the ability to make upfront decisions by understanding various trade-offs. You should be able to foresee or anticipate critical problems that a system can face during its evolution.

This is where the 'Developer To Architect' course can be very useful for you. It assumes that you already have great development skills, and it builds from there. It extensively covers architecting non-functional properties of a system, handling of large-scale deployments, and internal working of popular open-source products for building software solutions.

To give you some details of what is specifically covered:

  • Architecting non-functional properties like Performance, Scalability, Reliability, Security. 

  • Large-scale deployment and operations using Docker containers and Kubernetes.

  • Internal working of popular open-source products like Node.js, Redis, Kafka, Cassandra, ELK stack, Hadoop, etc for confidently architecting software solutions.

In short, this course will help you learn everything you need to become a 'true' architect in a very short period of time.

Software Architecture: Meta and SOLID Principles in C#

Learn how to develop maintainable software systems applying Design Patterns based on Meta and SOLID Principles

Created by Engineer Spock - Software Engineer - 1000+ Reviews, Average Score - 4.5

"]

Students: 6491, Price: $44.99

Students: 6491, Price:  Paid

SOLID is an acronym which stands for SRP, OCP, LSP, ISP and DIP. These five acronyms in their turn stand for:   

  • Single Responsibility Principle   

  • Open/Closed Principle   

  • Liskov Substitution Principle   

  • Interface Segregation Principle   

  • Dependency Inversion Principle

In this course, you’ll learn how to apply meta and SOLID principles so that your application will live a long healthy life. It means you are going to learn how to write code of the high quality: readable, understandable and reliable.   

Improve your knowledge in object-oriented programming   

  • Understand the meta principles on which all the other development principles are based   

  • Understand the symptoms of code defects   

  • Learn the foundations of SOLID principles

  • Learn how to detect the violations of SOLID principles and how to fix the problems

  • Learn how meta principles and SOLID principles are related to each other and how to find the balance between them   

Foundations of writing object-oriented code

Despite the fact that C# is a very rich on features language, it's very common to see poorly designed and implemented applications in a real world. Language by itself does not guarantee that the architecture of an application will be great. In order to design and build maintainable software, we need to understand the principles of software development. This video course is exactly about how to achieve clean and maintainable software.   

You probably have already heard the following well-known statement: most code sucks. Well, this course is all about how to produce code which doesn't suck.   

Owning skills of producing a well-designed and well-implemented types is the prerequisite for the other developers to treat you as a decent professional.   

Content and Overview   

This course is aimed at middle and senior developers. Solid experience in C# is required.   

There are plenty of code examples throughout this course so that you will learn both theoretical and practical material.   

Starting with SOLID principles we will go further to the meta-principles. Going through the SOLID principles, you’ll also learn about the related patterns. Then we will get to the problem of contradictions between different principles. You’ll learn about the relationships between SOLID principles and meta principles.   

In general, you’ll learn in this course:   

  • SRP   

  • OCP   

  • LSP   

  • ISP   

  • DIP   

These are the SOLID principles. You’ll learn the background problems that can be solved by particular principle, you’ll see the demonstrations in code, you’ll learn the related patterns to every principle.   

Learning DIP you’ll in addition learn what is Dependency Injection, Inversion of Control, IoC-Containers and what are the architectural implications of DI.   

Here are other topics you’ll learn in the course:   

  • DRY – don’t repeat yourself   

  • KISS – keep it simple stupid   

  • YAGNI – You Ain’t Gonna Need It   

  • SoC – separation of concerns   

  • CQS – command query separation   

  • Law of Demeter   

  • Principle of Least Astonishment   

  • Information Hiding and Encapsulation   

  • API Development Principles   

  • Contradiction between SOLID and YAGNI   

  • Contradiction between OCP and YAGNI   

  • What is Architecture and Design

Teaching Approach

No fluff, no ranting, no beating the air. I respect your time. The course material is succinct, yet comprehensive. All important concepts are covered. Particularly important topics are covered in-depth.

Take this course, and you will be satisfied!

------------------------------------------------------------

Keywords related to the course:

  • Software Architecture

  • SOLID Principles Tutorial C#

  • SOLID Tutorial C#

  • Software Design

  • SOLID Principles

  • SRP, OCP, LSP, ISP, DIP

Software Architecture: REST API Design – The Complete Guide

Become a better Software Architect by designing professional, easy to use and attractive REST API

Created by Memi Lavi - Senior Software Architect & Consultant

"]

Students: 6452, Price: $49.99

Students: 6452, Price:  Paid

Every Software Architect is going to design REST API these days.

REST API is the de-facto standard of the Web API world, and all the major websites are having it - Twitter, Amazon, Facebook, Google and lots and lots more.

If you're designing a web app - the developers using it will expect it to have a REST API.

But, how can you make your REST API stand out? How can you convince the API users to actually use the API, and not just take a quick look at it and go away?

In today's world, where everyone expose REST API, it's not easy to attract developers. And if no developer will come - usage and monetization will be a problem.

The key to make your API stand out is to design a well thought-of API, one that is:

1. Easy to use

2. Easy to understand

3. Consistent

4. Performant

5. Just Works

A good Software Architect must be able to design such an API. In fact, designing the API is one of the most important tasks of the Software Architect.

In this comprehensive course, you'll get all the knowledge required for designing great, professional, REST API, using the techniques used by all industry-leading APIs.

Here are some of the topics discussed in this course:

- What is API, and what is Web API

- The inner structure of REST Request and Response

- Tools that can help you simulate REST API calls, such as Postman and Beeceptor

- The special role of HTTP Verbs

- How a REST API URL should look like

- What are Response Codes and why do they matter

- How to give your API a professional looking documentation

- How to add authentication and authorization to your API

- Performance techniques to improve your API responsiveness

- Monitoring  and its importance

- And lots more...

But that's not all...

At the end of this course, you'll be able to download the REST API Checklist, a comprehensive checklist that will guide you through the process of creating the most professional and attractive REST API. This checklist is your go-to-guide whenever you'll design REST API, and as a Software Architect - you'll design a lot of REST API...

This course takes you from the absolute basics of API to the most advanced topics, known only to few. Completing this course will give you all the knowledge required for building professional REST API, and, as a bonus, will put you in a great position when looking for your next job.

No other course covers this topic in such a comprehensive and thorough way. I've put all my 20+ years of experience with hundreds of clients in this course, and I'm sure you will greatly benefit of it.

------------------------------------------------------------

What do my students have to say about my courses?

------------------------------------------------------------

"well done - The course was very practical" - Sam

"Good explanation on the topics covered, "Soft Skills" section is a great addition of topics" - Sergio

"[The course] given me the confidence to go out to the market and advertise myself as such [an Architect]" - Mathew

"Life Changing" - Arivazhagan

And lots more...

------------------------------------------------------------

Who is this course for?

------------------------------------------------------------

Any person who is involved in web development, even system analyst, can profit from this course.

That includes:

- Junior developers

- Senior developers

- Architects

- Anyone else involved in web development

If you're not sure if this course is for you - drop me a note!

------------------------------------------------------------

What are the prerequisites for this course?

------------------------------------------------------------

In this course we'll use tools simulating REST API server and client (Beeceptor and Postman), so no actual coding is required.

Students are expected, however, to be able to understand simple coding snippet (there are a few), and to know how the internet is working (HTTP protocol, Request / Response model, and so on).

------------------------------------------------------------

About Me

------------------------------------------------------------

I've been in the software industry for more than 20 years, and a Software Architect for more than 17 years, working with a variety of clients - Fortune 100 enterprises, start-ups, govt. entities, defense, telco, banking, and lots more.

I'm an avid speaker and trainer, having trained thousands of students in various courses.

I love what I do, and my greatest passion (well, besides my family...) is designing modern, practical, and reliable systems for my clients, using the best possible API.

Domain Driven Design: Complete Software Architecture Course

Learn Domain Driven Design (DDD) by example with detailed coding sessions, video explanations and realistic assignments.

Created by Binary Brain - Coding Expert with 10+ years development expertise

"]

Students: 6153, Price: $99.99

Students: 6153, Price:  Paid

In this course, you will learn in detail the technical skills and techniques required to design and develop a system using domain-driven design (DDD) including:

  • DDD building blocks

  • Design modeling skills

  • Design assignment - with model answers that are explained via video tutorial and feedback on your assignment from others if you'd like.

  • Design patterns

  • Component architecture

  • Coding assignment - with model answers that are explained in detail via video tutorial and downloadable code in C#, Java and Python so that you can follow explanations!

The course is structured around both video tutorials explaining different techniques and architecture patterns, and (optional) assignments to help make sure you're understanding what we're learning.

I'm also available to answer any queries you may have regarding any course material which you didn't understand or would like further detail on. 

_______

Just in case you're still not convinced if you should take this course, here are a couple of positive reviews from the hundreds I have received on my bestselling, top-rated Udemy courses: 

"The course is comprehensive and well explained through clear and concise examples, and shows that the instructor is highly experienced in their field. Overall this course is excellent and highly appropriate for software developers looking to improve their architectural and programming skills, both beginners as well as more advanced programmers. I will be looking forward to more courses by the author in the future." - J. Fusselberg

"High quality videos, lectures are clear and to the point. This course is highly recommended for any developer who wants to move on to a senior position or software architect role. However, it will also be a good start for beginners to introduce them to proper coding practices early on." -  Roberto de Souza

I look forward to seeing you in my course and hearing how the course has helped you progress in your career!

Software Architecture: Dependency Injection for C# Devs

Learn Dependency Injection techniques along with an IoC-framework (DI-Container). Grow Architecture applying DI.

Created by Engineer Spock - Software Engineer - 1000+ Reviews, Average Score - 4.5

"]

Students: 5378, Price: $54.99

Students: 5378, Price:  Paid

Build a solid foundation in software architecture applying Dependency Injection with IoC-Containers

In many of my courses I use techniques of Dependency Injection and each time students write me private messages saying that they don't what it is and thus they don't understand what's going on in the course I teach. This is very unfortunate from the learning perspectives.

Dependency Injection is the set of techniques that allow to supply dependencies to objects. Actually, if you have ever passed dependencies via constructors, then you applied the so-called constructor injection. Dependency Injection (DI) is simple and difficult at the same time. On one hand, DI is comprised of simple techniques and on the other hand, when we need to bring DI to the next level, we need to make things more complicated using the so-called DI or IoC (Inversion of Control) Containers. These are the frameworks which perform dependency injection automatically. You just need to set one up in the application root (an extremely important notion which you'll learn about in the course) and after that, it will resolve all the dependencies it knows about in the runtime.

If you still don't understand what am I talking about, just believe me, you absolutely need to know about Dependency Injection. This course will tremendously improve your understanding of how software architectures emerge. So, this course is "must watch" for anyone who still doesn't understand what is DI and IoC-Containers.

Content and Overview

This course is aimed at all kind of developers. It provides solid theoretical base reinforced by practical material.   

The course covers:

  • Introduction to Inversion of Control:
    Dependency Inversion Principle (DIP), Inversion of Control (IoC), Dependency Injection (DI),
    Dependencies and their types, Pure DI and IoC-Containers, Service Locator

  • The Architectural Implications of Dependency Injection

  • DI-related Anti-Patterns & Refactorings: 
    Control Freak, Hidden Dependencies, Temporal Coupling,
    Constructor Over-Injection and how to avoid it,
    Ambient Context, Facade Service, Property Injection vs Bastard Injection, Cyclic Dependencies

  • Refactoring Example of an existing code base applying Dependency Injection

  • How to reap the fruits of DI

  • DI-Containers (IoC-Containers):
    Overview, Unity, Late Binding with Unity, Aspect-Oriented Programming (AOP), Interception vs Pure DI vs AOP Tools,

  • Setting up a bootstrapper with Unity, Autofac and Castle.Windsor

  • Introduction to Unit Testing

Teaching Approach

No fluff, no ranting, no beating the air. I respect your time. The course material is succinct, yet comprehensive. All the important concepts are covered. Particularly important topics are covered in-depth.

Take this course, and you will be satisfied. 

Software Architecture Security – The Complete Guide

Become a better Software Architect by designing secure systems

Created by Memi Lavi - Senior Software Architect & Consultant

"]

Students: 4907, Price: $109.99

Students: 4907, Price:  Paid

Software Security is one of the most important aspects of Software Architecture these days.

Almost daily you hear about new security incidents which caused data leak, disruption of service, and often - billions of dollar in damages, and some companies even shut down because of that.

You, as as software architect, has the responsibility to make sure your architecture is as secure as possible.

You simply cannot allow yourself to release a system that is not secure. These days, it's simply unacceptable.

Now, in order to design secure architecture, you must be well versed in all security aspects of software design.

And this is exactly what this course is for.

This course will teach you all you need to know, as an architect, regarding software security. When completing the course, you'll have the necessary knowledge to design secure architecture.

Now, i strongly believe that talking just about secure architecture is not enough. In order to be a really great architect you must have a holistic view of all aspects of software security.

And because of that, this course covers all the bases of software security.

Here is a partial list of what we'll talk about in this course:

- What is Security?

- The Secure Architecture Process

- Threat Modeling

- The Five Perimeters of software security

- Some common attacks and how to defend from them

- Authentication and Authorization

- Encryption

- Secure Communication

And lots and lots more...

In this course you'll learn the terminology of Software Security, and you'll encounter terms such as SQL Injection, MFA, MITM and more. Don't worry - we'll explain everything, and will make sure you fully understand these terms.

In fact, you don't have to have any prior knowledge of software security. We'll start from the very beginning.

After completing this course you'll have everything you need in order to design software architecture which is as secure as possible.

But that's not all...

At the end of this course, you'll be able to download the Secure Architecture Checklist, a comprehensive checklist that will guide you through the process of designing secure systems, and provide a step-by-step guidance for each step.

Using this checklist will ensure your system is as secure as possible, will make your client happy, and, most important - will make you a better architect.

This course takes you from the absolute basics of Software Security to the most advanced topics, known only to few. Completing this course will give you all the knowledge required for designing secure systems, and, as a bonus, will put you in a great position when looking for your next job.

No other course covers this topic in such a comprehensive and thorough way. I've put all my 20+ years of experience with hundreds of clients in this course, and I'm sure you will greatly benefit from it.

------------------------------------------------------------

What do my students have to say about my courses?

------------------------------------------------------------

"well done - The course was very practical" - Sam

"Good explanation on the topics covered, "Soft Skills" section is a great addition of topics" - Sergio

"[The course] given me the confidence to go out to the market and advertise myself as such [an Architect]" - Mathew

"Life Changing" - Arivazhagan

And lots more...

------------------------------------------------------------

Who is this course for?

------------------------------------------------------------

Any person who is involved in development, even system analyst, can profit from this course.

That includes:

- Junior developers

- Senior developers

- Architects

- Anyone who is interested in software security.

If you're not sure if this course is for you - drop me a note!

------------------------------------------------------------

What are the prerequisites for this course?

------------------------------------------------------------

It's a good idea to have some basic knowledge about software architecture, but it's not a must.

In any case, you don't have to have any prior knowledge of software security!

------------------------------------------------------------

About Me

------------------------------------------------------------

I've been in the software industry for more than 20 years, and a Software Architect for more than 17 years, working with a variety of clients - Fortune 100 enterprises, start-ups, govt. entities, defense, telco, banking, and lots more.

I'm an avid speaker and trainer, having trained thousands of students in various courses.

I love what I do, and my greatest passion (well, besides my family...) is designing modern, practical, and reliable systems for my clients, using the best possible architecture patterns.

Using SOLID Principles to Write Better Code – A Crash Course

Software Architecture: A rapid, hard-hitting introduction to designing great object-oriented code in Java, C# and more.

Created by Riaan Nel - Software Architect

"]

Students: 4545, Price: $84.99

Students: 4545, Price:  Paid

Write Better Code

It's easy enough to write code that works - however, code that simply 'works' just isn't good enough.  Is it easy to understand?  Is it easy to maintain?  Is it easy to change?  Is it easy to test?  In other words - does it employ good software architecture principles?

This course is about helping you to learn how to write good code using tried-and-tested principles from the world of object-oriented software development in languages like Java and C#.  Specifically, we'll unpack what SOLID means, what its benefits are, and how you can apply SOLID principles in order to improve the architecture of your own code - regardless of which object-oriented programming language you use.  You'll learn how to look at code, identify problems, and how to improve the code by using SOLID principles.  To help you with this, the course also contains a quiz that is focused on refactoring code to conform to SOLID principles.

It's a short course that you can work through in an hour, but it's intended to equip you with skills that you can apply throughout a lifetime of programming!

Some Review Feedback

"The content is structured, step by step is laid out clearly and concisely, the code examples are definitely the icing on the cake as it takes the principles into real world examples which are very valuable."

"Great course with easy to understand examples. Good for first time explanation and as a refresher"

"Firstly, the course focuses on a really important topic that most developers usually skip over, and secondly the course itself is really well thought through with the examples explaining exactly how code can be improved for readability, testing, and to ensure the code is easy to change later on."

"The salient points were well covered, and the code examples are clear enough to illustrate and support each SOLID principle discussed. As a student, we’re able to understand and appreciate the benefit of applying SOLID principles, and writing better code."

This course includes the option of a 30-day, no-questions-asked refund if you're not happy with it.

Software Architecture Essentials for Business Applications

From Layered Architecture to Clean/Onion Architecture - Software Architecture Essentials for Business Applications

Created by Frank Liu - Full Stack Senior Software Developer

"]

Students: 4290, Price: $19.99

Students: 4290, Price:  Paid

Software development career is very rewarding. Being able to code with simple, efficient and clean architecture will not only help you crack your interviews, but also take your career to a whole new level.

Software development jobs are mainly in developing business applications. This is the focus of this course. In this course, I will dive deep into the typical layered architecture for business applications, analyze the pros and cons of it and then present you the Clean Architecture, also known as the onion architecture, which is covered in Robert Martin's books and blogs.

This course is not just full of theories, I prepared a cargo shipping application as a whole case study with a lot of existing code analysis to help you understand the related software design principles, applying layered architecture and the clean architecture. I also code in front of your eyes when I apply the Clean Architecture to implement two new use cases.

By the end of the course, you will have a thorough understanding of the Separation of Concerns principle, layered architecture as well as the Clean Architecture and be able to use them in your next projects.

What you will learn:

  • Basic Software Architecture Concepts

  • Layered Architecture

  • Clean Architecture (Onion Architecture)

  • Separation of Concerns Principle

  • How Clean Architecture helps TDD and Unit Testing

  • Common Mistakes in Software Architecture

What you will need:

  • You have programmed for more than 6 months with any OOP languages

  • You have basic knowledge of OOP

  • You are eager to learn software architecture

Who this course is for:

  • Anyone with any OOP computer languages knowledge who wants to know more about software architecture in business apps.

  • Anyone who want to learn about the Clean Architecture (Onion Architecture) but haven't been able to grasp it yet.

Last but not least:

Enjoy this course and don't forget to check out my other courses which are created with the Clean Architecture in them to help you further understand this great architecture.

SOLID Software Architecture: Complete Guide with Coding Examples

Become a better developer: Learn software architecture techniques and develop code that is more robust, flexible, understandable and maintainable.

Created by Binary Brain - Coding Expert with 10+ years development expertise

"]

Students: 3319, Price: $44.99

Students: 3319, Price:  Paid

In this course you will learn in detail the SOLID software architecture design principles for Object Oriented Programming. You will learn what are the benefits (and sometimes drawbacks !) of each of the SOLID principles which are:

  • Single Responsibility Principle
  • Open/Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

We will explore each principle in detail and will then go through code examples that violate the principle and refactor these together in video tutorials. The code files of both the initial code and the refactored version are provided for each coding example. In this way, after following this course you will not only be able to apply this knowledge to your own code and develop software architecture of higher quality, but you will also be able to detect existing violations and correct them.

The coding examples are in C# , a widely used object oriented programming language. However, if you are not familiar with C# but use another object oriented programming language (e.g. Java, PHP, Python etc. ) don't worry you'll still be able to fully grasp the different principles and the scope of each refactoring. Additionally, if you'd like me to go through a similar code example in another programming language, just sent me a message and I'll be glad to guide you through one.

I'm also available to answer any queries you may have regarding any course material which you didn't understand or would like further detail on. 

Some of the many positive reviews I have received so far :

"The course is comprehensive and well explained through clear and concise examples, and shows that the instructor is highly experienced in their field. Overall this course is excellent and highly appropriate for software developers looking to improve their architectural and programming skills, both beginners as well as more advanced programmers. I will be looking forward to more courses by the author in the future." - J. Fusselberg

"High quality videos, lectures are clear and to the point. This course is highly recommended for any developer who wants to move on to a senior position or software architect role. However, it will also be a good start for beginner to introduce them to proper coding practices early on." -  Roberto de Souza

I look forward to seeing you in my course and hearing how the content's helping you in your work or studies !

Design Patterns In Python OOP for Software Architecture

Design Patterns In Python OOP for Python Projects Software Architecture Using GoF Design Patterns System Analysis UML

Created by Suresh Kumar Srivastava - Founder, Sonebhadra Technologies

"]

Students: 485, Price: $89.99

Students: 485, Price:  Paid

This "Design Patterns In Python" course covers all 23 GOF design patterns with Python code implementation.

Why learn Design Patterns

  • Industry requires great software designers

  • Demand for Software Design Skill is high

  • For flexible and extensible software design

  • To enhance the Object Oriented Software design skill

  • To Develop/Understand the design of software product

  • Moving up in Technical ladder by having great tech skill

  • Well prepared for interview

Design and architecture of any software/solution provides the base and makes it flexible, extensible for future requirements. A good designed software/solution makes it easy to understand and maintain. Design patterns are known as best practices to design software for problems which are repeated in nature. 

This course is second one in my complete Python Design and Development course series-

  • Advanced Python : Take Your Python Skills To The Next Level

  • Design Patterns In Python Made Simple

This "Design Patterns In Python" tutorial gives you understanding of all 23 design patterns described in Gang Of Four book - "Design Patterns: Elements of Reusable Object-Oriented Software", by Gamma, Helm, Johnson and Vlissides.

This Design Patterns through Python course covers :

Creational Design Patterns : Abstract Factory, Builder, Factory Method, Prototype, Singleton

Structural Design Patterns : Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy

Behavioral Design Patterns : Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor

Here is the course content-

  • Introduction to Design Patterns

  • Creational Design Patterns

  • Structural Design Patterns

  • Behavioral Design Patterns

In this Design Patterns using Python course, each design pattern is explained in a simple way with intent, problem, solution and structure. Also the information of participants, collaboration, consequences and code implementation are explained for each one. The design pattern structure or example implementation of Python source code are explained to understand how it will be implemented using Object Oriented features of Python. 

This Design Patterns with Python course also provides Python source code of each design pattern to understand it in better way. This helps in applying the variation on implementation to see how it can resolve some other implementation bottleneck. There are 125 quiz questions on Creational, Structural and Behavioral design patterns to check your understanding. 

I have used Free PyDev for Eclipse, you can use any Python IDE/Environment.

This "Learn Design Patterns In Python" online course on udemy will help to understand the best practices for design and apply them to do the better design of software projects/solutions in Python. It will also help you to prepare well for Design Patterns in Python interview questions. Knowledge of design patterns increases the capability to address interview questions of software design.

It will be good to have the Gang Of Four book - "Design Patterns: Elements of Reusable Object-Oriented Software", by Gamma, Helm, Johnson and Vlissides as a reference book for this course. 

Design Patterns In Python free source code implementation is available in pdf to download.

What Students Say-

"Solid exposition of design patterns."

"The material is very clear so far and explained well."

So what are you waiting for, click on Buy button to enroll now and start learning.

Software Engineering and Architecture guide for Engg Leaders

2020 TECH GUIDE for Engineering Leaders in Software Industry

Created by Pramod Prakash - Engineering Leader with 16 years of industry experience

"]

Students: 450, Price: $29.99

Students: 450, Price:  Paid

This is an attempt to help Engineering Leaders of Software industry. This will help them to stay relevant in their current job and also find a job even during this 2020 crisis situation. This video is a collection of technical topics which an engineering leader should be aware of in today's world.

CONTENTS:

Course overview

About me

Important pillars on which engineering leader is evaluated

Tech capabilities (contents)

Data structures and Algorithms

RDBMS, SQL and ACID properties

APIs and Microservices

Data Warehousing concepts

Big Data and Hadoop

CAP theorem and NOSQL DBs

Caching Solution [Key Store] (Redis, Aerospike)

Fast search solution (Elasticsearch, Apache Solr)

Streaming Solution / Event Processing / Pub Sub

System Design

SDLC Tools

Machine Learning / Data Science

Learn to Model Software Architecture using UML in 7 steps

Hands on course to Model Software architecture using UML. Model key Software architecture UML Diagrams from Scratch.

Created by T2C T2C - Technology Evanglist ( TOGAF Certified Enterprise Architect)

"]

Students: 342, Price: $79.99

Students: 342, Price:  Paid

This course will teach you  how to Think, Visualize and Model UML diagrams like a Software Architect.

If you are a software developer who aspires to be a software architect then this course will teach you  key UML diagrams  that you should be aware as software architect to  Model software architecture.

"Learn to Model Software Architecture using UML in 7 steps course " is a practical & Hands On approach course  which  will help you to become a better software architect. In this course  kishore will teach you about key software architecture diagrams in UML which are typically used by software architect to define Software architecture.

This course is designed for the absolute beginner, meaning no previous UML experience is required. If you are in the software programming world this course is for you as it  will help you understand on how to model software architecture using UML.

In this course we will also talk about Modelling in UML and what does that means  to a software architect.  This  is a practical  Hands on course  where you will create some of the  key software architecture UML diagrams .

In this software architecture Modeling course we will also look at some of the important question for each of the software architecture diagrams like

  1. why we should Model  software architecure using UML diagrams

  2. Purpose of  UML  software architecure diagrams

  3. Audiences of  software architecture  UML diagram

  4. When we should model software architecture UML diagram

If you are a software programmer who aspires to be a software architect then this course will teach you  various UML diagrams so that you know how to define software architecture in a better way using UML diagrams.

If you are a software developer, this is your chance to learn the proper techniques for assessing the requirements of an enterprise and model software architecture the correct way using UML.  This course will teach you on how to approach a software architecture business problem the correct way.

if you are a practicing software architect this course will teach you to model software architecture the correct way using UML, You can enhance your software architecture UML modeling skills with this course and be a better software architect.

Learn critical UML used in software Architecture .

And again Think, Visualize and Model UML diagrams like a Software Architect.