About

PERSONAL DETAILS
Welcome to my Personal and Academic profile! Available as freelancer

BIO

ABOUT ME

Hello, welcome to my website! My name is David Gonçalves, a Portuguese Software Developer. I am passionate about creating new things from where nothingness was before. Most of my time is spent in front of the computer screen, but somehow I still spare time for other activities.

I have a strong will to learn new technologies and their workings. As a hobbyist in my free time, I like to work on small non-commercial programming related projects that broaden my experiences as a developer. Some of these projects can be found on my BitBucket page.

INTERESTS

TECHNOLOGIES

When it comes to technologies, I have interest in the areas of computer networking, embedded systems, computer security, distributed systems, compilers, databases and web development, among many others. This does not mean I have a deep understanding of these areas, however. One of my favourite shows of all time is MacGyver (1985), this should give some insight about my interests and mindset.

SUBJECTS

In terms of subjects, my interests are broad. I enjoy working with things related to my hobbies — music and art, to name a few — but I am also interested in learning new varied things.

HOBBIES

PROGRAMMING APPS

Ironically, one of my hobbies is tied with my work. I like using my skills in order to make new things, for fun or for helping others, whilst improving my capabilities in the process.

GUITAR

I learned the basics of guitar when I was in 9th grade and since then I occasionally play a song or two. I started by learning classical songs and moved on to playing anime fingerstyle songs.

DRAWING

I took a special interest in drawing in 5th grade when one of my colleagues made an astounding Dragon Ball Z drawing. From then on I began practicing drawing in manga style, joined drawing forums and came up with the online nickname “MangaD” — not very creative.

FORUM ADMINISTRATION

Following the Hero Fighter Empire project I was entitled with the duty of administrating and maintaining the website.

PHYSICAL EXERCISE

Although I spend most of my time in front of the computer screen, I still spare time for physical activities and enjoy nature outdoors.

Resume

EXPERIENCE
  • LISBON, PORTUGAL

    PROGRAMMER ANALYST – INTERNSHIP

      LINK CONSULTING

    Trainee consultant with focus on VB.NET, ASP.NET and SQL Server. Technical management of a wage processing application and derivatives, including database administration, code maintenance and improvement, in a production environment. Close contact with clients and support.
EDUCATION
  • LISBON, PORTUGAL

    INFORMATION SYSTEMS AND COMPUTER ENGINEERING – BACHELOR'S DEGREE

      INSTITUTO SUPERIOR TÉCNICO

    Degree has focus on two main topics, Computer Sciences and Engineering Sciences:
    Computer Sciences: Programming Fundamentals, Digital Systems, Databases, Object Oriented Programming, Operating Systems, Computer Networking, Computer Architecture, Man-machine Interfaces, Software Engineering, Systems Modelling and Analysis, Graphical Computation, Logical Programming, Introduction to Algorithms and Data Structures, Artificial Intelligence, Distributed Systems, Algorithms Analysis and Synthesis, Compilers, Signals and Systems
    Engineering Sciences: Differential and Integral Calculus, Discrete Mathematics, Electromagnetism and Optics, Theory of Computation, Complex Analysis and Differential Equations, Mechanics and Waves, Probabilities and Statistics, Linear Algebra
    Other competencies: Management

Skills

PROGRAMMING

Note: The following percentage levels are self-perceived.

SOFTWARE DEVELOPMENT
20%
LEVEL : BEGINNER EXPERIENCE : HOBBYIST
C / C++11 GDB CMake Valgrind Doxygen
20%
LEVEL : BEGINNER EXPERIENCE : HOBBYIST
Java Javadoc
5%
LEVEL : ABSOLUTE BEGINNER EXPERIENCE : HOBBYIST
C# Unity Assembly
70%
LEVEL : INTERMEDIATE EXPERIENCE : 11 months
VB.NET WinForms
10%
LEVEL : BEGINNER EXPERIENCE : HOBBYIST
Python
Read more...

TO-DO

WEB DEVELOPMENT
60%
LEVEL : INTERMEDIATE EXPERIENCE : HOBBYIST
HTML5 CSS3 MyBB
30%
LEVEL : BEGINNER EXPERIENCE : HOBBYIST
JavaScript jQuery AJAX PHP
20%
LEVEL : BEGINNER EXPERIENCE : HOBBYIST
Bootstrap Joomla XML
5%
LEVEL : ABSOLUTE BEGINNER EXPERIENCE : 11 MONTHS
ASP.NET
Read more...

TO-DO

DATABASES
20%
LEVEL : BEGINNER EXPERIENCE : HOBBYIST
MySQL PHPMyAdmin MySQL Workbench
20%
LEVEL : BEGINNER EXPERIENCE : 11 MONTHS
SQL Server
Read more...

TO-DO

SCRIPTING
10%
LEVEL : BEGINNER EXPERIENCE : HOBBYIST
Makefile Bash Batch
Read more...

TO-DO

VERSION CONTROL
50%
LEVEL : BEGINNER EXPERIENCE : HOBBYIST
GIT
20%
LEVEL : BEGINNER EXPERIENCE : UNIVERSITY
CVS
Read more...

TO-DO

OTHER
Driver's license: B
LANGUAGE
ENGLISH
85%
LEVEL : C1 [?]
Reading Writing
70%
LEVEL : B2 [?]
Listening Speaking
Read more...

I have been in contact with the English language since 2005. I began to learn the language at elementary school and quickly moved on to watching movies with English subtitles. Nowadays, I mostly watch English movies without subtitles, although I still prefer to watch them with English subtitles when available. The vast majority of my online work and online communication is also done in English. In early 2017 I visited the Oxford school, located in Lisbon, in order to get my English skills tested. I was requested to do both written and oral exams, and got placed in the C1 level of the Common European Framework. Although, I personally believe that my oral skills are not yet of C1 level due to lack of practice.

