Future of Programming

March 27, 2018
GenderInequality SoftwareDevelopment Apprenticeship

I would like to share a must-see presentation for every software enthusiasts. The presentation is about Future of Programming by Robert C. Martin. There is no tl;dr available for this video and there shouldn’t be.

Throughout the presentation, he summarizes the history of programming, from vacuum tubes to transistors. He draws a virtual timeline for us to understand history of programming, before understanding its future.

While some of the headlines surprised me, one of them made me disappointed with the software development environment. I want to start off with my disappointment.

Gender Inequality

There is a huge gender inequality in software environment. More than you could ever imagine. I would like to share one of my experience just to help male readers to recognize the problem. While my girlfriend looking for a carrier in software development, after graduating from both Electrical - Electronics and Computer Engineering departments with the second highest GPA, some of the companies explicitly stated that they would hire her only as a business analyst. Don’t get me wrong, there is nothing wrong with the business analyst position. But, imagine that you have applied a software development job, the company invited you to a meeting, and during the meeting they stated that they could only hire you as analyst because of your good communication skills. I would feel both angry and disappointed.

Gender inequality is not the only thing bothers me. As “Uncle Bob” Martin stated, at the first years of the software development, there were no gender inequality, the number of male programmer was almost same with the number of female programmers. He shows a graph about women’s work area preference, after 80’s women stop thinking software development as career. What disappointed me is this, we lost half of the population from a work area over time. We must reclaim the gender equality.

What surprised me was the realization that we are not doing anything new since 1945. Presenter states this by his own words;

If we have made any advances in software, since 1945, it is almost entirely in what not to do. Structured Programming was in what not to do - don’t use unrestrained goto. Functional Programming - don’t use assignment. Object Oriented Programming - don’t use pointers to functions. What we have learned over the last 70-some years is more about what not to do, than what to do. There have been no radical advances in software technology. The craft of writing software remains roughly the same as it was in 1945 - a little more modern, but not essentially any different.

What about the future of programming? No spoilers, no tl;dr, watch the video 📹📹