AppUnite Logo

Blog

Learn about AppUnite’s engineering efforts, company culture, product developments and awesome things we work on daily!

How atom keys with JSON in Ecto can break your system
How atom keys with JSON in Ecto can break your system
If you use the map type in your Ecto schema, you definitely should read this article. It'll help you to avoid possible system failures.
Read more...
5 tips for software engineers transitioning to the team leader role
5 tips for software engineers transitioning to the team leader role
The demand for software is growing continuously. Newly created teams need strong leadership and leaders are often chosen among software engineers. What to expect and how to prepare?
Read more...
How to become Junior Elixir Developer with no Elixir knowledge?
How to become Junior Elixir Developer with no Elixir knowledge?
In this article, we’ll go through a tale of how I landed in my current role, Junior Elixir Developer, having marginal Elixir knowledge - from application to present days.
Read more...
Ecto.Query.preload/3 vs. Ecto.Repo.preload/3
Ecto.Query.preload/3 vs. Ecto.Repo.preload/3
Which is better Ecto.Query.preload/3 or Ecto.Repo.preload/3? Read and find out what are the main differences.
Read more...
Renaming column and table in database migrations with Elixir and PostgreSQL
Renaming column and table in database migrations with Elixir and PostgreSQL
Step by step tutorial on what to do to guarantee zero downtime deployment, while deploying a new version of our application on more than one node.
Read more...
5 reasons why you should consider building a mobile app
5 reasons why you should consider building a mobile app
The purpose of this article is to show you the benefits and help you decide on building a mobile app. Mobile isn’t going anywhere and businesses need to adapt.
Read more...
Junior Dev's first days. From writing to releasing your first commercial code
Junior Dev's first days. From writing to releasing your first commercial code
Hubert, our developer, uncovers some of the rules and steps that we, as AppUnite, focus on while building products for our clients and teaching new team members good practices.
Read more...
Modular software design - 10 common mistakes
Modular software design - 10 common mistakes
Modular software design is all about dividing functionalities into independent pieces - modules. Learn what are the most common mistakes to avoid.
Read more...
Is Code Review harmful?
Is Code Review harmful?
How does code review affect your team? Can it be harmful? This article lists some issues that can be related to code review and some ideas for improvement.
Read more...
Concurrency and parallelism with Elixir and BEAM
Concurrency and parallelism with Elixir and BEAM
Patryk from our Backend team explains the differences between concurrency and parallelism, based on Elixir and BEAM.
Read more...
Handling failures in background workers with Elixir and supervisors
Handling failures in background workers with Elixir and supervisors
Elixir allows us to write systems that can run practically forever. Does that mean that we don't have to do anything to make our systems reliable?
Read more...
Become a pi-shaped developer
Become a pi-shaped developer
T-shaped skills are a compromise between being a specialist and a generalist. It's considered a great way to grow. But is it the best way?
Read more...
Decomposing domain models based on lifecycles
Decomposing domain models based on lifecycles
There is no one golden solution to decomposing. As it is one of the hardest things to do, it is essential to know the various approaches. That is exactly what you'll find in this article.
Read more...
Mastering development process
Mastering development process
When it comes to being a professional, it's not only about coding skills. It's about mastering the development process. Learn, how to do it!
Read more...
Why shouldn't you use Elixir code in database migrations?
Why shouldn't you use Elixir code in database migrations?
Elixir code used in migrations can cause troubles when we decide to start up our system with an empty database. But we'll help you to deal with that!
Read more...
RxJava Backpressure in practice
RxJava Backpressure in practice
The majority of us know of its existence, but only a few worked with it. It's time to get to know one of RxJava features more, Backpressure.
Read more...
How to migrate live production data
How to migrate live production data
Even simple migrations can be dangerous and when executed incorrectly can lead to errors and downtimes. Avoid these problems with our dev team tips.
Read more...
Enabling constraints in software development
Enabling constraints in software development
You can govern or enable constraints. Here, we'd like to describe a concept of enabling constraints and how to use them in development.
Read more...
Should you use database transactions for data consistency?
Should you use database transactions for data consistency?
In our systems, most business actions require changes across multiple contexts. How can we keep these contexts consistent?
Read more...
Hybrid or Native - Which one best fits your product?
Hybrid or Native - Which one best fits your product?
Are you considering building a new mobile app and think which to choose native or hybrid? We pointed out the key areas to help you with the decision.
Read more...
How atom keys with JSON in Ecto can break your system
How atom keys with JSON in Ecto can break your system
If you use the map type in your Ecto schema, you definitely should read this article. It'll help you to avoid possible system failures.
Read more...
How to become Junior Elixir Developer with no Elixir knowledge?
How to become Junior Elixir Developer with no Elixir knowledge?
In this article, we’ll go through a tale of how I landed in my current role, Junior Elixir Developer, having marginal Elixir knowledge - from application to present days.
Read more...
Renaming column and table in database migrations with Elixir and PostgreSQL
Renaming column and table in database migrations with Elixir and PostgreSQL
Step by step tutorial on what to do to guarantee zero downtime deployment, while deploying a new version of our application on more than one node.
Read more...
Junior Dev's first days. From writing to releasing your first commercial code
Junior Dev's first days. From writing to releasing your first commercial code
Hubert, our developer, uncovers some of the rules and steps that we, as AppUnite, focus on while building products for our clients and teaching new team members good practices.
Read more...
Is Code Review harmful?
Is Code Review harmful?
How does code review affect your team? Can it be harmful? This article lists some issues that can be related to code review and some ideas for improvement.
Read more...
Handling failures in background workers with Elixir and supervisors
Handling failures in background workers with Elixir and supervisors
Elixir allows us to write systems that can run practically forever. Does that mean that we don't have to do anything to make our systems reliable?
Read more...
Decomposing domain models based on lifecycles
Decomposing domain models based on lifecycles
There is no one golden solution to decomposing. As it is one of the hardest things to do, it is essential to know the various approaches. That is exactly what you'll find in this article.
Read more...
Why shouldn't you use Elixir code in database migrations?
Why shouldn't you use Elixir code in database migrations?
Elixir code used in migrations can cause troubles when we decide to start up our system with an empty database. But we'll help you to deal with that!
Read more...
How to migrate live production data
How to migrate live production data
Even simple migrations can be dangerous and when executed incorrectly can lead to errors and downtimes. Avoid these problems with our dev team tips.
Read more...
Should you use database transactions for data consistency?
Should you use database transactions for data consistency?
In our systems, most business actions require changes across multiple contexts. How can we keep these contexts consistent?
Read more...
5 tips for software engineers transitioning to the team leader role
5 tips for software engineers transitioning to the team leader role
The demand for software is growing continuously. Newly created teams need strong leadership and leaders are often chosen among software engineers. What to expect and how to prepare?
Read more...
Ecto.Query.preload/3 vs. Ecto.Repo.preload/3
Ecto.Query.preload/3 vs. Ecto.Repo.preload/3
Which is better Ecto.Query.preload/3 or Ecto.Repo.preload/3? Read and find out what are the main differences.
Read more...
5 reasons why you should consider building a mobile app
5 reasons why you should consider building a mobile app
The purpose of this article is to show you the benefits and help you decide on building a mobile app. Mobile isn’t going anywhere and businesses need to adapt.
Read more...
Modular software design - 10 common mistakes
Modular software design - 10 common mistakes
Modular software design is all about dividing functionalities into independent pieces - modules. Learn what are the most common mistakes to avoid.
Read more...
Concurrency and parallelism with Elixir and BEAM
Concurrency and parallelism with Elixir and BEAM
Patryk from our Backend team explains the differences between concurrency and parallelism, based on Elixir and BEAM.
Read more...
Become a pi-shaped developer
Become a pi-shaped developer
T-shaped skills are a compromise between being a specialist and a generalist. It's considered a great way to grow. But is it the best way?
Read more...
Mastering development process
Mastering development process
When it comes to being a professional, it's not only about coding skills. It's about mastering the development process. Learn, how to do it!
Read more...
RxJava Backpressure in practice
RxJava Backpressure in practice
The majority of us know of its existence, but only a few worked with it. It's time to get to know one of RxJava features more, Backpressure.
Read more...
Enabling constraints in software development
Enabling constraints in software development
You can govern or enable constraints. Here, we'd like to describe a concept of enabling constraints and how to use them in development.
Read more...
Hybrid or Native - Which one best fits your product?
Hybrid or Native - Which one best fits your product?
Are you considering building a new mobile app and think which to choose native or hybrid? We pointed out the key areas to help you with the decision.
Read more...
How atom keys with JSON in Ecto can break your system
How atom keys with JSON in Ecto can break your system
If you use the map type in your Ecto schema, you definitely should read this article. It'll help you to avoid possible system failures.
Read more...
Ecto.Query.preload/3 vs. Ecto.Repo.preload/3
Ecto.Query.preload/3 vs. Ecto.Repo.preload/3
Which is better Ecto.Query.preload/3 or Ecto.Repo.preload/3? Read and find out what are the main differences.
Read more...
Junior Dev's first days. From writing to releasing your first commercial code
Junior Dev's first days. From writing to releasing your first commercial code
Hubert, our developer, uncovers some of the rules and steps that we, as AppUnite, focus on while building products for our clients and teaching new team members good practices.
Read more...
Concurrency and parallelism with Elixir and BEAM
Concurrency and parallelism with Elixir and BEAM
Patryk from our Backend team explains the differences between concurrency and parallelism, based on Elixir and BEAM.
Read more...
Decomposing domain models based on lifecycles
Decomposing domain models based on lifecycles
There is no one golden solution to decomposing. As it is one of the hardest things to do, it is essential to know the various approaches. That is exactly what you'll find in this article.
Read more...
RxJava Backpressure in practice
RxJava Backpressure in practice
The majority of us know of its existence, but only a few worked with it. It's time to get to know one of RxJava features more, Backpressure.
Read more...
Should you use database transactions for data consistency?
Should you use database transactions for data consistency?
In our systems, most business actions require changes across multiple contexts. How can we keep these contexts consistent?
Read more...
5 tips for software engineers transitioning to the team leader role
5 tips for software engineers transitioning to the team leader role
The demand for software is growing continuously. Newly created teams need strong leadership and leaders are often chosen among software engineers. What to expect and how to prepare?
Read more...
Renaming column and table in database migrations with Elixir and PostgreSQL
Renaming column and table in database migrations with Elixir and PostgreSQL
Step by step tutorial on what to do to guarantee zero downtime deployment, while deploying a new version of our application on more than one node.
Read more...
Modular software design - 10 common mistakes
Modular software design - 10 common mistakes
Modular software design is all about dividing functionalities into independent pieces - modules. Learn what are the most common mistakes to avoid.
Read more...
Handling failures in background workers with Elixir and supervisors
Handling failures in background workers with Elixir and supervisors
Elixir allows us to write systems that can run practically forever. Does that mean that we don't have to do anything to make our systems reliable?
Read more...
Mastering development process
Mastering development process
When it comes to being a professional, it's not only about coding skills. It's about mastering the development process. Learn, how to do it!
Read more...
How to migrate live production data
How to migrate live production data
Even simple migrations can be dangerous and when executed incorrectly can lead to errors and downtimes. Avoid these problems with our dev team tips.
Read more...
Hybrid or Native - Which one best fits your product?
Hybrid or Native - Which one best fits your product?
Are you considering building a new mobile app and think which to choose native or hybrid? We pointed out the key areas to help you with the decision.
Read more...
This website stores cookies on your computer. The data is used to collect information about how you interact with our website and allow us to remember you. We use this information to improve and customize your browsing experience and for analytics and metrics about our visitors both on this website and other media. Cookie Policy Privacy Notice
Work together

Let’s Work Together!

Make the first step for a great partnership! Share your idea with us and check what we can do for you and your company.
AppUnite Sp. z o.o.
VAT ID: PL 7831689686
Droga Dębińska 3A/3
61-555 Poznań, Poland
+48 532 568 641
office@appunite.com
Clutch Top Developers 2020Clutch Top B2B Companies 2019Financial Times ranking of 1000 fastest-growing companies in EuropeDiament Miesięcznika Forbes