How to reduce your PHP tests execution time up to 85%

Speedometer image from Wikimedia We all know that a good test suite — unit and integration — is important to any application. We also know that running all our tests can take some time (especially in large projects). What one may not know is that is possible to reduce this time up to 85% (or even more). In this post, I will show how we did this. Results may vary, but certainly you will notice a great improvement. The Problem In my squad’s current project, we have (at this time) a test suite with 345 scenarios (865 assertions). It was taking almost 4 minutes...…

How we exercise creativity on Pet Project Days

Once per month we have an event called “Pet Project day” at THE ICONIC. During this day we can experiment with new and exciting technologies or try out a different approach to solve an issue. In another words, the goal is to create something that potentially can make our lives easier or improve our customer experience. It may or may not be related to our current project. How it works Firstly, we come up with an idea. It can be a completely new proposal or just a better design on something that already exists - just use your imagination. One can...…

Going Serverless — An AWS Lambda overview

Recently my squad developed a microservice solution using an AWS Lambda and Node.js (Typescript) stack on top of Serverless, a framework which focuses on building and deploying serverless applications. In this article, I will share my experience and learnings during this period. A bit of context Basically, the application goal was to consume an external API, do some processing on the retrieved data and post that result to a different API endpoint. We considered that scenario as a great use case for Lambda, especially because the application would execute just twice per month; furthermore, we did not have to think about...…

Reasons for IT professionals to move abroad

By Adrian Gigante from Sydney — IMG_4809-Pano-Edit-Edit, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=53554477 The quest for constant evolution is needed in most careers. However, this requirement becomes even more desirable when we think about technology, because knowledge is more ephemeral there. New technologies are developed and released daily and professionals who do not keep up with this pace can quickly become outdated. As a result, the amount of professionals who choose to develop an international career is increasing. This article explores some of the reasons that motivate individuals to make the leap. New work environment When you start in a new job, you come...…

Pokémon Battle

Coauthored with Vanderlei Silva and Gabriel Olivério Contributors: Danilo Bezerra, Diego Souza Introduction This article is the first of a series about the main frontend frameworks and backend technologies, which is based on a thematic project to show how these interfaces respond using different implementations. Get your pokémon First of all check out our live demo Pokémon Battle and take a look at the source code. For this article we’re going to explore its construction focused on VueJS and PHP Lumen. Frontend In few words VueJS was our first option to implement the interface because: it’s performatic, reactive, component driven...…

Web Development Security

Introduction A secure application is as important (or even more, depending on it’s type) as a well-written one. Unfortunately, not so many developers are concerned about that topic. Overall, following some simple rules can improve a lot the security of applications. Here I will focus on PHP examples, but the concept may be adapted to other languages. …