Should one go abroad? Is there a common space between academia and the “real world”? What makes a good professional? What opportunities and challenges do technology advancements bring when compared to previous eras? And how can one “survive” and thrive in that context?

Q&A with Spyros Lalis

These were some of the topics of our discussion with Professor Spyros Lalis, Associate Professor in the Electrical and Computer Engineering Department at the University of Thessaly, during one of our recent Friday Q&As.

These were some of the topics of our discussion with Professor Spyros Lalis, Associate Professor in the Electrical and Computer Engineering Department at the University of Thessaly, during one of our recent Friday Q&As.

Below we present the key points of our discussion.

SV: Let’s start off by getting right to the point. What advice would you give to a computer science graduate? Would you encourage him/her to stay in Greece and opt for a Greek company or chase a career abroad?

SL: “It is tricky to offer advice to a young person concerning choices that may very well define her/his career and future. Above all, one should search inside to find the “right” answer for herself/himself. Nobody else can do this for you.”

“Having said this, going abroad is usually a good move career wise. Let’s be honest, there are numerous and more attractive job options and you can advance much faster than in the Greek sandbox, whether you are in the academic or corporate environment. Equally important, it is a valuable “calibration” process. You see how other societies live and organize their educational and business ecosystem. You also see how strong (or weak) your own education/knowledge is, compared to your peers outside of Greece.”

No magic wands

“One thing surely makes an impression to all who take this step. It is quite amazing to see that the Greek “system”, despite its problems, compromises, bugs and even byzantine failures, continues to produce some very good computer scientists and software engineers who can stand next to other graduates from top Universities abroad. You also get to see that other people “cook with plain water” too. There are no miracles. You have to work (hard) to succeed. Cheap tricks will not do it for you. That’s true especially in our field where one’s skills are put to test from day one.”

Openness

“There is also increased openness. During my studies (at ETHZ) there were many invited talks at the Department, almost on a daily basis, and this tradition often carries over to the corporate environment. Something which is still lacking in our country. This is partly because the relationship and interplay between universities and industry was treated with great suspicion, for entire decades; today the situation has improved but IMO we still have a long way to go to reach a good balance. Abroad, you also work together with people from all over the world, something that is a rarity here, not only in the academic but also in the corporate environment.”

Social network

“By moving abroad you become a citizen of the world. You experience a different culture and develop a broader way of thinking. Your social network expands beyond Greece. This becomes even more valuable if/when one eventually returns home. Because you bring a different mentality and practices that can have a positive effect on the local ecosystem (provided they are adapted appropriately). Also, your international connections can lead to fruitful collaboration with people, institutions and companies outside of Greece.”

Technology

SV: Technology has changed dramatically in recent times. Machines have incredible capabilities. Do you believe that we have the skill set to make good use of and not waste such resources?

SL: “I’m part of a generation that learned to be thrifty with computer resources. Back then, you had to squeeze everything into a few kilo-bytes of memory and it would take literally hours to compile large programs. We were meticulous about every single line of code, making sure about both syntactical and functional correctness before launching the compiler. Even a single, trivial syntax error translated to a huge waste of time. As for runtime errors, given the lack of debuggers, you were literally on your own. Unless you were extremely disciplined, there was simply no chance to produce anything that actually worked.”

“Today, programmers have advanced tools and super-fast machines at their disposal, to compile but also to run/test software. This radically shortens development time. But it can also make you lazy and careless. Sometimes I notice students who keep on changing parts of their code in an almost random manner until they happen to get the desired output, without actually knowing why “it worked”. Also, designs have become more volatile, partly because they are not well-thought in the first place. One cannot get very far this way. Perhaps adding a completely superficial delay in the compiler and runtime systems but also in the e-mail system, would lead to an improvement of software quality? (laughs)”

SV: It’s true that we are all facing an overabundance of new technology frameworks. Is it possible for a developer to keep up with all these changes and have a deep understanding in order to be productive?

SL: “The pace at which new software platforms/frameworks are being introduced is crazy. Most of them don’t necessarily solve a new problem, but rather approach it from a (slightly) different angle or provide support for a particular aspect. Sometimes it almost seems as if we are reinventing the wheel in many different and fancy colors. In part, this is a side-effect of open source. But it is primarily a result of the increasing complexity of computer systems that are now more ubiquitous than ever before, used for high-performance computing with thousands of cores, enterprise/business processes in the cloud, all the way to home/online entertainment, games, social media/networks and mobile/embedded/wearable devices that generate an unprecedented amount of data that needs to be processed (or not).”

So, what should a modern-day dev do?

SL: “Make sure you have a good understanding of the functionality you wish to implement. Try to keep the bigger picture in mind, not just the small part for which you are responsible at this point in time. Then search for a platform/framework that seems to be close to what you want, or can serve as a solid basis to build on top of it. Also, try to understand how things work under the hood. Avoid killing mosquitoes with a bazooka.”

A good professional defined

SV: How would you define a good professional? What are the key attributes that one should have in order to be considered as a good one? If you were asked to recommend one of your graduate students for example on what criteria would you base your suggestion?

