+ All Categories
Home > Documents > Tiago Santos – Curriculum Vitætiago.santos.com.pt/docs/cv.pdfTiago Santos Curriculum Vitæ B...

Tiago Santos – Curriculum Vitætiago.santos.com.pt/docs/cv.pdfTiago Santos Curriculum Vitæ B...

Date post: 06-Jul-2020
Category:
Upload: others
View: 8 times
Download: 0 times
Share this document with a friend
3
Tiago Santos Curriculum Vitæ B [email protected] ˝ tiago.santos.com.pt tvcsantos Work Experience Nov. 2019 – Present Software Engineer, Mercedes-Benz Portugal. Main Programming Languages used: Java, SQL Other Technologies/Frameworks used: Spring, PCF, AWS, Jenkins, SonarQube Oct. 2017 – Oct. 2019 Software Engineer, Collab. During this period I have worked as a software engineer (back-end developer) at Collab. My main responsibilities were to maintain (bug fixing) and also develop new features requested by clients in their main product, a multimedia contact center solution, IP-based, offering a complete and integrated communications management for voice, video, email, instant messaging and social networks (Facebook and Twitter). Main Programming Languages used: C#, SQL Other Languages/Frameworks used: Java, C++, C, JavaScript, TypeScript, Angular4 June 2016 – Oct. 2017 Software Engineer, Affinity @ Collab. During this period I have worked as a software engineer (back-end developer) at Affinity in a client from the Contact Center Area (Collab). My main responsibilities were to maintain (bug fixing) and also develop new features requested by clients in their main product, a multimedia contact center solution, IP-based, offering a complete and integrated communications management for voice, video, email, instant messaging and social networks (Facebook and Twitter). Main Programming Languages used: C#, SQL Other Languages used: Java, C++, C, JavaScript 2009 – March 2016 Research Assistant, NOVA-Lincs, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa. During this period I worked on static analysis techniques for reasoning about imperative programs with data structures and aliasing. One of the main novelties of this approach is the usage of a specification language closer to a programming language, integrated in the programming environment and tailored to an automatic verification process during application development. In this approach we ease the burden of complex annotations in programs and the verification is automatic. Supervisor: Prof. Luís Caires. 2009 – Feb. 2016 Teaching Assistant, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa. { Object Oriented Programming – Spring Semester 2014/2015 { Introduction to Programming (B) – Winter Semester 2012/2013 { Programming Languages and Environments – Spring Semester 2011/2012 { Introduction to Programming (C) – Winter Semester 2010/2011 { Introduction to Computers and Programming – Spring Semester 2010/2011 { Computational Logic – Spring Semester 2009/2010, Winter Semester 2015/2016 Education 2010 – March 2016 Advanced Studies in Computer Science, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa. Scholarship granted by Fundação para a Ciência e Tecnologia, Ministério da Educação e Ciência Supervisor: Prof. Luís Caires 2008 – 2010 MSc. in Computer Science, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa. Final grade: 18/20. Dissertation Title: Linguagem de Especificação Leve Hoare-Separação para Java. Advisor: Prof. Luís Caires 2005 – 2008 BSc. in Computer Science, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa. Final grade: 17/20. Merit Scholarship (2005/2006), granted by the University.
Transcript
Page 1: Tiago Santos – Curriculum Vitætiago.santos.com.pt/docs/cv.pdfTiago Santos Curriculum Vitæ B tiago@santos.com.pt ˝ tiago.santos.com.pt [tvcsantos Work Experience Nov. 2019–Present

Tiago SantosCurriculum Vitæ

B [email protected]Í tiago.santos.com.pt

[ tvcsantos

Work ExperienceNov. 2019 – Present Software Engineer, Mercedes-Benz Portugal.

Main Programming Languages used: Java, SQLOther Technologies/Frameworks used: Spring, PCF, AWS, Jenkins, SonarQube

Oct. 2017 – Oct. 2019 Software Engineer, Collab.During this period I have worked as a software engineer (back-end developer) at Collab. My mainresponsibilities were to maintain (bug fixing) and also develop new features requested by clients intheir main product, a multimedia contact center solution, IP-based, offering a complete and integratedcommunications management for voice, video, email, instant messaging and social networks (Facebookand Twitter).Main Programming Languages used: C#, SQLOther Languages/Frameworks used: Java, C++, C, JavaScript, TypeScript, Angular4

June 2016 – Oct. 2017 Software Engineer, Affinity @ Collab.During this period I have worked as a software engineer (back-end developer) at Affinity in a client fromthe Contact Center Area (Collab). My main responsibilities were to maintain (bug fixing) and alsodevelop new features requested by clients in their main product, a multimedia contact center solution,IP-based, offering a complete and integrated communications management for voice, video, email,instant messaging and social networks (Facebook and Twitter).Main Programming Languages used: C#, SQLOther Languages used: Java, C++, C, JavaScript

2009 – March 2016 Research Assistant, NOVA-Lincs, Faculdade de Ciências e Tecnologia, Universidade Nova deLisboa.During this period I worked on static analysis techniques for reasoning about imperative programs withdata structures and aliasing. One of the main novelties of this approach is the usage of a specificationlanguage closer to a programming language, integrated in the programming environment and tailored toan automatic verification process during application development. In this approach we ease the burdenof complex annotations in programs and the verification is automatic.Supervisor: Prof. Luís Caires.

2009 – Feb. 2016 Teaching Assistant, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa.{ Object Oriented Programming – Spring Semester 2014/2015{ Introduction to Programming (B) – Winter Semester 2012/2013{ Programming Languages and Environments – Spring Semester 2011/2012{ Introduction to Programming (C) – Winter Semester 2010/2011{ Introduction to Computers and Programming – Spring Semester 2010/2011{ Computational Logic – Spring Semester 2009/2010, Winter Semester 2015/2016

Education2010 – March 2016 Advanced Studies in Computer Science, Faculdade de Ciências e Tecnologia, Universidade

Nova de Lisboa.Scholarship granted by Fundação para a Ciência e Tecnologia, Ministério da Educação e CiênciaSupervisor: Prof. Luís Caires

2008 – 2010 MSc. in Computer Science, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa.Final grade: 18/20.Dissertation Title: Linguagem de Especificação Leve Hoare-Separação para Java.Advisor: Prof. Luís Caires

2005 – 2008 BSc. in Computer Science, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa.Final grade: 17/20.Merit Scholarship (2005/2006), granted by the University.

Page 2: Tiago Santos – Curriculum Vitætiago.santos.com.pt/docs/cv.pdfTiago Santos Curriculum Vitæ B tiago@santos.com.pt ˝ tiago.santos.com.pt [tvcsantos Work Experience Nov. 2019–Present

2002 – 2005 High School Diploma - General Sciences, Escola Secundária Cacilhas-Tejo, Cacilhas, Almada.Final grade: 19/20.

Technical SkillsProgramming

LanguagesC# (Expert), Java (Expert), Scala (Expert), OCaml (Proficient), C (Proficient),C++ (Proficient), JavaScript (Proficient), SQL (Proficient),Python (Intermediate), TypeScript (Intermediate)

Operating Systems Microsoft Windows, Linux, Mac OSExpertise Software Construction, Programming Languages and Type Systems,

Static Analysis Techniques, and Automatic Program Verification.Tools and Frameworks SMT - Z3, SVN, Git, LaTeX, HTML, XML, CSS, Arduino, Angular4

Soft Skills{ Good Communication Skills{ Critical Thinking

{ Teamwork and Collaboration{ Research, Problem Analysis and Solving

ProjectsSpecJava.This prototype was developed during my Master’s Thesis and extends the type-based verificationof Java towards more informative logical reasoning, integrating specifications (contracts) in theprogramming language. This specification language is inspired on JML and Spec#, but simplerand lightweight because it is based on propositional logic.Website: http://tiago.santos.com.pt/specjavaMain technologies used: Java, CVC3, Polyglot, AceFunSpec.In this prototype we develop a new assertion language, used to specify imperative programs,that is closer to a programming language, which is easier to use for programmers and tailoredto automatic verification. It checks “logical” relations between assertions, that is, if an assertionis equivalent to or implies other assertion, which is a fundamental property on the definition ofa decision procedure for automatic program verification.Website: http://tiago.santos.com.pt/funspec3Main technologies used: Scala, Z3, PHP, JavaScript, jQuery, AceImProVe.This prototype checks that imperative programs with data structures and aliasing comply totheir specifications (contracts), that are expressed using the FunSpec assertion programminglanguage.Website: http://tiago.santos.com.pt/improveMain technologies used: Scala, Z3, PHP, JavaScript, jQuery, Ace

PublicationsLigthweight Type-Like Hoare-Separation Specs for Java, In Proceddings of InForum, Uni-versidade do Minho, 2010.Linguagem de Especificação Leve Hoare-Separação para Java, Master Thesis, Faculdadede Ciências e Tecnologia, Universidade Nova de Lisboa, 2010.

LanguagesPortuguese Fluent Native Language.

English Advanced Speaking, Reading and Writing.

Page 3: Tiago Santos – Curriculum Vitætiago.santos.com.pt/docs/cv.pdfTiago Santos Curriculum Vitæ B tiago@santos.com.pt ˝ tiago.santos.com.pt [tvcsantos Work Experience Nov. 2019–Present

Extra-Curricular Acitvities2010 Volunteer, ExpoFCT 2010 @ DI, UNL – FCT.

This event is an open day where several high schools visit FCT/UNL campus to participate in activitiesand experience the university research, innovation and technological environment. I helped in theorganization of an activity that consisted on teaching basic concepts of programming (e.g. Scratch – Avisual programming language).


Recommended