“The one big hope I have for humanity is that we won't lose our curiosity and creativity. And I think that loss is more likely to come from entertainment that makes us bland and uninterested. Not from some artificial intelligence taking our jobs…”
Is it worth starting to learn programming or the data sciences today? Isn't the future of software engineers doomed? Could anyone become a specialist in these fields? Why does a university education sometimes turn into an obstacle?
Yordan Darakchiev has a lot to say on the subject. For the eighth time, he is starting to teach the first one-year module in Bulgaria that gives a person enough knowledge to start working in data science and artificial intelligence.
During his previous visit we talked about the definitions and possibilities of machine learning, neural networks and artificial intelligence. About how, almost by accident, an astrophysicist by training began teaching people who later joined the AI teams of companies like Tesla and Meta, or promising startups.
Now we'll peek at the challenges generative algorithms confront us with. We'll talk about developing software and artificial intelligence systems as a professional challenge, an exciting field… and an opportunity that more people should try.
– What do you think are the consequences of the fact that we find it increasingly hard to tell the created from the generated? We have it even in computer code now…
– Before, it was Photoshop—a person did it with the help of a tool. Before Photoshop, it was the person in the darkroom making collages. Before that, it was painting…
We humans are endlessly creative when we're looking for a way to fool someone, whether for artistic or for worse purposes.
But also… we've seen this before. Yes, we can't easily distinguish something generated by AI from something created by a human. But aren't both modeling the same thought process after all?
I see a very big paradigm shift in a different direction. A standard computer program is something you know you ask a question and get an answer from. You're guaranteed the answer will be fast and accurate, but not that it will be very intelligent.
Now, though, it's exactly the opposite. You have “something like” a person in front of you.
A little buddy who knows a lot, but who can also get a lot wrong and lie.
Personally, I see dangers with copyright. The people who create something need to be guaranteed that what they love, what is their goal and calling in life, won't suddenly become superfluous.
At some point this question even stands before me as a teacher. One of the things I'm valued for is precisely human contact and understanding. The fact that I can not only answer questions correctly, but also know the person in front of me, understand them and empathize, share from my own experience.
It's hard for me to imagine how human-created content will become scarcer or less relevant than AI-generated content. But I think there will always be that touch of authenticity, beauty and… contact. We're not only talking about content here. I can have a robot assistant. I can imagine some language model posing as my friend, but how authentic is that experience?

– If you don't know which of the two it is, then why shouldn't it be authentic? If you're so convincing that I can't tell whether you're really answering me, or you've been generated by the algorithms?
– These are very philosophical questions, like Roko's basilisk or how to kill your own clone. You have a “person” who thinks absolutely like you, knows what you would do… how do you kill them? When we talk about AI, we inevitably get into a philosophical discussion like that.
But such discussions exist not only in this field. Art hasn't disappeared and won't disappear. Candles still have plenty of uses today. Some things we've lost irretrievably, but others have been born in their place. Besides, sometimes we rediscover old knowledge.
The single greatest hope I have for humanity is that we won't lose our curiosity and creativity.
And I think that loss is more likely to come from entertainment that makes us bland and uninterested. Not from some artificial intelligence having taken our jobs…
– Is it worth learning programming today, or, as one of my guests put it, is it like buying a factory on September 8, 1944, the eve of the communist takeover that soon nationalized everything? Even the head of Nvidia announced that he wouldn't waste his children's time on it.
– Do you know how many times I've been asked that question? Back when I was learning to program, we wondered whether it was worth it, because we thought everything would be automated, and it really is happening. But
programming, at least for me, is one of the most important skills in the modern world.
It can help you with everything, whether you do data analysis, you're a software engineer, or you just want to automate some everyday tasks.
Programming matters not only for professionals but for everyone else, too. It helps the brain develop, helps you solve such a variety of problems. And third:
someone has to write these models, someone has to build this AI!
It has been trying to create itself for a long time, but so far it hasn't worked out. At some point that will happen too, but I think by then programming will have turned into something even closer to natural language, even more visual or intuitive. But it will always be important. In the end, a programming language is also a language, and language, whatever it is, is the most fundamental thing we have as humans. It gives us the ability to express our ideas and share them with others.

