Adapting to the Future of Work in Tech

Rate this content
Bookmark

Anyone who worked in tech, for any amount of time, knows that the landscape is in constant motion. The technologies of today are obsolete tomorrow. The tools of the trade are in constant motion, and continuous upskilling is the bread and butter of all software engineers who survive the passing waves. The software engineers of the future are those who mastered 1 skill: adaptation. In this talk, I will address the evolution of our craft, and my predictions for the core competencies of the future.

Bassem Dghaidi
Bassem Dghaidi
28 min
15 Jun, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

The Talk explores the AI-assisted programming paradigm shift and the evolution of software engineering. It discusses the limitations of large language models (LLMs) and highlights the importance of balancing forces in software engineering. The future of programming is seen as models solving problems based on datasets. The Talk emphasizes the responsibility of creating a better future and the need to strike a balance between utilizing tools and building problem-solving skills. It also touches on the human dependence on AI and recommends resources for further learning.

1. Introduction

Short description:

I'm going to talk about the AI-assisted programming paradigm shift. Thank you for attending my tech talk. My name is Vassim Dredia, a senior software engineer at GitHub.

The future is now. I'm going to talk about the AI-assisted programming paradigm shift. So we're all going to be running out of a job. I think you need to look for something else to do in your life. Thank you very much for attending my tech talk. No, I'm just kidding. Let's get some things out of the way. My name is Vassim Dredia, I'm a senior software engineer at GitHub. I create technical content in my free time by working seven days a week. My partner is a Dutch psychologist, and no, she does not psychoanalyse me, as far as I know. This is a little bit about me, but I want you to retain what I'm going to say now in your minds throughout this entire talk, okay?

2. Exploring the Past

Short description:

Do we discover the future? Do we create the future? Or do we recreate the past? Understanding technology is crucial. Let's start with the past and the work of Grady Bush, the creator of UML. Computers used to refer to human beings. Konrad Zuse, John Van Neumann, and Roth Dietlbaum made significant contributions to software engineering.

Do we discover the future? Do we create the future? Or do we recreate the past? For some people, this might be a very trivial question. What are you talking about? For the philosophers among us, this is a very... They've gone probably on a very deep dive right now, analysing what's going on with this question, and thinking about all the possible ways we could influence the future and the things that we build moving forward. So keep this in mind as we go through this.

I want us to understand the technology, because understanding it allows us to effectively use it. A lot of people look at technology, and they start using it without really understanding it on a fundamental level, and that creates a whole new world of speculation about, you know, doomerism, about what's going on in the future, people being afraid. In order to not be afraid, you have to first understand. In order for us to understand, I'm going to make my argument in three different pieces that I'm going to go through right now.

We are going to start with the past. None of this would have been possible without the great work of Grady Bush. He is the creator and founder of the UML. I'm pretty sure you've used UML diagrams before. These are the brainchild of Grady. But also Grady has done a fantastic job in archiving and building, whatever we're going to see now, on the history of computing. So let us start our journey in the year 1842. Did you know that computers used to refer to actual human beings? Some of you might know. Some of you might not. But in that era of time, the term computation started with Annie Cannon and her group of Harvard computers. And their job was to actually catalog the stars that we see in the night sky. Back then, computers used to refer to human beings doing some cataloging work, some form of computation, some form of calculation that is sometimes a bit tedious, sometimes a bit difficult for others to do. And this is where computing has actually started back then.

Now we're not going to go through all of these different dates. But I want to talk about some of these, some highlights, because I want to illustrate a point about the history of software engineering. Konrad Zuse created the language Planck Calcule, where in another universe, Germany might have been, you know, the leader in terms of computation and in terms of, you know, creating everything we see in the world. All of the companies that Konrad has created have paved the way for a lot of the technology companies that are now in our world. And we see them in today's world. Who doesn't know John Van Neumann? If you've taken any computer science or engineering course, you've probably seen the CPU architecture, which was the brainchild of this polymath and polyglot in every sense of the word. John Van Neumann was a genius back in his time and his impact is still left until today. Roth Dietlbaum worked on the ENIAC computer and she co-developed the programming system for that machine. And the reason why I'm bringing up these people is that each one of them has introduced new terms and new words and new concepts into our vocabulary.

QnA