César Teixeira

César Teixeira

Senior Software Engineer

Contact Me

About Me

I was born in 1987 and I live in Oporto, Portugal. I hold a Degree (2010) and Masters (2015) in Computer Science Engineering at the School of Engineering, Polytechnic Institute of Oporto (ISEP), focusing in Large-Scale Middleware Architectures.

I have more than 10 years experience in IT solutions, 3 years as a Junior Researcher, 7 years in retail solutions, from my experience at Xhockware and Xarevision and currently at accomodation solutions at Hostelworld. I worked on several projects, personal and professionally, such as Mobile Checkout (YouBeep), Mobile Payments (mPOS, Multibanco, MBWay, Referências MB), Mobile Scanning (Cordova Plugin for QRCode and Barcode scanning), WebServices Development (PHP, NodeJS), REST APIs (NodeJS Express/NestJS, PHP Slim Framework), Middleware solutions and protocols (RabbitMQ - AMQP/MQTT, eJabberd - XMPP, Mosquitto - MQTT, ZeroMQ), Database Management (PostgreSQL, MySQL), Digital Signage, Home Automation (SEWI Project), etc.

Experience

Since January 2020 I'm working as a fullstack developer at Hostelworld, with a focus on the backend, being responsible for the development of REST APIs with NodeJS, using NestJS and Express frameworks with Typescript support. I also contributed to the discussion and creation of several components of an internal UI library with React, using Storybook to expose and test the components. The lib is being used in a new project for a web application.

Between November 2019 and March 2020 I also had an experience on a full remote project with RoundPegs, Inc., assuming a backend developer position. I was responsible for designing and implementating REST APIs in NodeJS (Express Framework) for one of the largest retailers in Brazil. The main goal of those APIs was to act as gateway between client APIs and a frontend project that was being implemented by the team. The project involved database management, storage and maintenance with PostgreSQL databases. Apart from the development I was also involved in several direct meetings with the client to get the requirements and discuss the evolution and progress of the project.

Until the end of 2019 at Xhockware, I was leading the development and coordination of the YouBeep Project, being responsible for the management, coordination and implementation of several Web projects inside the company. YouBeep is a mobile shopping and checkout solution that reduces checkout time, while enhancing the overall customer shopping experience. Ideal for retailers looking to improve customer satisfaction while also reducing operational costs.

Since 2017, I assumed the Head of Mobile position, giving me the opportunity to suggest and challenge the development team to change things a lit bit :) After some time, I proposed VueJS and Framework7 Frameworks as the core Frameworks for most of Web development projects, starting at YouBeep mobile application, and we DID IT! Yeahhh :) VueJS is now the core Framework for almost all the Web projects the company is working on. I love to work with different teams in different projects, involving other topics as well.

At 2015, I joined Xhockware a Full Stack developer on the YouBeep Project, powered by Xhockware SA. For the first two years on the company, I was involved in several parts of the development process, such as database management (PostgreSQL), webservices (PHP, Rest APIs) development and Web development (mobile hybrid applications and webpages).

My main interests are in the field of Web development, Mobile Web development (hybrid applications), Middleware-based Architectures (XMPP, AMQP/MQTT (RabbitMQ), ZeroMQ), Open-source contributions (Framework7 Framework, Cordova Plugins, etc).

Work Experience

Senior Software Engineer Hostelworld (Jan 2020 - current)

Senior Software Engineer, Fullstack developer with focus on backend

Senior Software Engineer, Backend developer - RoundPegs, Inc. (Nov 2019 - Mar 2020)

Backend developer of REST APIs with NodeJS / Express and PostgreSQL databases

Senior Software Engineer & Project Lead - Xhockware SA (Jun 2015 - Dec 2019)

Senior Software Engineer, Head of Mobile and Lead Developer of YouBeep Hybrid Mobile Application

Junior Researcher - CISTER - Research Centre in Real-Time & Embedded Systems (Oct 2011 - Oct 2012)

Software Engineer and Lead developer in two European projects:

ENCOURAGE Project

Arrowhead Project

Software Engineer - Xarevision SA (Oct 2011 - Oct 2012)

Worked as Full Stack software developer and Linux system administrator

Product Manager - Coca-Cola Digital Signage

Internship - Xarevision SA (Mar 2010 - Oct 2011)

Worked as Full Stack software developer and Linux system administrator

Cashier - Jumbo Gondomar - Auchan Portugal Hipermercados (Feb 2009 - Jun 2010)

Worked as a cashier at Jumbo. I did also shopping assistant and home deliveries.

Publications

Middleware for Large-scale Distributed Systems - Master Thesis (23, Nov, 2015)

Over the last few years the designing and implementation of applications have evolved to a new breed of applications that are used by a huge number of users at the same time and are capable of being executed in up to thousands of machines physically distributed, even geographically, such as the cloud computing systems, the new concept of “big data” and smart cities. The existence of several components of these systems, distributed in independent machines, brings inevitable issues in terms of designing and implementation of those systems in order to achieve flexible, scalable, robust, reliable and interoperable systems. It is extremely important to design and implement systems that can be capable of providing a communication and coordination among all the components of the system. The concept of implementing a Middleware seems to be a great option to solve most of these issues, allowing a system to communicate with other systems in a really fast, robust and secure way. The main goal of this thesis is to demonstrate that the usage of Middleware technologies to ensure the communication in distributed systems brings a huge number of advantages, such as interoperability between systems, robustness regarding the communication layer, scalability and high speed communications.

