Made with in Uruguay

Michael Paleo_

Software engineer

Nickname:
mike
Age:
25
Email:
hello@michaelpaleo.com
Address:
Tiburcio Gómez 1330 Uruguay

Hi_

I am senior software engineer capable to build all kind of systems from the ground up - from concept, analysis, architecture and programming to lead a team of engineers. Skilled at writing awesome docs and well-designed, testable and efficient code using current best practices in software development. Fast learner, hard worker and team player who is proficient in a wide spectre of languages and technologies. Besides technology, I love music (actually, I play some instruments :D), video games (geek since 1992), science (nerd to death) and cars (I love simracing).


Resume_

I always stood out for being on the edge on technology trends and sharing that knowledge with others, like some kind of beta tester of the team that decides what technologies could be positive to use on projects or day to day workflow. I have a high level of social perceptiveness and empathy, and I think this is very helpful to understand others and be optimal in business meetings. I love hard critical thinking situations, first, because they are fun :D, and second, they pushes you to your limits and you need to take accurate decisions that could have a high impact on the company.

education

Systems analyst - BIOS institute

2010 - 2014

This career imposes many challenges that help you first of all, to look for different ways of thinking in order to solve complex problems applying engineering. Beyond the technological side, i think that one of the most important things it teaches you is to think first and act later.

Extra courses

  • - C++ .NET development
  • - PHP development
  • - Microsoft 5 star developer platinum

High School, scientific path - IBO

2005 - 2010

Choosing the scientific path in high school was one of the things that awakened my passion for knowledge, science and technology. I think it was a good combination of physics and philosophy.

certifications

CS143 Compilers - Stanford University

2018

Everything that computers do is the result of some program, and all of the millions of programs in the world are written in one of the many thousands of programming languages that have been developed over the last 60 years. Designing and implementing a programming language turns out to be difficult; some of the best minds in computer science have thought about the problems involved and contributed beautiful and deep results. Learning something about compilers will show you the interplay of theory and practice in computer science, especially how powerful general ideas combined with engineering insight can lead to practical solutions to very hard problems. Knowing how a compiler works will also make you a better programmer and increase your ability to learn new programming languages quickly.

Heterogeneous Parallel Programming - University of Illinois

2014

This course is designed for students to learn the essence of low-level programming interfaces and how to use these interfaces to achieve application goals. CUDA C, with its good balance between user control and verboseness, will serve as the teaching vehicle for the first half of the course. You will then extend your learning into closely related programming interfaces such as OpenCL, OpenACC, and C++AMP.

Programming Mobile Applications for Android - University of Maryland

2014

This course introduces you to the design and implementation of Android applications for mobile devices. You will develop an app from scratch, assuming a basic knowledge of Java, and learn how to set up Android Studio, work with various Activities and create user interfaces to make your apps run smoothly.

CS412 Mobile Applications Development - Saylor Academy

2013

Technology continues to evolve and provide us with increasingly powerful mobile devices. As a result, applications that can run on a browser must also be written such that they are compatible with mobile devices, the majority of which are now web-enabled. Meanwhile, there is an increasing demand for native applications that can be downloaded to and run on mobile devices. This course will address these trends, teaching you to think about the unique design and deployment issues that must be taken into consideration when developing applications for mobile devices. This course will expand upon what has been covered in CS305. You will learn about mobile platforms, mobile browsers, native applications, and best practices in terms of test usability.

CS305 Web Development - Saylor Academy

2013

The World Wide Web (WWW) has become the primary means by which we conduct searches and perform billing transactions-events that can only occur with the support of specific applications. The purpose of this course is to introduce you to the design and development of such applications. This course will expose you to the basic fundamentals of the internet and web protocols, the different architectures that web-related applications use, and the programming languages that enable the development of web applications, placing particular emphasis on JavaScript, HTML, XML, AJAX and JSP. The course will also cover matters of security and reliability in the development of web applications via the use of transport encryption and authentication.

CS302 Software Engineering - Saylor Academy

2013

