Blog

How we interview software developers

This article provides a view of our approach to interviewing software developers. We've designed our process around the idea that developer interviews shouldn't be a mere technical evaluation but should allow us to grasp the candidates' problem-solving and collaboration capabilities, adaptability, ...


Ins and Outs of Elixir Mix Tasks

### 1. Overview: One of the many benefits of Elixir is its built-in build tool, Mix. Mix provides a simple way to manage dependencies, compile code, run tests, and execute tasks. In this blog post, we will explore the ins and ...


Discussion ideas when interviewing Elixir developers

Interviewing and hiring developers is hard. Software engineering is not only about the technical stuff but also about communication and collaboration. Yet many companies structure their technical interviews like an exam: - "What types of variables are available in Elixir?", - ...


How to configure an Elixir Phoenix app with LiveView to run behind an NGINX proxy

I recently went through some pain configuring an Elixir Phoenix application to run properly behind an Nginx proxy. Moreover, my app is using LiveView which seems to complicate further the situation. There are a few detailed discussions on the subject like: ...


Create AWS Cloudfront invalidations upon CodePipeline release

For a project, we are using AWS CloudFront to host and serve static files like images and CSS. These assets are deployed to CloudFront through AWS Codepipeline. But, Cloudfront caches these assets to serve them faster through their Edge locations. The ...


Polymorphic Associations in Elixir

If you're coming from Ruby on Rails, you're probably familiar with the polymorphic associations between resources and you probably miss them in Elixir. We recently had to migrate a Rails functionality to Elixir without making any changes to our database, so ...


We are not a technology company

I often speak to non-technology company leaders about the endless possibilities technology offers and how it can practically solve any of their business problems. One of the most common objections I get is: #### *“We are not a technology company!”* That ...


How much does AWS cost and is it worth

When I talk to clients about cloud services and AWS the topic about pricing always comes up and even though people have actually no idea how much AWS will cost for their project, they have this notion that AWS would be ...


Set an SSL certificate (HTTPS) on an AWS Elastic Beanstalk environment without a load balancer

1. Concatenate the SSL files 2. Prepare private key 3. Upload to certificate files to S3 4. Configure the proxy server to use the SSL certificates

This guide illustrates how to set ...


Potential obstacles for implementing Machine Learning in your company

Machine Learning is getting more and more popular and accessible, but implementing it is still not a trivial task.

There are a few vital things in the process of introducing Machine Learning that might turn out to be thorns in your ...


Why your software project is failing

Everybody is building software nowadays. Companies of all sizes and industries are afraid of getting left behind so the innovation hype is stronger than ever.

Speaking to companies, I realize there's one thing they all share - stories of failed/late/expensive projects, ...


Advanced database seeding in Rails applications

By default, Rails ships with a built-in feature for seeding initial data into a database. You can learn more about it here. It’s a great way to set initial data in development, staging or even in some production cases. ...


Antipaterns to avoid for building microservices-based systems

We are proponents of the idea that if you want a scalable software system, there’s no other path, but the microservices one. The idea behind microservices is simple - instead of building a monolithic application, break down your logic into small ...


Common traps with message queues based communication (AWS SQS)

Message queues are a great way to distribute data across microservices and for asynchronous communication. Our team uses queues to handle the following:

  1. communication between microservices;
  2. for extracting long running jobs and decoupling;
  3. to handle request spikes;
  4. pub-sub.
...


5 tips for becoming a better software developer

Many new programmers believe that being a good software developer is all about deep technical knowledge and having years of experience writing complex algorithms. That might be true to an extent, but having the right mindset and understanding the essence of ...


How to install PDFtk on an AWS Elastic Beanstalk environment

If you need help installing PDFtk on an ElasticBeanstalk instance, this post will help you out. Although EB is an awesome service when it comes deploying, provisioning, load-balancing and scaling applications, installing additional packages can be a little tricky from time ...