SL: “Apart from the technical skills, which are easier to verify, there is more to people. Character can have a huge impact on one’s performance, collaboration and evolution, both in the academic and corporate environment.”

Adaptability and flexibility

“Some people may have the full set of tech skills but they may also be stubborn or afraid of change. They may get stuck to a solution/approach that does not fit the problem at hand or is simply outdated. They may also be “closed” to other people’s opinions/advice or the prospect of learning something new. Another person might have less skills but be more adaptive and open, which may ultimately lead to better overall results. At the same time, it is important to have an internal drive and not simply follow instructions/directions that seem useless to you.”

When things go wrong

“Most people are nice, cool and efficient as long as things go well and according to plan. But how does one react when (not if) things go sideways? Some people get discouraged, break-down or simply quit. And one can always blame the next person. Other people remain calm, roll-up their sleeves and search for solutions. This is key, especially in the startup environment where failure is the rule. In the academic environment too, you often achieve the desired result, be it an algorithm, mechanism, prototype or publication, only after a (long) series of failures.”

Handling criticism

“We all hate it when our (hard and of course magnificent) work is being criticized. One can always reject any criticism as being unjust, biased or even malicious, or go straight into defensive mode. Even when criticism is exaggerated and aggressive, the trick is to take a positive stance and try to understand what could be improved in your work. Then again, you should not give-in just because someone barks at you. Perhaps he/she just had a bad day (or night). After all, other people are imperfect too.”

Academia vs the real world

SL: “The academic environment is more tolerant, you can take more risks, explore crazy ideas. Although having your papers and research/project proposals rejected is definitely not great fun, you are still standing on your feet. When it comes to a developing product or a business idea, you do not have as much leeway for experimentation. You can only fail a limited number of times and you have to deliver within a given time window, else the game is over. You also have to actually support what you produce for a potentially very long period of time, and make sure it can evolve and scale in a flexible way. This is usually where all the shortcuts you have taken during development will bite back.”

Competition and high standards

“In the early days of computer science there were many unexplored areas and relatively few people who worked in them. The situation has changed, a lot. The number of people doing research in the wider domain of Computer Science has increased significantly over the years, and they all work at a very fast pace. The number of publications on any given subject area have sky-rocketed. While new research directions continue to emerge, in order to make a contribution you need to focus and be very efficient in your work. The competition is higher than ever before. In this dimension, things are not that different compared to the business world.”

Material resources aren’t (that) vital

“The good news is that computer science and software development (but also hardware development, which is nowadays largely based on software tools) does not require huge material investments, such as specialized laboratories and powerful super-computing centers. Compared to other domains like medicine, chemistry or biology, CS is practically for free. In many cases, you merely need a cheap laptop — and your brain. That’s it! You can still work small wonders, both in academia and in industry. This is especially important for Greece, which is not a rich country and is constantly under huge financial pressure.”

But people matter

“To some, this may create the (lethal) illusion that you can also save on human resources. The exact opposite is true. Precisely because there are no high entry-barriers to computer science and software development, it is people who make the crucial difference. Quality makes a big difference here. Both in universities and companies.”

“But, to be honest, even though you do not rely on material resources (as much as in other domains), you do have a clear advantage when you are next door to major technology providers and industrial players. This is a big problem in the Greek landscape. Which brings us to the next point.”

The ecosystem

“Greece needs to develop a healthy ecosystem, one that cleverly combines universities, industry and small companies; the current situation leaves a lot to be desired. This is the only way to stop the strong brain-drain and create a vibrant work environment, which, in turn, will motivate good people to return/stay home and work for the Greek economy.

“At the same time, start-ups and companies need to be outward looking. Aiming (far) beyond the national borders, targeting foreign markets and seeking international collaboration opportunities is key to success (or should I say survival) for any Greek tech company.”

“We still have the right instinct in our DNA. To a large degree, we are seafaring people, restless, independent, risk-taking and masters of improvisation. Due to our rich and unique blend of eastern and western mentality, we are able to communicate, work and bond with a wide range of different cultures. We should build on these properties in a more conscious way, not just as individuals but also as institutions and companies, even as a country.”

About Spyros Lalis:

Spyros Lalis is Associate Professor in the Electrical and Computer Engineering Department at the University of Thessaly. His main research interests are programming environments, operating systems, software engineering, parallel & distributed systems, and ubiquitous computing systems. Besides his teaching duties at the University, he has worked as a research associate at the Center for Research & Technology Hellas (CERTH). Before moving to Volos, he taught at the Computer Science Department of the University of Crete, and was a research associate at the Foundation for Research and Technology Hellas (FORTH). He received a Diploma in Computer Science and a PhD in Technical Sciences from the Swiss Federal Institute of Technology Zurich (ETHZ).

Dimitris Tsingos Dimitris Tsingos

The Starttech Ventures Founder. Tech entrepreneur. Passionate European federalist. Dimitris has been the President of YES for Europe - European Confederation of Young Entrepreneurs [2011-15], the Founder of the Hellenic Start-up Association [2011], Board Member at EBAN - The European Business Angel Network [2014-17], 40-under-40 European Young Leader [2012-13], Marshall Memorial Fellow [2018] and a Fellow of IHEIE/PSL [2019].