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.

This talk has been presented at TechLead Conference 2024, check out the latest edition of this Tech Conference.

FAQ

Understanding technology is important because it allows people to use it effectively and reduces fear and speculation about future advancements.

Grady Bush is the creator and founder of UML (Unified Modeling Language) and has significantly contributed to the history of computing.

Sebastian Drede is a senior software engineer at GitHub who creates technical content in his free time by working seven days a week.

The AI-assisted programming paradigm shift refers to the increasing use of AI tools like GitHub Copilot to assist in software development, potentially changing the landscape of programming.

Annie Cannon and her group of Harvard computers were early human 'computers' who cataloged stars, marking the beginning of computation work done by humans.

Margaret Hamilton coined the term 'software engineering' and introduced it to the industry.

The Mythical Man Month is a book by Fred Brooks that is essential reading for those involved in software project management.

John van Neumann developed the CPU architecture and made numerous contributions to computer science and engineering.

Large language models (LLMs) can assist in software development by acting as programming companions, helping with code generation, and aiding in brainstorming.

The future of AI-assisted development will see gradual improvements, with AI tools becoming more integrated into the software development process, but human engineers will still be essential.

Bassem Dghaidi
Bassem Dghaidi
28 min
14 Jun, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

The Talk explores the history and evolution of software engineering, highlighting key figures and concepts that have shaped the field. It emphasizes the importance of understanding AI-assisted programming and how it can be used effectively. The future of programming is envisioned as models writing code based on defined behaviors, with a gradual shift towards solving human problems. The impact of AI on coding raises concerns about dependence and the need for responsible consumption. Guardrails, awareness, and customization are crucial in technology consumption.

1. Introduction to AI-assisted programming

Short description:

I'm going to talk about the AI-assisted programming paradigm shift. My name is Sebastian Drede, a senior software engineer at GitHub. Do we discover the future? Do we create the future? Or do we recreate the past? I want us to understand the technology because understanding it allows us to effectively use it. 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. None of this would have been possible without the great work of Grady Bush, the creator and founder of the UML. Let us start our journey in the year 1842. Computers used to refer to actual human beings in that era of time, the term computation started with Annie Cannon and her group of Harvard computers.

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 Sebastian Drede. 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 psychoanalyze 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. I'm going to ask you some questions and just think about them as we go through this presentation.

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, analyzing 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. And 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. And 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.

2. The History of Software Engineering

Short description:

And their job was to actually catalog the stars. This is where computing has actually started back then. I want to illustrate a point about the history of software engineering. Conrad Zuse created the language Planck Calcule. All of the companies that Conrad has created have paved the way for a lot of the technology companies. John van Neumann was a genius back in his time and his impact is still left until today. Roth Dietelbaum worked on the ENIAC computer and she co-developed the programming system for that machine. Each one of them has introduced new terms and new concepts into our vocabulary.

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. 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. Conrad Zuse created the language Planck Calcule, where in another universe, Germany might have been the leader in terms of computation and in terms of creating everything we see in the world. And all of the companies that Conrad 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 Dietelbaum 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. They've introduced new ways of thinking about programming, about code, about how we interact with the machines.

QnA