– The question is whether we aren't close to that next level of abstraction, where you say: “Dear ChatGPT, write me a script that solves this problem.” And many of the everyday applications you're talking about won't be needed.
– Hold on,
what do you mean by programming? For me it isn't writing scripts, it's solving problems.
You'll put some everyday task to ChatGPT, but how many easy everyday tasks do you actually come across in practice? Can you write Google's Koprivshtitsa algorithm, named after a Bulgarian mountain town, with ChatGPT from start to finish?
– Veselin Raychev does that; maybe not all of us need to be able to. For a large share of people working in the industry today, the work is routine—they solve mundane, recurring problems.
– Exactly! Automating the more everyday tasks. That's great! Why should anyone write boring code? Why would anyone dream of being a programmer who writes boring or monotonous scripts? I can't explain it.
Besides, it depends on what you do, but once a month you may need to use complex algorithms. In my work, just yesterday I used several kinds of statistics, hypothesis testing, and at one point a prefix tree. I have training, model evaluation, working with data. Yes, this work can be improved, I can be given ideas. But in the end, someone has to take responsibility for what's been done.
As for programming, there are so many positions, technologies, languages. A few years ago I was doing what I do now—applied research. Back then my position was called “machine learning engineer,” because that was the only thing that existed. Now I'm a “data scientist” or a “researcher.” Since then we've gotten the ML engineer, and alongside it MLOps was born, cloud engineers, database administrators. So from one position that did everything at the start, there are now dozens in this field alone. Now
there's much greater specialization and more directions a person can head in.
True, in the long run some positions may drop away, but there will also be huge diversification and more needs.
– But the question is whether we're talking about far fewer jobs.
– Weren't we talking about far fewer jobs when we went from horses to cars, and from steam to electric and diesel trains? And are you sure there isn't a single steam locomotive running anywhere in the world right now? It's impractical, it's not modern. Some do it for pleasure, others out of love for history, but it's still not something that dies.

– Still, if I'm wondering right now whether to start learning to program, is your answer: “Absolutely yes, because you don't know how it will be useful to you, but it will be”?
– My answer is: give it a try. But there's the other side too—programming isn't for everyone. Everyone should try it, but not everyone has to do it. Just as not everyone has to go into law or painting. There are people who find it completely uninteresting, or for whom it doesn't fit how they see things. Everyone should try, not be afraid, but nobody should feel obligated.
– Who should head into your field—data science, machine learning, neural networks, artificial intelligence—and when?
– Whoever wants to, whenever they want. There's no barrier to entry, and there never has been. Our profession is considered a bit more elitist, but the truth is this:
It's very easy to get started! It looks scary, but it's very easy.
This diversification of professions has created the need for an enormous number of very diverse people. Right now, just as in programming, there's a huge shortage of talent. Every startup, every corporation is desperately looking for people, and those people aren't there. Not because they're stupid and don't apply, but simply because the number of candidates is limited.
– What are the first steps if someone wants to head into the world of AI?
– That's something that isn't easy for me to explain to many people.
In fact, all you need is a desire to learn and communication skills.
You don't need to know “this is that regression,” “this model works like so.” At some point you'll have to, but that always comes second.
You need an enormous desire and ability to learn, and to learn fast, because the environment is dynamic and you often have to invent what you're doing. Very often there's no recipe to follow; you create it yourself based on your previous experience and what you've read.
And the second thing is being able to communicate, so that other people can help you with ideas and you can help them. Those are the two skills that are critically important.
From there on, even for the highest positions, these are still the fundamental skills required. They're much more important than the technical ones—those accumulate as a result.
– Is a university degree necessary? Does it help? Or… does it just not hurt?
– Is it necessary? No. Does it help? Depends on what you like. I (almost) finished a PhD in astrophysics. I've loved science since I was very little; it shaped my way of thinking, of seeing the world. But
having some degree has never been an advantage for me in any way.
Let's make a distinction between the degree (that is, formal education) and what I've studied in general.
I got all my knowledge of machine learning from the internet.
You can learn something from scratch to a good, professional level from the internet alone.
But you have to want to learn and be able to.
“Doesn't hurt” is already a bit outdated. Over the last year or two, a trend has started of companies not liking people with degrees. Because in some cases you first have to unteach them, then teach them, as opposed to having people with whom you're writing on a clean slate.
My advice: if you're really very interested in something, if you want to do it for yourself, to develop in academia, to do scientific research—then yes. INSAIT, the AI research institute in Sofia, is a very good example of this, an applied institute. The degree doesn't hurt, but only if you really want that knowledge. Not if mom and dad told you that you have to.

