Becoming a Professional FED

When both Microsoft and Adobe started to adopt HTML5 it was clear to everyone that both Flash and Silverlight will no longer be the dominant technologies in developing the front end of web applications. The shift was very fast. As a result, it became difficult to find experienced front end developers. This shortcut was an […]

Learning The Programming Language First

You cannot learn properly how to use a specific library or a specific framework without mastering the programming language for which the library or the framework was developed for. You cannot learn how to develop web applications using Angular without learning properly TypeScript in advanced (for those who don’t know, software development with Angular is […]

The First Programming Language

I teach academic courses for nearly 25 years. During those years many of my colleagues have approached me asking which programming language do I recommend for beginners to start with. My answer usually was that it is more important to ask what are the theoretical topics that will be taught than which tool (meaning, the […]

Capturing Lectures on Video

When listening to a lecture about a specific topic in software development, the smallest detail you miss can ruin the understanding of the entire topic. Capturing on video each and every lecture allows the students to listen again and again (in their free time between meetings) to the specific relevant parts. Having the lectures captured […]

Reverse Learning

Delivering professional training using the reverse learning methodology means that the students learn the topics they expect to cover in the coming meeting in advance, and during the meeting itself most of the time is dedicated to explaining the more difficult sub-topics, answering questions the student come with and practice. Given that we already have […]

Software Development Long Running

Unlike many other traditional professions, when it comes to software development it seems that the pace in which new technologies emerge is so fast that it is hardly impossible to stay up-to-date. People that think about becoming a professional software developer should take that into consideration. Becoming a software developer isn’t about taking a single […]

Learning Programming in Small Classes

When teaching more than 14 students in the class it is nearly impossible to maintain eye contact with each and every student. When losing that eye contact it is nearly impossible to sens the students. Many of today students don’t feel comfortable asking basic questions and as a result of that, they are left behind. […]

Learning Object Oriented Programming

Learning object-oriented programming is not simple. It might take years of experience until a programmer gets an in-depth understanding of this programming paradigm. Even when taking a course that is fully dedicated for this topic, the need in the practical experience of a few years (at the minimum) still exists. Sometimes even that doesn’t help. […]

Data Classes in Python

As of Python 3.7, we will be able to mark the class we define with the @dataclass decorator. Doing so, the newly defined class will be a data class (similarly to Data Class in Kotlin). As with Kotlin, the main outcome of having our class defined as a data class is having auto-generated methods, such as […]

Xamarin (Bright?) Future

Xamarin allows us to deliver native Android and iOS applications based on the very same shared C# codebase, using the same IDE, and the same APIs. Xamarin wraps the Android and the iOS APIs with its own API written in C#. In addition, most likely that some of the Xamarin’s API is implemented directly and […]