Lessons learned in building a middleware for smart grids - Journal of Green Engineering (JGE), River Publishers. Aug 2016, Volume 6, Issue 1, pp 1-26 (Aug, 2016)

Smart grids play an important role in the modernization and optimization of the existing electrical grid, to accomplish the current European Union Energy and Climate targets. Smart grids require distributed applications to manage the grid more efficiently. The performance of the distributed applications impacts on the communications delay time and on the timely interaction with the devices located in the users’ Home Area Networks. This paper presents the results of the ENCOURAGE project related to the development of a software platform to support smart grids. The work presented in this paper assesses four different middleware configurations and analyses the results on the delay performance tests. The results show that the mean end-to-end delay is between 310 ms and 453 ms in proper conditions. In terms of operational costs, the optimal configuration enables managing houses with less than 0.25 Euros per month per house. This paper justifies the maturity of the technology to support smart grids, and the possibility to transfer the ENCOURAGE project results to the industry.

Adaptive offloading for infotainment systems - SIGBED Review, ACM. Jun 2015, Volume 12, Issue 3, pp 19-23.Also presented at 7th Workshop on Adaptive and Reconfigurable Embedded Systems (APRES 2015) (Jun, 2015)

Infotainment applications in vehicles are currently supported both by the in-vehicle platform, as well as by user’s smart devices, such as smartphones and tablets. More and more the user expects that there is a continuous service of applications inside or outside of the vehicle, provided in any of these devices (a simple but common example is hands-free mobile phone calls provided by the vehicle platform). With the increasing complexity of ‘apps’, it is necessary to support increasing levels of Quality of Service (QoS), with varying resource requirements. Users may want to start listening to music in the smartphone, or video in the tablet, being this application transparently ‘moved’ into the vehicle when it is started. This paper presents an adaptable offloading mechanism, following a service-oriented architecture pattern, which takes into account the QoS requirements of the applications being executed when making decisions.

Convergence to the European Energy Policy in European countries: case studies and comparison - Social Technologies (Social Technologies), Mykolas Romeris University. 2014, Volume 4, Issue 1, pp 7-18 (2014)

Purpose – Our paper aims at analyzing how different European countries cope with the European Energy Policy, which proposes a set of measures (free energy market, smart meters, energy certificates) to improve energy utilization and management in Europe. Design/methodology/approach – The paper first reports the general vision, regulations and goals set up by Europe to implement the European Energy Policy. Later on, it performs an analysis of how some European countries are coping with the goals, with legal, economical and regulatory measures. Finally, the paper draws a comparison between the countries to present a view on how Europe is responding to the emerging energy emergency of the modern world. Findings – Our analysis on different use cases (countries) showed that European countries are converging to a common energy policy, even though some countries appear to be later than others. In particular, Southern European countries were slowed down by the world financial and economical crisis. Still, it appears that contingency plans were put into action, and Europe as a whole is proceeding steadily towards the common vision. Research limitations/implications – European countries are applying yet more cuts to financing green technologies, and it is not possible to predict clearly how each country will evolve its support to the European energy policy. Moreover, we only analyzed a small number of countries. On the other hand, we selected countries belonging to different areas of Europe, and we consider that the countries that we selected as placeholders for the groups cover the whole normative spectrum that can be found in Europe. Practical implications – Different countries applied different measures to attain the targets set by the European Union. The implementation of the European energy policy has to cope with the resulting plethora of regulations, and a company proposing enhancement regarding energy management still has to possess robust knowledge of the single country, before being able to export experience and know-how between European countries. Originality/Value – Even though a few surveys on energy measures in Europe are already part of the state-of-the-art, organic analysis diagonal to the different topics of the European Energy Policy is missing. Moreover, this paper highlights how European countries are converging on a common view, and provides some details on the differences between the countries, thus facilitating parties interesting into cross-country export of experience and technology for energy management.

Arrowhead Compliant Virtual Market of Energy - 9th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA 2014). 19 to 21, Sep, 2014, Flexible And Interoperable Automation Systems. Barcelona, Spain (Sep, 2014)

Industrial processes use energy to transform raw materials and intermediate goods into final products. Many efforts have been done on the minimization of energy costs in industrial plants. Apart from working on “how” an industrial process is implemented, it is possible to reduce the energy costs by focusing on “when” it is performed. Although, some manufacturing plants (e.g. refining or petrochemical plants) can be inflexible with respect to time due to interdependencies in processes that must be respected for performance and safety reasons, there are other industrial segments, such as alumina plants or discrete manufacturing, with more degrees of flexibility. These manufacturing plants can consider a more flexible scheduling of the most energy-intensive processes in response to dynamic prices and overall condition of the electricity market. In this scenario, requests for energy can be encoded by means of a formal structure called flex-offers, then aggregated (joining several flex-offers into a bigger one) and sent to the market, scheduled, disaggregated and transformed into consumption plans, and eventually, into production schedules for given industrial plant. In this paper, we describe the flex-offer concept and how it can be applied to industrial and home automation scenarios. The architecture proposed in this paper aims to be adaptable to multiples scenarios (industrial, home and building automation, etc.), thus providing the foundations for different concept implementations using multiple technologies or supporting various kinds of devices.

My Contributions