PORTUGUESE
95%
LEVEL : C2 [?]
Reading Writing Listening Speaking
Read more...

Portuguese is my native language. However, there are a few differences between Portuguese from Portugal (PT-PT) and Portuguese from Brazil (PT-BR). I am acquainted with the first, but I understand both versions perfectly.

Projects

PROFESSIONAL
  • LISBON, PORTUGAL

    CAMRH

      LINK CONSULTING

    SQL ServerVB.NETASP.NETWindows Services MS ExcelSupport
    Trainee consultant with focus on VB.NET, ASP.NET and SQL Server. Technical management of a human-resources application — centralised on wage processing and derivatives — including database administration, code maintenance and improvement, in a production environment. Close contact with clients and support.
PERSONAL

Note: The following projects are often done during my free time as a hobby and to improve my skills.

  • LISBON, PORTUGAL

    PERSONAL WEBSITE

    HTML5CSS3jQueryPHPBootstrap Font AwesomereCAPTCHAApacheLinux
    My personal and academic profile. To keep a record of my skills and projects, as well as to talk a little about myself. The website is hosted on my Raspberri Pi 3 using the LAMP stack. No CMS is being used. The template and theme is raw made, using references from other websites.
  • LISBON, PORTUGAL

    DISCORD BOT

    Python 3
    Discord is a free voice and text chat for gamers which allows the use and development of bots. The Discord API comes available in many languages, I chose to use Python 3. This bot is for personal use on the Hero Fighter discord channel. It provides many useful functionalities which can be found here.
  • LISBON, PORTUGAL

    LF2 Online Data Changer

    HTML5CSS3JavaScriptElectron
    Little Fighter 2 is a freeware PC fighting game for Windows. The game can be modified to some extent and makes use of “data” files which are encrypted. A LF2 fan figured out how to decrypt those files and thus, modify them. This is a online version of the LF2 data changer — in a universe of data changers — featuring syntax highlighting using the ace editor.
  • LISBON, PORTUGAL

    LF2 MultiServer 2.0 – Porting

    C#C++14CmakeDoxygenMakefile
    Little Fighter 2 network mode game only allows 2 computers to connect originally. This program extends the feature to allow up to 8 players from different computers to connect. LF2 Multi Server v2.0 was created by ayalx using DLL injection on the game side and C# for the server itself. I merely translated the program from C# to C++14 in order to allow the program to run on Windows/Mac/Linux out-of-the-box.
  • LISBON, PORTUGAL

    HF Room Server – Porting

    JavaC++11CmakeGDBValgrindDoxygenMakefile
    This is my best personal project up until now and earned me the endorsement of Marti Wong himself on Linkedin. This project is a follow-up of HF Room Server – Improvements. It is a complete rebuild of the Java program from scratch in C++11 and also led me to create the C++11 socket library. Unfortunately, the project is closed source as I don't own any rights to the original software — I reverse engineered it. More information can be found here.
  • LISBON, PORTUGAL

    C++11 Socket Library

    C++11CmakeGDBValgrindDoxygenMakefile
    As I was working on the translation of the HF Room Server, I found myself in need of a portable socket library which C++11 does not ship by default. I considered boost, but I did not want to clutter my project with unnecessary code. Then decided to make my own portable socket library with objects and methods similar to Java's socket library.
  • LISBON, PORTUGAL

    HERO FIGHTER EMPIRE

    JoomlaMyBBHTML5CSS3JavaScript jQueryAJAXPHPAdobe Photoshop CC
    Initially created by Matthias Hilger and Chris, Hero Fighter Empire is the official fansite for the Hero Fighter game. In 2014 the website was hacked and Matthias took it down. As he had no time to rebuild it, I offered myself to rebuild and administrate the website, which I did from scratch using Joomla and MyBB.
  • LISBON, PORTUGAL

    HF ROOM SERVER – IMPROVEMENTS

    JavaMakefileReverse Engineering
    Hero Fighter is a beat 'em up game created by Marti Wong. The game allows for multiplayer through network mode and ships an extra Java program for opening “room” servers that players can connect to in order to play together. Due to the stagnation of the game's development, I decided to reverse engineer this little program in order to fix bugs and add new features to it.
UNIVERSITY
  • LISBON, PORTUGAL

    COMPILER (“ZU” LANGUAGE)

    C++OOPLexYacc AssemblyMakefileLinux
    Compiler project using the C++ programming language, lex and yacc. The project was done for the Compilers class at Instituto Superior Técnico in the 2015-16 academic year. The code generation part of the compiler has not been finished.
  • LISBON, PORTUGAL

    KOS – KEY-VALUE STORE OF THE OS COURSE

    CMultithreadingData storage MakefileLinux
    KOS is a project for the Operating Systems course at Instituto Superior Técnico in the 2013-14 academic year. The project consists on a system for data storage. KOS utilizes the key-value logic model of data organization. This kind of system of data storage is used in various contexts, such as Windows registry for storing configuration information and operating system metadata for example.
  • LISBON, PORTUGAL

    SPACE INVADERS 3D

    C++OOPOpenGLVisual Studio
    This is a game project using C++ programming language and GLUT, the OpenGL Utility Toolkit. This game was done for the Graphical Computation class at Instituto Superior Técnico in the 2012-13 academic year. The game is a reproduction of the classic Space Invaders, with the peculiarity of being 3D.
  • LISBON, PORTUGAL

    TO-DO

    TO-DO
    To-do

Contact

DROP A MESSAGE