This course is designed to present software engineering concepts and principles in parallel with the software development life cycle. The course will begin with an introduction to software engineering, giving you a definition of this body of knowledge, as well as a discussion of the main methodologies of software engineering. You will then learn about the SDLC followed by software modeling using UML. You will go on to learn about five major phases of the SDLC: requirements gathering, requirements analysis, design, implementation, and testing. You will also learn about project management for the purpose of delivering high-quality software that satisfies customer needs and is within budget. By the time the course is complete, you will master software engineering concepts, principles, and essential processes of the SDLC; you will demonstrate this knowledge by creating UML artifacts for requirements gathering, analysis as well as design phases using an object-oriented methodology.

CS201 Elementary Data Structures - Saylor Academy

2013

In this course, we will discuss the theoretical and practical aspects of algorithms and data structures. We will also learn to implement data structures and algorithms in C/C++, analyze those algorithms, and consider both their worst-case complexity and practical efficiency.

CS107 C++ Programing - Saylor Academy

2013

In this course, you will learn the mechanics of editing and compiling programs in C++, variables, loops, expressions, functions, and string class. Then, you will see the basics of OOP: classes, inheritance, templates, exceptions, and file manipulation. This course will also cover namespaces, exception handling, and preprocessor directives. In the last part of the course, you will learn some slightly more sophisticated programming techniques that deal with data structures such as linked lists and binary trees.

CS102 Intro to Computer Science II - Saylor Academy

2013

This course will introduce you to a number of more advanced CS topics, laying a strong foundation for future academic study in the discipline. Students will begin with a comparison between Java, and C++. Students will then discuss the fundamental building blocks of OOP, reviewing what you have already learned and familiarizing ourselves with some more advanced programming concepts. The remaining course units will be devoted to various advanced topics, including the STL, exceptions, recursion, searching and sorting, and template classes. By the end of the class, you will have a solid understanding of Java and C++, as well as a familiarity with the major issues that programmers routinely address in a professional setting.

CS101 Intro to Computer Science I - Saylor Academy

2013

This course will touch upon a variety of fundamental topics within the field of CS and will use Java, a high-level, portable, and well-constructed computer programming language, to demonstrate those principles. You will begin with an overview of the course topics as well as a brief history of software development, then, you will see basic OOP terminology and concepts such as objects, classes, inheritance, and polymorphism, as well as the fundamentals of Java, its primitive data types, relational operators, control statements, exception handling, and file input /output. By the end of the course, you should have a strong understanding of the fundamentals of CS and the Java programming language.

employment

KidBox [lead software engineer]

2015/7 - PRESENT

KidBox develops educational solutions for new generations such as the award-winning children navigator KidBox Niño Seguro. It specializes in the design of online education experiences for children. In 2013, the company opens a product line focused on the development of Educational Technology solutions to be used in the classroom and at home. Today, its solutions are used by clients such as Samsung, Telefónica from Argentina and Plan Ceibal.
As a lead software engineer, I manage, help and mentor developers to get the most of the team, and also I'm in charge of the architecture, analysis, development and deployment of solutions like mobile and web clients, scalable APIs and integration with TELCOs.

Main technologies involved

  • php
  • laravel
  • symfony
  • android
  • java
  • typescript
  • node
  • bash
  • unity
  • c#
  • sql
  • react
  • react native
  • electron
  • vue
  • jquery
  • aws
  • azure
  • linux
  • docker

KidBox [software developer]

2014/11 - 2015/2

Words from Miguel Brechner, President of Plan Ceibal: "We are very proud of the results of our work with KidBox. By working on a pilot project within classrooms together with teachers, we were able to define an interface for Android tables applied to the education of small children and KidBox was able to capture these ideas in Ceibal OS, which is already operating in Plan Ceibal tablets." Words from Martín Larre, CEO of KidBox: "Uruguay is the first country in the world to have successfully implemented the delivery of one laptop per child in public schools, and in KidBox we are very proud of being picked up as the learning platform for its Educational Tablets. We have worked together with Plan Ceibal to offer a complete solution that enables students to access the best educational content at any time and from any place."
As a software developer, my main task was to develop the web backend and API for the Ceibal OS project.

Main technologies involved

  • php
  • laravel
  • symfony
  • bash
  • sql
  • jquery
  • aws
  • linux
  • vagrant
  • jasper reports server

Foxbyte [software engineer]

