- e: me@marcooliveira.com
- w: www.marcooliveira.com
- p: (+351) 912-544-902
Having developed web-enabled applications for more than 10 years, I've been able to build a solid knowledge on many technologies.
Academically, I'm currently finishing a Masters degree in Computer and Telematics Engineering, in Aveiro University. This experience has given me expertise on networks, computer architecture, low to high level development (like Assembly MIPS, Assembly x86, C, C++, Prolog, Caml, Java, C#, UML, among others), as well as experience with software architecting, security and optimization.
The main focus of my professional path has been server-side development, and I have had the chance to lead development teams on high profile projects, in which I was in charge of architecting systems, development supervision, and development itself. Still, I've also had my fair share of client-side development, using Adobe Flash, Javascript, and HTML.
I'm also one of the founders of Indigo United, a dream incubator that combines great professionals, currently focused in developing open-source web development tools, that are already being used in some high profile projects.
Summing it up, my main skills include PHP, Symfony 2, OOP, Relational Databases, Non-relational Databases (Couchbase, CouchDB), Full-text searching (ElasticSearch, SphinxSearch), many web-services and APIs (Google Maps, Amazon, Facebook, 7Digital, among others), Adobe Flash, Actionscript 3.0, Javascript, HTML, CSS, ASP.NET 2.0, all of which, I've been using to create scalable, high performance, highly available and failure tolerant web applications.
On a side note, my hobbies, besides developing and all the usual tech stuff, include photography, music and dancing.
Having used the Object Oriented Paradigm for a few years now, I am very confor le with architecting a design that is capable of extracting and representing the necessary components from the problem domain into the solution domain, maintaning a coherence, which enables the use of a unified language between the client and the developers, and allows a more segmented, collaborative work. I have been responsible for designing several models from the top-down, giving me the capability to preempt future problems, which combined with my database development experience enables me to design and implement solutions capable of delivering great performance.
Currently my server-side language of election, I mainly develop in PHP using an OOP (Object Oriented Programming) approach. I have been using PHP to develop everything from small institutional websites, with just a few hundreds of visitors a month, to high profile RIAs, combining many advanced features, like fast full text searches, advanced caching, Amazon integration, Google Maps, among others, while still being capable of handling hundreds of thousands of users a day, which gave me experience in high performance scalable development.
A big part of my work has envolved relational databases, like MySQL, PostgreSQL and Microsoft SQL Server. I've been responsible for implementing systems capable of handling databases with tenths of GigaBytes of information, with high availability and speed. I am capable of handling advanced databases architectures, with replication, in order to scale information systems.
Having been an early adopter of NoSQL solutions, I've had the chance to play around with several solutions, like Couchbase, CouchDB and MongoDB, and am currently using Couchbase on a daily basis. These sort of solutions have enabled me to design elastic systems, which scale beautifully and in a painless way.
A big part of my work has envolved relational databases, like MySQL, PostgreSQL and Microsoft SQL Server. I've been responsible for implementing systems capable of handling databases with tenths of GigaBytes of information, with high availability and speed. I am capable of handling advanced databases architectures, with replication, in order to scale information systems.
Used the Symfony PHP framework in a few projects, giving me the oportunity to work with some state of the art techniques and technologies, like the MVC Architectural Pattern, Three-Tier Architectural Pattern, Object-Relational Mapping (using Doctrine), among others. Above all, while using these technologies I've developed a knowledge that I am able to apply in large scale projects, even when not using PHP.
While working with Adobe Flash for about 11 years, ever since what was then known as Macromedia Flash 4, and now Adobe Flash CS6, I've followed the technology closely, working with AS2 and later AS3 in order to develop rich experience websites and interfaces. During this time, I've become very knowing of the technology, and for a long time, used it almost on a daily basis, whether I was the one implementing, or just leading others.
Along all projects I've been involved with, I've worked with several different technologies, that aided me to get the job done. Here's a list of the main technologies I've used:
Currenty attending a Master degree in Computer and Telematics Engineering (Engenharia de Computadores e Telemática) in Aveiro University (Universidade de Aveiro), in Aveiro, Portugal.
This course focuses several fields of study, such as Electronics, Computer Architecture, Assembly programming, Signal Processing, Telecommunications, Networks, Operating Systems, Software Optimization, Databases, Software Architecture, Information Systems and Web Development.