What You Will Learn
✔ What you need to study to become a professional software developer
This course will structure your knowledge and offer learning tips and books recommendations authored by recognised experts.
✔ Introduction to most relevant programming languages and frameworks required to develop enterprise web applications in the world of Java
Java programming language, Spring framework, JavaScript and Angular framework.
✔ Technologies that every software developer needs to know
Version control systems (you will learn basics of Git), databases (you will learn basics of relational databases - we will see PostgreSQL in action), networks and infrastructure (you will learn basics behind networks, virtual machines and containerisation: extremely popular Docker).
✔ Fundamental techniques and practices that distinguish mediocre software developers from professional software developers
Clean Code, SOLID principles, Extreme Programming and more.
✔ A sample enterprise-class web application with a complete source code and business case explanation
✔ Most relevant terms and methodologies that we need in our work on a daily basis
You will learn Scrum, you will see how much value Extreme Programming brings in, how important effective teamwork is and what distinguishes wonderful teams from random people that only happen to work together.
All of this is packaged in a 13 hours on-line course, presented by a senior software developer with 15 years of professional experience, passionate about software development and problem solving.
This Course Is for You If
✔ You are a student of any programming language before your first IT job.
✔ You are a junior software developer who wants to become a senior software developer.
Structure of the Course
1. In the first module we will start with talking about IT industry in general.
2. In the second module we will talk about our daily work - how we work in teams and how important teamwork is.
3. In the third module we will together set up a complete local development environment, and demo a sample enterprise-class web application - all to give you this impression of how it actually looks like.
4. In the fourth module we will have an introduction to the most essential technologies: programming in Java, Spring enterprise framework, frontend development (JavaScript and Angular), version control systems, databases, networks and infrastructure.
5. In the fifth module we will go through couple of more advanced topics, to inspire you and to give you strong foundation to further developing your skills.
6. We will finish this course with couple of practical tips about job interviews, sample tasks that you might expect on your first days at a new job, and couple of learning tips.
Complete source code for our sample enterprise web application, as well as the source code for all our exercises and coding tasks is available for free. All the necessary links to the source code, as well as all the references mentioned in this course to different books and articles, you will find in this free PDF document.
What You Should Expect
✔ 13 hours of video content split into 6 modules
✔ Holistic view of IT industry and enterprise software development
✔ Exercises, coding tasks and coding screencasts that demonstrate many of the technical concepts in practice
✔ Straightforward explanations of many of the fundamental techniques and principles illustrated with animated slides
✔ Technologies: Java, Spring, JavaScript, Angular, Git, PostgreSQL, Docker
What You Should Not Expect
✔ This is not a strictly programming course.
In case you want to learn programming A to Z, for example in Java, this is not the course for you. However, this course will explain many of the fundamental techniques and will teach you how you can further study the technologies that we are covering in this course to become a professional software developer.
✔ This course is not for Mac users.
I assume that you have a PC with Windows operating system. In case you own a Mac, you will still benefit from most of the explanations and most of the exercises and all of the coding tasks. However you will not be able to directly repeat all the steps of local development environment setup. Also running a sample system will be even more challenging. Unfortunately I will not help you in case of a Mac.

Hi, I’m Bartosz Kaminski
I am a passionate senior software developer with 15 years of professional experience. I was a developer, an analyst, a designer, an architect and a team leader. I have worked with teams from all over the world for companies located in Poland, Norway, Denmark, Switzerland and USA.
My passions revolve around Clean Code, systems design and architecture, and most of all around solving problems.
Course Curriculum
- Section 1: Text-based Data Formats (26:39)
- Section 2.1: Java Programming Part 1 - JVM, JDK and JRE, Memory, Maven (36:14)
- Section 2.2: Java Programming Part 2 - Programming Tasks (55:46)
- Section 2.3: Java Programming Part 3 - Unit Testing, Debugging, Tips on Learning Programming (55:11)
- Section 3: Spring Framework (66:21)
- Section 4: Frontend Development (53:21)
- Section 5: Version Control System: Git (52:14)
- Section 6: Databases (66:49)
- Section 7: Network and Infrastructure (31:22)

Have a sneak peak at our daily work
Learn how we work in teams, what tools we are using, why teamwork is so important, how to achieve effective communication and how to build effective teams.

Check out a sample system
Get an idea how enterprise web applications look like, what kind of business cases they cover and how we approach analysis of business requirements.

Join me at hands-on exercises
Learn from practical exercises, coding tasks and coding screencasts that will visualise and demonstrate many of the ideas, technologies and techniques that we will cover in this course.