– And yet, if a candidate shows up with a degree from Harvard or MIT…
– Quite the opposite. I had a very sad experience with a boss of mine who had graduated from a university like that, bragged a lot and was good for absolutely nothing. The thing is,
if you have the knowledge, nobody will ask you for a degree.
– But the argument is that at university you get fundamental knowledge. You study more math, electronics, networks before you get to programming, and if you do it through the academies, you might skip them.
– I teach math. I started by making a distinction between a degree and learning. Learning is a good thing. So is a degree, if you need it for something, but it's important to know that it isn't mandatory. You can get that fundamental knowledge in all sorts of other ways. Honestly, I got most of it at school—I graduated from a math and science high school.
I've seen many success stories of people who never so much as caught a whiff of a university, but study a lot every day. And then they write scientific papers.
It has made me very sad to see people who have lost the curiosity they had as children.
Sometimes it's precisely universities and schools that kill it. Look at the PISA results and the matura, Bulgaria's school-leaving exam.
– Why, despite all the buzz around AI, does there seem to be no growth in job postings, and postings for programmers overall are even declining?
– Postings really have been declining lately—the market is contracting, but it won't last, because these people are endlessly needed by every business.
Even if it exists, I don't think the danger of being replaced by machines is that close.
We have a global recession, wars, shrinking consumption. On the other hand, programmers' skills remain irreplaceable. For me, every good software engineer must be able to adapt and have more than one skill. You can't tell me you're a good software engineer if you've written on the same platform your whole life.
In my field, at least in Bulgaria, very few people post job ads. It more often happens through referrals, directly, through recruiters.
– Isn't the bigger problem that today there are far fewer positions where a person can start out?
– There are positions. Most of the people who took my course and graduated a month ago have already found jobs; the rest are in the middle of interviews, and I expect them to find something within six months.
Besides, many of the people coming in already have some other professional experience that matters. “Beginner” doesn't mean starting from zero. I know one such person who was a journalist his whole life and then became a programmer…
– I know him too; I even chat with him now and then…
– It's good to take what you have. You have the skill of storytelling. Okay, so writing documentation, explaining, communicating between teams isn't a problem for you, especially if you find it interesting.
There are people with years of experience in science, engineers, architects. All these people have knowledge they can use, and very often they aren't even hired for entry-level positions—they're already a level above.
I'm coming back to soft skills—these are people who have a work culture. That's harder to build than learning how Python works.
One more important thing: experience in learning is also experience. You take some course, do a project and add it to your portfolio. That's how you can prove you've learned something.

– Are there things it no longer makes sense to start learning?
– So many things will no longer be needed. But I'm someone who loves diverse knowledge. For me it's never been good for a person to be an expert in just one thing and understand nothing of anything else.
Everything you know may come in handy sooner or later. All knowledge is useful.
– If we're starting now, how do we figure out our place in the whole sea of courses and academies? How can we be sure we won't waste our time and money?
– As interest in the field has grown, so has the number of people popularizing it. Naturally, when you have more courses, you have a wider range of quality.
How do you choose? I rely quite a lot on reviews from other people and on some kind of advance information. There are courses that have been recorded, so you can watch sample videos; others someone can recommend to you. When I learn, I like not to watch just one thing, but to explore a topic from many different sources, whether scientific papers, videos or code, and get different points of view. That doesn't apply to everyone, but it's my solution.
People learn in many different ways. Some learn fastest from videos, others only by listening. Most of us are visual people. I learn best when I read; sometimes videos are too slow for me, the pace doesn't match mine. Everyone has their own ways. One new solution is to ask some AI, while knowing that it may hallucinate, may lie to you very convincingly.
My advice is to try different modalities, that is, different ways of taking in information.
– Many people don't dare start with programming or data work because they're afraid of math. What's the truth—do you have to be good at it? Or might it turn out that you are good at it and never suspected, because it was taught to you in a boring way at school…
– We mentioned that data work now has many directions. In some you have to be terribly good at math; in others you can know nothing.
As for programming… let's talk about software engineering. It's quite a complex thing. You have processes, team management, automation. An awful lot of things that go beyond sitting and writing code.
Typing code on a keyboard is only part of the job, and a small part at that. The rest is what turns you from a programmer into a software developer, and then into a software engineer.
For us, in data work, there's even less code writing; you can get by with a few lines for almost anything. What you really do need, though, is to know what you want. Is this what I need? What hidden dependencies are there in this data? What hidden problems does it contain? These are questions we ask ourselves every day, and here there's a huge need for what's called mathematical thinking. Having the logic, knowing what means what, following certain intuitions or more formal methods. Being able to make complex decisions, to break a problem into parts—that's an irreplaceable skill for everyone, not just for people in my field.
My work as a data scientist specifically is mathematical. Many people recoil—“Math, eek!” But once you've learned what you need, if you look back after a year, you'll see it's very little. They're important things, fundamental, but that's exactly why one small piece of knowledge can be used in many places.
Besides, honestly, it can help programmers enormously too. I've seen many people for whom starting to think mathematically helps every day. Thinking not about what the code is, but about what it means in a system with so many component parts.
– What will the last programmer do for a living?
– Plug-puller. That's how I picture it, as some absolutely final safety measure…
– Let's hope it isn't one of us…