2014/1 - PRESENT

Foxbyte focuses in the goal of develop software solutions of maximum quality implementing cool technologies. That goal is mainly achieved with a really good staff, and also with participation of the customers to get a deep level of understanding of the problem to solve.
As a software engineer, I'm in charge of the architecture, analysis, development and deploy of solutions.

Main technologies involved

  • php
  • laravel
  • node
  • typescript
  • laravel
  • c#
  • sql
  • angular
  • jquery
  • aws
  • linux
  • vagrant
  • ansible

Freelance [software developer]

2012/3 - 2014/1

At this stage, it was where I began to acquire soft skills to manage clients, as well to improve my technical side; I mainly tried to used technologies that I knew like php and arduino; After entering confidence with my skills, I began to try programming languages and technologies that I did not know.

Main technologies involved

  • php
  • laravel
  • javascript
  • 8-bit microcontrollers
  • arduino
  • c++

soft skills

attitude 100%

social perceptiveness 100%

critical thinking 95%

adaptability 90%

willingness to learn 100%

mentoring 95%

teamwork 90%

empathy 85%

language skills

php 100%

javascript 100%

typescript 95%

java 80%

c# 100%

sql 90%

c++ 75%

css 65%

tech skills

laravel 100%

react 100%

docker 90%

.net 80%

vue 100%

cloud services 100%

unity 3d 90%

arduino 85%

Projects_

EXE Project - game

EXE Project narrates the extraordinary journey towards the truth undertaken by Mía Satö, a former special agent of the JSFA. After a strange incident that ended his daughter's life after inquiring about an alleged case of corruption in the government of Japan, he decides to continue his investigation in secret. The clues that she manages to collect lead her to a desert island in the waters of the Japanese sea. Inspired in great titles like Parasite Eve, Dino Crisis, Resident Evil, Metal Gear and Silent Hill.

  • unity
  • c#
  • behavior trees
  • pbr shading

Manantiales - app

Companion mobile application developed for the Manantiales Fundation to help her pacients to track their health and recovery.

  • es6
  • react native
  • firebase

Diagnóstico Express - app

Through an Android application used from a tablet and a web application the system records the entire process of entry of a vehicle into the workshop. Then with the collected data generates reports for decision making.

  • android
  • java

Diagnóstico Express - api

Service to manage Volkswagen official services workshop.

  • php
  • lumen
  • mysql
OSS

Infra JS

Create development environments for your projects without the clutter that comes by installing stuff like languages and servers. With Infrajs you can deploy lightweight and decoupled environments on your machine based on containers powered by docker.

  • docker rapi
  • git integration
  • vue
  • electron

tuMenú restaurant - desktop

Desktop application for restaurants to manage and print their delivery labels.

  • es6
  • vue
  • electron
  • sass

tuMenú - app

Eating well now is easier! We look for the best menus of the day for you. Order your lunch from the app and pay with automatic debit or Paganza.

  • ionic
  • angular
  • typescript
  • cordova
OSS

Scaffolder for Laravel

Remove the headache of creating over and over again the base code for most of your projects. You are free to extend it the way you need. This package only generate things that you need to start, always keeping the code clean and abstract.

  • php
  • laravel
  • symfony
  • jquery
  • materialize
OSS

Extensions for Scaffolder

Example of how to implement extensions in Scaffolder.

  • php
  • laravel
OSS

Material theme for Scaffolder

Decoupling implementation of themes for Scaffolder.

  • php
  • laravel
OSS

View Tags for Laravel

Simple way to tag your Laravel views.

  • php
  • laravel

Arduino server as device controller

Arduino server developed to control industrial devices from a web dashboard.

  • c++
  • html5
  • jquery
  • atmega328p
  • enc28j60
OSS

Arconet

Web application that let you control your devices and some other cool stuff.

  • php
  • laravel
  • c++
  • arduino
OSS

PHP Blue Micro-framework

MVC micro-framework based on Laravel and Symfony components using Pimple as dependency injection container.

  • php
  • laravel
  • symfony
  • pimple dic
OSS

Snakebyte 2D

Fun classic 2D snake game that implements cutting edge technologies available in that year.

  • html5
  • typescript