Webinars

On the first Wednesday of each month, at 11am PST, I organize a webinar. For about an hour we talk about software development, object-oriented programming and project management.

Click to add this even to Google Calendar

June 7, 2017
25: Micro-management vs. micro-tasking
We will discuss how bad is micromanagement and how great is micro-tasking. Somehow our discussion will be based on this article: Are You a Micromanager?.

Webinar by Yegor Bugayenko May 3, 2017
24: Inheritance vs. Subtyping
We discussed subtyping in OOP and implementation inheritance, and compared how they are different and which one is good, which one is evil. The discussion was based on this article Inheritance Is a Procedural Technique for Code Reuse.

Webinar by Yegor Bugayenko April 6, 2017
23: Puzzle Driven Development
We discussed Puzzle Driven Development, the methodology that we've been using in our projects since 2009, with a lot of success. More about it here: Puzzle Driven Development.

Webinar by Yegor Bugayenko March 15, 2017
22: Naked Data isn't OOP
We will discuss the problem of data presence in object-oriented code and how their negative effect can be neutralized. The discussion will be based on this blog post: Encapsulation Covers Up Naked Data

Webinar by Yegor Bugayenko February 8, 2017
21: How to Deal With Conflicts in a Software Team
We discussed what was the most effective attitude towards conflicts in a software team, which was aiming for higher quality. The discussion was based on this blog post: How Much Do You Love Conflict?

Webinar by Yegor Bugayenko January 11, 2017
20: Gradients of Immutability
We discussed what immutability really was, with a few example in Java and EO (new language we're developing now). The discussion was based on this blog post: Gradients of Immutability.

Webinar by Yegor Bugayenko December 7, 2016
19: Who Is a Project Manager?
We discussed what was the role of a project manager in a software project and how it was different from other roles. The discussion was based on this article: Who Is a Project Manager?.

Webinar by Yegor Bugayenko September 7, 2016
18: Printers Instead of Getters in OOP
Getters are evil in OOP, but what is the alternative? Printers is the way to go. The discussion was based on this article: Printers Instead of Getters.

Webinar by Yegor Bugayenko August 3, 2016
17: The Philosophy of Bugs
We discussed what bugs were for, how they must be understood by the management, how many of them we should expect to find and what is in general the right philosophy of bug tracking. This article were mentioned: When Do You Stop Testing?.

Webinar by Yegor Bugayenko July 7, 2016
16: Smart Classes and Functionality-Poor Interfaces
We discussed why java.io.InputStream design was wrong, what Smart-Classes are for and why interfaces must be functionality poor. The discussion was based on this blog post: Why InputStream Design Is Wrong

Webinar by Yegor Bugayenko June 1, 2016
15: How to Cut Corners and Stay Cool
we'll discuss how to cut corners and stay cool and how to turn chaos into discipline. The discussion will be based on these articles: How to Cut Corners and Stay Cool and It's Not a School!.

Webinar by Yegor Bugayenko May 4, 2016
14: Java Annotations Are a Big Mistake
We discussed why Java annotations were actually a mistake in object-oriented programming and how they motivated us to break object's consistency and turn it into a data bag. The discussion was based on this article: Java Annotations Are a Big Mistake.

Webinar by Yegor Bugayenko April 13, 2016
13: Who is Software Architect?
Software architect is responsible for failures and is powerful enough to make and overrule any decision. But that is not it. We also talked about delegation of responsibility and micromanagement. Mostly, this webinar summarized what these articles are talking about: Are You a Micromanager? and Who Is Software Architect?.

Webinar by Yegor Bugayenko March 2, 2016
12: Takes, Java Web Framework, Intro
This was be a very practical Java coding webinar. We created jare.io, a web system, using Takes Framework, immutable objects and the best practices of pure fanatical object-oriented programming. We used this blog post as a guidance: Java Web App Architecture In Takes Framework

Webinar by Yegor Bugayenko February 3, 2016
11: Daily Stand-Up Meetings Are Evil
We talked about famous daily meetings and why they were actually a bad idea in a properly managed and disciplined software project. The discussion was based on this post: Daily Stand-Up Meetings Are a Good Tool for a Bad Manager

Webinar by Yegor Bugayenko January 6, 2016
10: Why ORM is an Anti-Pattern?
We discussed why Object-Relational Mapping (ORM) was actually an anti-pattern and its usage must be replaced with SQL-speaking objects. The discussion was based on this blog post: ORM Is an Offensive Anti-Pattern.

Webinar by Yegor Bugayenko December 1, 2015
9: Dependency Injection Container is a Bad Idea
We discussed why Dependency Injection (DI) containers were not a good idea in object-oriented programming and what they should be replaced with. The discussion was mostly be based on DI Containers are Code Polluters.

Webinar by Yegor Bugayenko November 4, 2015
8: What Fake Objects Are For?
We discussed the role of fake objects and the importance of their existence in every object-oriented library. The discussion was based on this post: Built-in Fake Objects.

Webinar by Yegor Bugayenko October 7, 2015
7: A Few Thoughts About Constructors in OOP
We discussed the role of constructors in OOP and a few best practices for their design, including primary vs secondary and code-free design. The discussion was based on these articles: There Can Be Only One Primary Constructor and Constructors Must Be Code-Free.

Webinar by Yegor Bugayenko September 2, 2015
6: What's Wrong About Utility Classes?
We discussed a very common design pattern known as "Utility Class" and its negative effects on the quality of design in object-oriented world. The discussion was be based on this post: OOP Alternative to Utility Classes.

Webinar by Yegor Bugayenko August 5, 2015
5: Don't Create Objects That End With -ER
We talked about class naming principles and a very typical problem of misusing "-er" suffix for them, for example in Managers, Observers, Controllers, Filters, Helpers, etc. The discussion was based on this post: Don't Create Objects That End With -ER.

Webinar by Yegor Bugayenko July 1, 2015
4: Why Getters-and-Setters Is An Anti-Pattern?
We discussed why Getters-and-Setters, a very popular design pattern in object oriented languages, is instead an anti-pattern and must be avoided. The discussion was be based on this blog post: Getters/Setters. Evil. Period.

Webinar by Yegor Bugayenko June 3, 2015
3: What's wrong about NULL in OOP?
This webinar was about NULL references/pointers in object-oriented programming and their negative effect on the entire design of your application. The webinar was mostly motivated by this post: Why NULL is Bad?. My attitude towards NULL references is very negative, so be prepared for an OOP "radicalism" there.

Webinar by Yegor Bugayenko May 6, 2015
2: Immutable Objects vs Common Sense
The second webinar, about immutable objects and their pros and cons in an object-oriented programming. The webinar was based on this post: Immutable Objects Are Not Dumb. I made a few slides for this webinar, to illustrate my point better. There were some interesting questions asked too.

Webinar by Yegor Bugayenko Apr 8, 2015
1: Objects vs Static Methods
The first webinar, where we discussed the difference between static methods and objects in object-oriented languages, like Java. Of course, I'm in favor of objects :) The webinar is basically motivated by this earlier post: Composable Decorators vs. Imperative Utility Methods. It took a bit longer than an hour.

sixnines availability badge