Hello, it's me, Giulio, a young computer science with a very big passion for videogames and other nerdy stuff. My adventure
began years ago, in a Christmas'Eve night, when my parents gave me a big grey box that allowed me to play the story of a
little purple dragon. From that moment on, I have always been a videogames lover, and when the moment of choosing my path came,
my decision was pretty simple to take: I will become a videogames programmer. As every computer scientist, I started my path with
the programming language's god (no Assembly, I'm not talking about you!): C. Then during my studies I have tried a lot of other
languages and technologies, moved by my eclecticism and my will to know about everything. During this journey I have found a lot
of other intersting things, and sometimes I have also forgot about my very final quest, attracted by amazing secondary missions,
but at the end Gollum cannot be kept far from the Ring for too much time, so here am I, as I have always seen myself: a videogame
Actually I'm C++ main (sorry Unity, not your time yet) since I really like the low-level (memory management, pointer's arithmetic, possibility of handling any aspect of programming...) and high-level (classes, polymorphism, virtualization...) features it has, that allows you to have room for subtle optimization and without getting rid of design's abstraction. Anyway I also try to keep my knowledge of other technologies up to date, since I really like to have many aces in my sleeve.
My secret is to see programming more as a game than as a work: every project is a level in which you must defeat some mini-boss (the bugs) using your weapon (your knowledge) and your magic book (StackOverflow) until you save the princess (your program) and gain her kiss (I would say it is something like personal satisfaction or gratification, but we all know that it represent money). Sometimes the level is timed (the tremendous timelines), but if you hate the laggard as much as I do, it will be not a problem. But remember: if you can beat a monster with a jump, you don't need to do a triple somersault, as Ockham said: "Between many solutions, the simplest is often the best one".
Drag a skill in the box at the left to see a skill. It works also on mobile (even if the item seems not to be dragged)
Vote: 110/110 cum laude
Vote: 110/110 cum laude
During my bachelor's internship (and then during my fixed time contract) I have developed a mobile framework with the purpose to make very simple the development of mobile app based on the same content of web apps developed with company's proprietary CMS. The whole framework has been developed entirely by me, using Ionic (AngularJS), SQLLite and RestFULL calls to interface with the CMS. Nevertheless, for the whole time I have worked as part of a small team and during the later phases I have also started to experience my first meeting with a real client during the developing of the first apps.
CoderDojo is a no-profit association that aims to teach the computational thinking to children. I knew
this amazing project in Pisa, where I joined the association as a Mentor. During my period there, I have taken part to
several events, during which we have mainly thought some basic programming concept to 6-13 years old children with
Scratch and Python. However, our activities were not limited to this, many times we have organized unplugged activities
to teach other computer science related topics like the way a computer works, security and how the web works.
I really liked my time spend with them and I really think they are doing a really great job, preparing the kids for a world that is always more computer-dependant.
As my master's thesis I have developed a library that aims to increase the realism within a simulated VR environment. In fact, the big limitation of this kind of application is the complete absence of facial feedback, that are ends up with completely emotion free avatars. I have tried to overcame this limit through an image processing algorithm that, analyzing the video feedback send by a camera mounted on the HMD (head-mounted display), outputs a blendshape that simulates the user's expressions. During the development of this library I have touched a lot of different technologies and languages: C++, C#, OpenCV, Opus, Unity, Unreal, Dynamic Libraries, Raspberry-Pi, HTCVive, Windows Sockets, Video Streaming and VR. This has allowed me to put my hands on very different environments that had to communicate with each other in a fast and efficient way, pushing me to learn about a lot of amazing stuff. It has also been the first time I had to face a project with so many different technologies inside and have learnt me a lot about different kind of system can play together. Furthermore I have also played with audio and 3D spatialization, developing a simple plugin that allowed 3D Voip chat in Unity.
Finally, after having finished my study, I have begun my path as game programmer in Milestone, joining the team of MotoGP19 as
Junior Game Programmer. Being part of such a big company (more than 200 employees) and working every day in a professional
game developing environment is really exciting for me, and this lets me wake up every morning with a smile on my face.
Actually my role within my team is generalist programmer, since I'm putting my hand on several aspects of the game: online, UI,
game logic, debugging and optimization. This is indeed a big advantage to me, since everyday I am able to learn a lot about how
a game works, allowing me to have wider sight on the whole that brought self-improvement every time bigger. Furthermore, I finally
have the possibility to develop (and debug) code not only for pc, but also for the major last-gen console, and I think that this
is a fundamental knowledge nowadays in the gaming market (that can hardly be acquired by yourself in your home).
Another think I really like of working in such a big team, where coordination and communication are fundamental to obtain great results,
is the possibility of talking everyday with different persons, from whom I can always learn something new about the field they master
(is he programming, design, graphic or any other), to reach the common goal.
Indeed one of the biggest difficulties there are the deadlines, that sometimes can really scare where very near, but, maybe because I really like the job I did, are not so spooky to me, so I am able to face them with the respect they deserve and the serenity I need to write very good code.