Profile
Giuseppe Cotugno
Thank you all for the excellent questions and wish you all the best for your future!
Curriculum Vitae
-
Education:
Liceo Classico (a sort of Italian grammar school), Bachelor of Engineering Degree at University of Calabria, Master of Engineering Degree at La Sapienza University of Rome, PhD in Robotics at King’s College London
-
Qualifications:
I am about to finish my PhD studies in Robotics at King’s College London
-
Work History:
Mostly in universities: University of Calabria (Italy), University of Rome La Sapienza, Humboldt University (Berlin), Technical University Berlin, King’s College London. I was performing research jobs trying to marry pure science with engineering in the context of robotics. 3 years ago I started my job as Software Engineer at Buhler UK in London
-
Current Job:
Software Development Engineer @ Buhler UK
-
Employer:
My employer is Buhler UK, which manufactures food processing machines, called optical sorters, and it is the London subsidiary of the Buhler Group corporation. Its customers own food processing plants and are based all over the world.
Buhler is a Swiss corporation, firstly established in the XIX century during the industrial revolution. The corporation manufactures industrial machines used in various parts of the food processing chain. The group produces anything from milling and grinding machines but also die casting machines. It sells mostly to other companies that process food and it can provide all the equipment required to set up a food processing plant from scratch. The types of food handled varies from nuts, seeds and rice to confectionery, the corporation does not produce machines for meat processing but it does sort some plastic for recycling plants.
To give you an idea, freshly harvested peas would be delivered from the farmer to a food processing plant. The peas will undergo several transformation to clean them from rubbish (like roots or grass) and from bacteria until nearly all impurities are eliminated (see picture below). Buhler provides machines to support this process. The clean peas will be then packed and shipped to a warehouse from where the supermarket will purchase them and sell them, in smaller packs, on the shelves.
The London subsidiary, aka Buhler UK, manufactures only optical sorting machines, the last line of defense in a food processing line. The company is in the top tier of sorting machine producers and sells all over the world, competing against European and Japanese companies in terms of quality of the sort, cost and number of gadgets (i.e. possibility of completely controlling a machine from home via internet). If you are snacking some peanuts now, it might be well possible that it got sorted by a Buhler machine. In Buhler UK are also developed most of the innovations that affects the whole group, such as a new sensor.
Mechanical, hardware, software and research engineers have to cooperate on a daily basis the make sure that the whole product (the machine) can perform well, it is usable and all the involved parts, from a valve, to a board to a software driver for a touch screen, fit together and are compatible. This company prefers to manufacture everything in-house by themselves, purchasing only the basic components such as an operative system or a microcomputer. A well furnished electronics lab is provided and it is like being in a hacker’s playground. Even the manufacturing is performed in London, as different pre-assembled parts of the machine are put together in an assembly line (see below, please ignore Nick Clegg).
-
About Me
I am an Italian engineer and a PhD student close to the end of the degree. I am a father and I in my free time I enjoy watching TV, play video games or board games, I was used to be a fencer
-
Read more
I was born in Cosenza, the second largest city of the poorest region of Italy, Calabria (see picture below). I was lucky enough to receive a computer for Christmas when I was a child in the early 90s. Playing old video games (such as Prince of Persia, Wolfenistein or Red Baron), and tinkering with the computer itself, significantly shaped my professional decisions at university. It was a different time, my computer was as big as half a desk and was about 600 times less powerful than a Google Pixel 1 phone. Probably this approach wouldn’t work today.
My high school studies focused on humanistic subjects, such as literature, philosophy, history, Latin and ancient Greek and also sciences like chemistry, earth sciences, biology, physics and math. In Italy the school’s curriculum is fixed and those were the subjects studied at the “Liceo Classico”, which is a sort of Grammar School but not (anymore) as exclusive as it is in the UK.
Following my passion for computers, I start my studies in Computer Engineering at University of Calabria (see picture below), the local university, where I learn the basements of engineering (digital systems, software engineering, advanced math etc.). Returning from my experience as Erasmus student in Brussels, I pursue my master in Computer Engineering in La Sapienza University of Rome, focusing more on Artificial Intelligence (machine learning, neural networks, robotics, etc.). Finally I start a PhD in Robotic Grasping at King’s College London and I joined my employer, Buhler UK, while terminating my studies.
Apart from that and enjoying playing all sorts of video games, from X-Com to GTA, Civilization and Elders Scrolls, I like playing also different sorts of unorthodox board games. Games where the purpose is to lie and to fool other players (Avalon or Mafia), to those where you need to elaborate a complex business or military strategy (Agricola or Game of Thrones). Despite being Italian, I am terrible at football and I don’t follow the Italian’s premier league (Serie A) that much, but I still have in my heart my local football team. I enjoyed playing different sports, like basketball or tennis, but the one I like to most is fencing and I was used to participate in UK epee competitions when I was less busy. I like travelling a lot with my wife, especially out of Europe, as I already visited many EU countries. I often spend the evening watching movies and TV series, some my favorite ones were the Lobster (movie), Westworlds (TV Series), the Man in the High Castle other than the usual well-known heavy weights such as Game of Thrones and House of Cards. I am father of a little 2-years-old girl.
-
My Work
I develop software that instructs industrial machines to separate good food from bad one. To do so, I program microcomputers embedded in an electronic circuit to activate different devices that feed the machine, eject the bad food or control the sensors and lights. Sometimes I also work on the software that allows a human worker to configure and monitor the machine
-
Read more
I work on optical sorting machines, which is a category of industrial machines designed to separate good and safe food (bacteria-free, not spoiled or broken) from bad food and impurities (stones, little branches or leafs) using cameras (see picture below). Those machines are the last defense in a food processing line, anything that goes undetected might end up in people plates, so making them to work well it’s quite a responsibility!
As software engineer, my job is to design, implement and test the software which controls the hardware of the machines or allows a human to interact with them. This can take the form of a program ran on a computer to configure every aspect of a machine, like the number and type of cameras, or a user interface: a screen full of fancy buttons which let a worker in the plant fine tune the operating parameters of the machine, such as how much food shall be input to the sorter or how an impurity looks like on camera (see below).
Another part of the software I work on, which is my favourite, is those that interacts directly with the hardware, it is “embedded” into it. For those knowledgeable of Arduino or Raspberry Pi programming, it is basically the same thing on a much grander scale. Here things are much more complicated because all those microcomputer are very slow compared to a PC, they might not able to hold an operative system (like Android but simpler) and they handle very delicate components. Yet they must perform very quickly. A mis-programmed software could destroy some lights or even start a little fire (due to Joule’s effect) in the worst case and the impurities must be ejected within milliseconds from detection. That’s why every piece of software I write is checked by other colleagues and every idea is discussed, similarly I do the same with them.
Of course all this work is not done all alone! Senior colleagues are supporting younger ones and there is a good amount of discussion involved in a new feature. In my company, everything is designed in house, so often I have to talk to electronic engineers, or even mechanical engineers, to understand what a new feature has to do and it is very important, albeit difficult, to understand each other and agree on a common language (not everyone knows how the Android of the sorting machines works!). From time to time, I report to the project manager, who is responsible for making sure the job is done in time within budget, and I have to explain and show what has been done and what we were not able to complete. This is needed to allow high level planning to work. If something important gets very delayed it might be necessary to drop some other, less important functionality.
Engineers are fixing people’s problem by making the theory becoming reality. Also software engineers adhere to this principle. In my case, the theory is some assumed performance, or hardware design, or expected functionality and my job is to estimate how realistic is the desired performance, to correct an hardware design or to discuss why a functionality is too ambitions to be done in a couple of months and to develop software which respect the requirements agreed with all the different people involved.
-
My Typical Day: I have two types of days: the coding ones and the design ones. On a design day I would discuss with colleagues how a new functionality should look like, how much we can do in two weeks of it, I find out every information I need for it to get done and I put everything in writing so another colleague can continue if I don't manage to finish. On a coding day I would do all the hacky stuff: inspect and understand pre-existent code, write software, make sure it works, trying to turn on and off different lights without damaging them, redesign a piece of software, peer-review colleague's code, this is when the actual thing gets done. Senior colleagues also have meeting days, when they meet other senior colleagues, project managers and marketing specialist to discuss high profile issues such as which features shall be implemented in future, by when things have to get done and how a nasty software change can best work together a new hardware design or CPU
-
Read more
First I will give an overview of what we do on a few days’ work, then I will discuss how a single day would look like.
The way we develop software requires us to organise our work in a couple of weeks cycles. At the end of every cycle all the engineers working on a project show the progress to the project manager, so that he/she is aware of any delay, of the quality and status of the development and allows him to make far ahead plans like deciding to add more engineers to his project or dropping a functionality or resolving a newly discovered malfunction. As soon as a cycle finishes, we meet the next day to agree on the work we will deliver on the next few weeks. One of us, normally a senior engineer, discusses with the project manager what shall be done first and helps us out estimating how much work we can take on. If everything goes well, at the end of a cycle we produce a working version of our software. If the software has been developed for long enough, this is the day we hand whatever we have to the testing team, whose job is literally to “torture” our software and try to make it crash and misbehave doing all the possible horrible things they can think of. Their job is very important to make sure that the software, which just a minute ago was working perfectly for us, suddenly does nasty and unexpected things like making a machine restarting forever if a cable disconnects due to vibrations, or having a mobile phone catching fire or exploding if used too much for too long. Any issue found by the testing team is flagged as a bug, a malfunction, and it will be resolved by us in a future cycle based on the project manager’s judgment.
It is important to know the general context in which I work, because my typical day has to fit within the structure of my working weeks. Normally my work has two parts: design and implementation and a day is a blend of the two aspects.
The first thing I would do, when I have to create a new feature, is to understand what has been done before and what I need to do now, this is part of the design tasks. Very rarely I have the “luxury” of creating something completely from scratch, those time that I do have this opportunity is a lot more work because I have to study and understand the hardware and software tools that I need to use. Understanding what needs to be done means consulting technical documents, reading the code, talking to other engineers and sometimes with the project manager too. It might not sound that exciting to read and talk so much, but exploring code you never seen before is a good exercise for you ability of writing code and reading documents broaden your knowledge a lot, especially if they talk about thing you didn’t know they even existed. You can learn a lot from others by learning how well or badly something has been done and keep it in mind for the future.
The next design task I would do is deciding how this new feature should look like. How many software components are needed, what each component shall do (i.e. read data from a camera, or send a command to the machine over the internet), how they cooperate between each other, how to make the software being independent from the hardware (so if the hardware is not sold anymore little changes are required). This is the most brain intensive part of the job and it is important to get it right, if you do it is easy to create the software and to change it in future. Believe it or not, the most complicated thing in software engineering is not making the software, it is reducing the work involved into changing it if something happens (i.e. a new law forces a machine to respect some rule, or suddenly someone decides that a machine should sort also jellies and marzipan). I often ask a second opinion from my colleagues at this point as they might point out something I haven’t thought about.
Finally, I proceed with the coding work. This is when the talking becomes reality as I type in the commands on a text file following a language that the computer can understand (we use mostly C++ in this company) and I follow the design I elaborated. Sometimes some other colleague came up with a design and I am helping out completing it. This is the moment when the infamous software bugs, the malfunctions, appear: distractions (lack of sleep for example), assumptions (i.e. “this will never happen” while instead it does) and lack of understanding of what is there already (which, if you did your homework well, won’t happen) are typical reasons for which a bug exists. As soon as I have a few working commands written, I convert them into a program and test it to catch the first few obvious bugs. I carry on with writing and testing until everything planned is done and I am satisfied. If I am unlucky and my software is too slow or requires too much memory then I use special programs to find where it is too slow and optimise it.
Afterwards, I show my code to other colleagues who will criticize it (peer-review): for example something does I wrote is too fragile (an inexperienced engineer might break the functionality easily) or too long and tedious to change, I do the same with their code. Once I have changed the code to address all the criticisms, I upload it on the company’s server to keep it safe. Normally my software is a little component of a bigger program, so I use yet another program whose task is to put all the little components together in a single unique organic software which we give to the testing team at the end of the cycle.
If I get to fix a bug raised from the testing team, I will still need to learn what has been done before, if I don’t know it already, but I will directly jump on the coding and testing bit. I don’t get all those things in a single day, but I normally do all of them in a software development cycle.
-
What I'd do with the money
Shall I win, I will donate the prize to support teaching of engineering in Sri Lanka as it is a developing country. I chose Sri Lanka because my PhD supervisor, who is a person I trust, is active in improving the country's well-being in different ways and, since the country is not very wealthy, a little boost in school funding would benefit the local development. The money will be used to purchase equipment or support to teaching of engineering or software engineering (ideally Arduino boards and some hardware equipment) in high schools. Since Sri Lanka has a weaker currency compared with the pound, it would be possible to buy many things with a few pounds. My supervisor has involved a few UK and US Sri Lankan university professors who are helping me in making sure the prize would be well spent.
-
Read more
I had a long thinking on how to best use the prize of this competition for the greater good until I came to the conclusion that the best project to support is the one that would teach students how to became engineers! Engineering can be a quite expensive subject as you need tools, components, consumables and sometimes also expensive software to learn it the best. For example, in the underfunded Italian education system, you might be able to see how a microcomputer looks like only during your bachelor thesis, and only technical schools give you hands on classes on how to solder electrical components together. Software engineering applied to microcomputers and electronics is a large topic that can be applied to a lot of different things: cars, mobile radio stations, internet controller, power plants, toll systems, speed cameras, medical devices… the list is very long and optical sorting machines is just a very little part of it. If you wouldn’t have such software engineers (or technicians), nobody would be able to fix an internet or a power failure in the network when it happens because nobody knows how to do it! If even a big country like Italy does not provide much equipment to its students due to its cost, how poorer countries are doing then? Same can be said for other engineering disciplines, such as Chemical Engineering or Mechanical Engineering, technical equipment is required to support what learned on books. A lot material can be found on the internet (for those who have it) and it is free but still you need the hardware.
Hence, here is the plan: the prize might not be enough to support a school lab in the UK, but since the pound is much stronger than non-European countries’ currencies, it would be possible to buy much more things abroad from their local suppliers converting pounds into local currency. For example, 500£ are a bit less than 31500 Dominican pesos and a second hand ok-ish desktop computer can cost 3500 pesos so we could purchase almost 9 computers in theory. A slightly better second-hand desktop computer (a bit more memory) from Maplin costs a bit more than 200£: just 2 computers and a “half”. This is possible because Dominican wages are poorer than British wages so everything is cheaper.
Re-using the money abroad is not just a matter of philanthropy, but it can give help to everyone else. If poorer countries could train their own good students they won’t need to rely on foreign help so much, they won’t need engineers coming from Europe to set up an internet network because the local population could do it probably even with better care because they live there and it is for them. This could save richer countries some of the budget used for humanitarian causes which can be spent on something else, like making local schools better or investing in the NHS. Also, if if the quality of life of poor countries improves because infrastructures are better, there wouldn’t be the need of running away so much! Of course my proposal sounds like a gran plan and this prize is a drop in the ocean, but even the ocean is made of drops.
As for the specific country, I decided to involve my PhD supervisor, in the choice as he is a person that I trust and in the past he lead several events and conferences aimed at developing the economy of his home country, Sri Lanka. Shall I win the competition, the prize will be reinvested to fund the purchase of equipment in Sri Lankan schools. As such, the option currently on the table is funding the Vembadi Girl’s High School in Jaffna in Northen Sri Lanka. North of Sri Lanka is, as far as I know, the poorer area of the country still suffering some side effect of the civil war such as the presence of undetected landmines. The school is one of the oldest public state schools in the country, originally founded by British missionaries (see below).
The intermediaries for this project, who put me in contact with the candidate beneficiary, are other Sri Lankan professors, working at well known UK and US universities, such as King’s College London, Harvard and Syracuse University. I will try as hard as possible for the donation to be used given to the recipient in full (often for such projects intermediaries are charging costs as well as they need to pay their staff, utility bills, documents etc. and there might be needed to pay other additional costs on site such as transportation, assembly etc which might not be fully avoidable).
500£ could at best be converted to 100,000 Rs (the local currency), the salary of a low skilled agricultural worker (say a tea-leaf picker) can be 600 Rs so it might be possible to buy quite a lot from local suppliers. I can’t give you a formal estimate of how we could buy with that but it is possibly to buy a few good computers at least. This is just to give you an idea, the precise details of how to invest the money are in course of definition, what it is certain is that it will be supported the education of local women in engineering. Some projects could be purchasing a few PCs, training staff in software engineering topics to teach to a wider audience, or furnishing a Chemistry school lab. Those are just a few examples.
-
My Interview
-
How would you describe yourself in 3 words?
Sociable, messy, creative
What's the best thing you've done in your career?
One of the things I enjoyed the most being engineer is that you might end up setting up a whole computer from scratch by yourself. I had days where I needed to set up the CPU (the brain of the computer), the operative system (the muscles), the whole architecture of the program (the physiology), the hardware interface (how to turn on a light or activate a motor from software), the communication protocol (how different boards and software talk to each other over internet or internally) and the user interface (how the software looks like for a person) all by myself! It sounds like a lot of work, but you are always supported by senior colleagues and you don't need to do everything in a day, but once you done it is true satisfaction
What or who inspired you to follow your career?
The arcade games I was playing when I was a child
What was your favourite subject at school?
Chemistry
What did you want to be after you left school?
Doctor
Were you ever in trouble at school?
When I was a primary school student I was a good boy, as I was approaching maturity I increasingly got into trouble but never with other students
If you weren't doing this job, what would you choose instead?
I would probably have tried becoming a psychiatrist
Who is your favourite singer or band?
System of a Down, No FX, Nirvana, Red Hot Chilli Peppers, punk rock and metal are my music genres
What's your favourite food?
Pizza & pasta (al dente) of course, but also Cumberland sausage & mash, several pies and dim sum
What is the most fun thing you've done?
This is a tricky one. One of the most funny things I've done was when I was living in Berlin. I jumped on an overground train on a Friday evening to reach to friends and suddenly some other young students set up the carriage into a mini-clubbing area, with lights and loud music. Hence, I decided to stay on the train until the end of the line
If you had 3 wishes for yourself what would they be? - be honest!
I'd wish to be a little bit fitter, that this winter won't be too cold and next summer is going to be nice and warm and, most importantly, I wish that my local football club in my hometown in Italy won't mess around every single match they will play in next championship
Tell us a joke.
What's the name of a fish without an eye? A fsh
-