Take Your App for a Test Drive with Using Prototype

The primary definition of the word “prototype” is: the first example of something, such as a machine or other industrial product, from which all later forms are developed. In my opinion, it is a clue about this topic because we currently have a lot of definitions and variations for this word. Of course, we (as software makers) use the word “prototype” for a digital product, not a machine or industrial parts, but the basic sense is the same – to make an example of the product. 

The most popular ways of prototyping are manual (paper) or digital (clickable mockups). On a daily basis, we use digital prototyping. In order to make a clickable prototype we need wireframes and software that enables us to create interactions between the screens.

Why do we prototype?

We can’t imagine a good design process without prototyping. It gives us the possibility to sample the product, communicate with the client and the rest of the development team, improve it, test it and as a result – implement faster. Building quick prototypes can help us to conclude which version of the functionality is better, so we can turn them into real projects as soon as possible.

If possible, we try to use a real copy (text) in our prototypes, not fake lorem ipsum. 

It helps to improve the user experience at this stage and simplify the interaction. Also, we use our prototypes to check the feasibility of user flows.

What do we gain thanks to prototyping?

There are many benefits of prototyping – for both digital agency and its clients. The undeniable advantages are:

  • We save a lot of time (and client’s money) in the development process 
  • We can confirm or rule out the hypothesis from earlier stages
  • We can make changes quickly and more effectively
  • We can test it easily with other people and target users
  • They’re non-binding
  • We give a good opportunity to be collaborative, close with the client, and stakeholders

What possibilities does it give?

Testing! Yes, it is one of the biggest values of prototyping.

Of course, we can test a prototype in a lot of different ways, for example: user tests, corridor tests and more. Every form of testing is a good opportunity to check how the demo product works and how people interact with it. Observations made during testing can give suggestions and tips on what we can improve to bring out the value of the product.

Be careful! There are traps!

Sometimes, clients or stakeholders can forget that this is just a prototype, not a final product. In this case, they get the wrong idea that the final application/system will look and work exactly the same as presented. We can make prototypes similar to applications but never the same (taking under consideration UI layer, micro-animations and native app solution).

The other thing is that while working on a prototype we can easily and quickly make some changes in order to test it again. This possibility can create a misleading feeling that the developers team can make the same changes in the actual application so fast as well. It’s definitely not true, and it’s one of the things that designers should point out to clients. Only a prototype gives us the possibility of fast adjustments and also, this is the exact reason why we work on prototypes at the first stages of the process – we make changes BEFORE it gets coded.

So do you need a prototype?

To sum it up, a prototype is a powerful tool that gives everyone in the project a clear picture of the product and its context. Developers can prepare for the upcoming project thanks to a clickable prototype and see the logic of the project. Designers and developers can use it on various levels of product creation. On each of those, it is important to watch and listen to how people use and interact with the prototype. Oftentimes, small changes in details can improve user feelings of interaction with the product.

It’s good to use this tool to work on a project, so we always use it. You should definitely consider working with a digital agency that can offer you a prototype before they start coding and designing. Let us know about your business goals so we can create something unique and phenomenal.

Improve Your Digital Processes in Times of Global Crisis

As you may know, we are facing the coronavirus pandemic at the moment. Is there any way to save your business from economical fallout that can happen because of it? Definitely! We need to observe changes in consumer behaviors. Then we act to support our brand’s growth while making our client’s lives easier.

Coronavirus (COVID-19) is spreading fast. More and more countries are introducing regulations like canceling mass events or closing public facilities (cinemas, gyms, etc). They also recommend staying at home and working remotely if possible.

Changes in society’s life organization have a huge influence on existing entrepreneurs. The model of goods and services consumption we knew until now is evolving. Consumers turn to online shopping and activities they can do at home. They also prefer running personal and professional errands without face-to-face contact. Thus, business digitalization is a huge chance at the moment.

The economic crisis was forecasted some time ago but no one expected it to happen so rapidly. We are still not able to predict how long the stagnation caused by the pandemic will take and what will be the outcome of it. Many industries can suffer and some small businesses can go bankrupt. 

Every company should reflect on its strategy for upcoming months and adapt it to the new market situation. It can be easier or harder, depending on the industry, but new technologies can help most of them. The internet can be a relief in an hour of economic depression.

How can iteo help with digital product development and moving business processes to that area?

Our years of experience in software development are priceless nowadays. We have a portfolio of many clients who moved parts of their operations to the digital area – which caused the company’s growth and positively influenced clients’ satisfaction. We offer our services to many different industries where each client has their own business needs and goals. While the pandemic is still ongoing, our common purpose should be simplifying clients’ lives.

Here are some examples of solutions that allow our clients to run their businesses safely and effectively while the coronavirus is still out there:


Mobile application for the Polish logistics industry leader. Includes innovative functionality of remote Parcel Locker opening. Thanks to this option, clients have no need to touch the machine’s computer screen to pick up their package.

It is worth mentioning that this app won the main prize and was granted first place in the “Services” category during the Mobile Trends Awards gala. It was downloaded millions of times from Google Play and App Store. Also, it was ranked as the first most downloaded mobile app.


Because it is strongly recommended to not leave home, lots of clients decide to buy online. Rossmann app allows them to find beauty and hygiene products they need and order them to an address of choice. Online payments are also very useful – we don’t need to have direct contact with the courier, touch the money or payment terminal.

Great digital solution not only for the beauty industry but for all e-commerce businesses.


It’s a platform for finding trustworthy opinions on aesthetic medicine specialists. It offers online consultations and procedures knowledge base, too. Of course, right now we should not invest in this kind of medical help, but this healthcare industry product is proof that we can create an app that will support doctors in teleconsultations and optimize the work of medical facilities. Remote prescriptions issuing is one of the functionalities. 


Fans of dining out are disappointed with restaurants and bars closing so they order more food online. The personalized app is scalable and effective so introducing changes into the menu or prices is quick and easy. An additional function of no-contact delivery allows the user to pick up their order safely – the courier will leave it at the door.

Fit @ Home

Closing gyms and fitness clubs can be problematic for people who try to stay fit. No contact with a personal trainer can negatively influence their motivation but also make them realize they don’t know what to do. This app helps to work out at home – it has ready-to-use workout plans and tips on how to use them. We can create a similar product for gyms and trainers so it will be compatible with other services they offer.

Leading Polish FMCG wholesaler (name protected by NDA)

Thanks to online shopping including the click & collect order pickup system, this app helps with quick goods ordering and picking them in the most convenient way from the chosen location. It also minimizes the need to touch shopping carts, baskets and products on shelves. We don’t need to spend time in the shop which is crucial while the pandemic is ongoing.

Voice bot by iteo

Original solution by iteo team with the potential to help in many industries. Voice bots can effectively perform debt collection processes, also they offer to book medical appointments, check order statuses, initially verify interest in certain services, lead satisfaction surveys and much more.

This product supports cost optimization in the company while increasing customer support quality and process effectiveness. It is available for many different industries because it can be personalized and adjusted to concrete services. With voice bot, we can offer customer care via phone – without expecting our clients to leave their homes.

All apps mentioned above were developed by specialists from iteo. These are digital products that boost and enhance daily routines with smartphones and other mobile devices.

We can build a similar solution for you – including your clients’ needs and your brand’s industry. We’ve already helped many of our clients in these uncertain times and we are continuing to do so. We know that technologies and online access are the answer for all companies that want to survive the pandemic, crisis and other random events.

Our mobile applications are appreciated by industry specialists and clients from around the world. They get a lot of positive feedback in app stores from where they were downloaded millions of times. Also, they are listed high in application ranks, not only in Poland but also in other countries where our clients come from. 

Product Workshops online

For all clients that are interested in the digitalization of their operations, we offer our original work method – Product Workshops. It is a process of project initiation that allows us to effectively find out what are the requirements and expectations of our clients. They also help us to collaborate with them on product vision that presents concrete values.

The main benefits of workshops are verification of business assumptions and technological possibilities for production, as well as creating customer experience vision. Product Workshops help with project cost estimation, proposing adequate changes and also allows us to quickly build a clickable prototype. The whole process can be done remotely.

Why should you work with iteo?

  • We’ve developed a mobile app of the year 2019 (main prize in Mobile Trends Awards)
  • One of our apps was ranked number 1 in the Polish App Store and Google Play
  • Another app we created was ranked number 1 in the American App Store
  • We work using the best technologies and best hardware
  • We guarantee the quality and scalability of our team
  • We were honored as Microsoft Gold Partner
  • We are regularly awarded for our design projects
  • Our clients include InPost, Rossmann, Dominos, Itaka, Shell, Kia, Deloitte and exciting startups from 5 continents
  • We are a reliable business partner and responsible employer 

Contact us!

If you want to move your processes to the digital area and work despite the crisis – we invite you to contact us. Thanks to online Product Workshops and other tools that allow us to efficiently communicate and collaborate remotely, we can create a unique IT product that supports your brand’s operations and gives your clients positive value!

What Does it Take to Develop an App of the Year?

InPost mobile application created by iteo won 1st prize in Mobile Trends Awards!

This app is a native solution developed by the iteo team, with a total of 3 million downloads and also a number 1 in app stores in Poland. It helps InPost customers track their parcels. The app is especially appreciated by the users for the innovative functionality of remote Parcel Locker opening.

Mobile Trends Awards is an annual gala for entrepreneurs who introduced modern technologies into their business operations. With over 9 years of history, Mobile Trends Conference is called the Oscars of the digital industry in Poland. It is an event to be for all companies and brands that use mobile applications, innovative websites and other IT products to make their customers’ lives easier.

This year our mobile app for InPost (one of the biggest, most appreciated and acknowledged courier companies in Poland) won the main prize being highly rated by the competition jury. At the same time, it also was granted first place in its category which was “Services”.

For InPost that night was very successful, as it won 3 prizes in total. Now, we would like to share a secret with you. This article will reveal how to develop an app of the year.

InPost – business goals and needs

InPost is a leading logistics brand in Poland. One of the main reasons is that they offer innovative services, including Parcel Lockers. They are parcel collecting spots available 24/7 that don’t require employees to operate them.

The goal of collaboration between iteo and InPost was to develop a mobile application for allowing the users to handle their parcels. In the future, the project is intended to grow by adding new functionalities and constant updates.

Another important goal was to completely give up text messages with parcel pickup codes. This solution was highly ineffective cost-wise (InPost was sending millions of text messages daily!) and also was risky in terms of potential frauds.

The client came to iteo with a clear plan – they wanted a flawless mobile app for their services. Good preparation before the beginning of the project was particularly crucial because the iteo team knew exactly what they needed to do.

UX and UI design

The design process began with Product Workshops. The assumption was that they would last one day, but the client asked to extend them for another day in order to refine the functionality. The application prototype was prepared on the basis of the scope determined during the workshop. It was assessed internally by the InPost team. The result of these activities was the creation of MVP (minimum viable product) that included basic and most important functionalities.

After creating the second prototype (based on MVP), the iteo team designed UX for parcel tracking and other side components of the application – only those that represented business value for InPost were implemented. In the second version, the structure of the application remained unchanged, but it was redesigned according to the company’s brand book, including color consistency and the use of new fonts.

A brand hero called Mat was also designed. It is a character that looks like a parcel, but its main purpose is to communicate with the users.

Currently, cooperation in this area consists of ad hoc consultations and engaging UX or product designers only when necessary.

Useful functionalities appreciated by critics and users

The app includes many features that InPost customers adore:

  • Parcel tracking – allows checking the status and location of the parcel
  • Remote Parcel Locker opening – a mode for opening the locker without touching the computer screen
  • Order history – an archive of all previous parcels
  • InPost spots map – shows the location of all Parcel Lockers and other InPost offices
  • News display – for reading about new functionalities and technical breaks

Thanks to the cooperation of iteo developers and designers with the InPost team, the application for both Android and iOS gave InPost clients a way to significantly speed up the process of parcel pickup. This way they made their service even more convenient to use.

Details of collaboration – process and workflow

We started working together in June 2018 and then the first stage of version 1 production started. It was released in April 2019, while the version number 2 was live in November 2019.

The project included the development of two native mobile applications for Android and iOS devices. The backend was coded in Java. For Android, the app was written with Kotlin Framework, while for iOS we used Swift Framework. We used many great libraries to extend the possibilities of each framework.

Collaboration with InPost was led according to Agile and SCRUM methodology. We began with our original work tool which is Product Workshops. Also, we often met up with the client to create and clarify the concept of the product and its functionalities. During the project, sprints are held every 2 weeks.

The QA procedure in the project was done with automatic and manual tests based on cases we listed at the beginning of the project. All testing parties were obliged to check the whole list before releasing each subsequent version of the application.

Innovation – remote Parcel Locker opening

This functionality is definitely something innovative when it comes to the logistics industry. Implementation was anticipated from the beginning of our collaboration, and it was shared with the users with the app’s version 2 release. Remote locker opening fulfills the business goal directly because it allows the users to quickly collect their packages which means that InPost can deliver even more of them.

The client wished that the process of parcel collecting was as similar as possible in the mobile application and on the Parcel Locker. The goal was to simplify the process for people who already knew it from Parcel Lockers. For this exact reason, the arrangement of buttons is quite similar but some elements had to be cut off because smartphone screens are much smaller than computer screens in Parcel Lockers.

The process of remote parcel collecting is strictly designed to not interrupt the client’s system. That’s very important because some of the solutions we considered could overload the InPost system with too many requests per second. 

Remote Parcel Locker’s opening functionality was highly praised by InPost clients. They are the leader of logistic services in Poland and their engagement in introducing better and more innovative solutions is appreciated by the users. Also, their attentiveness to client satisfaction is undeniable.


The result is a simple, intuitive and modern mobile application for Android and iOS. It allows customers to track shipments, open Parcel Lockers remotely without queuing and entering verification codes, as well as to keep up to date with the latest news or technical breaks.

The first version of the application was created from the very beginning – both on the development and design side. The second version received additional functionalities and redesign.

With over 100,000 users using the application every day, almost 100% encounter no problems. App Store and Google Play ratings are around 4.5 stars, which is a great result considering the number of people using it every day. Both versions of the application for a long time remained in the first place in Google and Apple stores.

Google Play downloads: +1mln

App Store downloads: +1mln


“iteo has created with us the application to collect and track InPost parcels deliveries. One of the main tasks of iteo during our cooperation was to create the UX and UI design of the application. Iteo has demonstrated the User’s understanding and is familiar with industry standards, which has allowed creating transparent and intuitive User paths. The provided design makes the application memorable while maintaining the simplicity of solutions.

During the entire development process, we could count on the full commitment and professionalism of all team members, and their proactive attitude has allowed us to implement many interesting solutions. We recommend iteo as a competent partner who met our expectations and conducted the project within the scope.” – Izabela Karolczyk-Szafrańska, Marketing Director of InPost

From Google Play and App Store:

  • “Very cool. Notifications, shipment status, easy and intuitive operation. New useful features are added with every recent update. Very helpful application and so far in my opinion bugs-free. Indispensable for me as a person using InPost services. I would recommend it.”
  • “An example of a perfect Android app. Everything works as it should, and the design of the application is stunning.”
  • “Application – a revelation;) constantly updated shipment status, push up notifications when the package is already in the parcel locker. The shipment is much better tracked than the number received by e-mail. Great, keep it up! Have a nice day at InPost and everyone working there!!!”
  • “Simple interface, intuitive control, no problems, and above all with jamming touch panels on some “cabinets”, displaying a QR code, it is a savior. It’s worth downloading because it’s a good application.”
  • “Application is the luxury we deserve! 4 packages collected in just over a minute!”
  • “Such apps should be the standard at courier companies.”

And that’s all, folks!

So now you know how to develop an app of the year. We are proud that our product developed for and with InPost is so appreciated by the clients and industry specialists. Creating viable, extraordinary software is our passion. Winning competitions like Mobile Trends Awards is proof that our products present certain value and quality.

If you would like to cooperate with us – don’t hesitate to send us a message. We will gladly discuss all the possibilities with you. Let us develop a mobile app or a website that will fulfill your business goals and give your clients a positive experience.

Why is Consistency So Important in Software Design?

The word “consistency” can have a couple of meanings. In terms of food, it means the texture. It can also refer to the uniformity of a document or the dependability of an employee. Consistency is crucial when you testify in court. It implies that the consistent thing is solid, well-organized and in compliance with certain rules or assumptions.

Today we look closer at consistency in reference to design. Why does consistency matter and how to maintain it while working on a project? Let’s find out!

Why should we care about consistent design?

Consistency in design means we produce all the elements with similarity. They should look and work as the parts of one bigger organism. This way, we give the user a much easier and more pleasant experience with our final product. Consistency is crucial to create intuitive mobile apps and websites.

It really matters, when it comes to learning things – for example how to use new software. With consistent design finding out how it works and where to find functionalities we are interested in is easy-peasy. Consistency just provides context that is understandable for most of us, so we can transfer our knowledge from one product we use to another.

Consistency is desired by our brains. It builds trust which gives us a reason to believe that we can expect alike experiences every time we use our smartphone or computer. There are many elements that are signs of consistency in design, and they are not only visual. They also address certain behavioral patterns. They understand how interactions between a human and hardware can vary. That’s why consistent design provides them in a way that is well-known to the receiver.

Types of consistency in design

To cite a very insightful Medium article about consistency in design, there are 4 types that we should always keep in mind.

  • Visual consistency

When all the elements that we see are made with integrity. It includes all the components like typography, icons, forms and much more.

  • Functional consistency

When every option we can access works in a similar way. This way we can predict what will happen when we click something or do a certain action.

  • Internal consistency

When you introduce additional functionalities that are consistent with the available ones. It combines both visual and functional consistency to be sure your product always has high usability and learnability.

  • External consistency

When your product looks and works similarly on all platforms. This way your users can expect the same experience whether they use it on different devices and systems.

How to keep your design project consistent?

Start with determining what are the business goals of your client but also – what are the goals of the potential product users. Finding a balance between those two is the first step. Then, ask yourself a couple of questions. If the brand is already on the market, it is worth looking closer at what is its relationship with the clients. How do they interact with it, what do they know about it? This can help to predict their future actions – which means creating a consistent design will be much easier.

You should also analyze more general issues when it comes to user experience and usability. Knowledge of psychological and sociological rules that can influence people’s behaviors will be very helpful. Find out the way to solve problems in the most simple way. Be aware of people’s preferences when it comes to using websites, applications and other online resources.

Elements of consistent design

  • Graphics & typography

This includes fonts, colors, buttons,  sizes of elements, positioning and much more. They need to be used accordingly to the project’s logic and distributed in the same manner within the product. You can work with a Design System to always remember what should be done, how and where. Be aware of the aesthetic principles of a brand you are collaborating with. Remember about symmetries and color contrasts to create an easy-on-the-eye experience.

Consistent visuals will not only help the user to navigate through the product, but also to identify the brand easily and with joy.

  • Language

The voice and tone you use in the copy can be super important when it comes to your company’s image. Every information you send to the audience should be correct with your communication vision. 

  • Patterns

Familiar customer paths can be found across multiple mobile applications and websites. That’s because online users already know their way with these services and they are searching for similar experiences in other products they give a try. If you provide the user journey that is almost instantly relatable, you can avoid the risk of losing potential clients.

Is consistency the opposite of innovation?

One might think that consistent design can be boring. That it makes everything look and work the same and doesn’t invite any innovation to the picture. But that’s not exactly true.

Keeping things consistent can just mean that adding changes will be more thought-through. This can take more time but also it helps to remember the most important thing – customer satisfaction. If you understand your users you can introduce innovation without losing consistency. This way you will give them a more positive experience and they will be able to fully take advantage of it – instead of trying to learn new functionalities.

Final words

“Having inconsistent interface is like trying to communicate with the user in several languages.” – says the article we mentioned above. As you can see, keeping consistency is not so hard but it can be crucial to delivering great experiences – and that’s what should matter for you the most.

Being inconsistent can make your product feel less appealing, confusing and more difficult to use which ultimately leads to being not really liked by your final customer. And that’s not an option.

Consistent design is definitely more efficient when it comes to time and budget. Using predefined components and building the product according to clear vision is much more effective and produces better results.

If you are a designer and you want to create IT products that are useful, elegant and robust – remember about consistency. Add a little touch of our fundamental design knowledge, spice it up with some newest trends – and voila! You get a web or mobile app that the users dream of!

At iteo we always pay attention to the details. Our goal is to deliver amazing software. We can collaborate – just let us know what you have in mind. We will help you achieve that with an extraordinary product!

The Essential Role of a Design System

This article will explain to all the designers out there what a Design System is. What is the purpose of it, what components should it include and how it can be helpful in our daily work? Let’s go step by step through the whole process of creating the system. Then we will tell you how to use it.

Disclaimer: Everyone has different working methods. We give you an example, a guideline for building your own Design System. You don’t have to copy it – but you can if you want to. Find out your own style of work and fit your system into it.

Part One – Beginning

Why do we make the Design System in the first place? The answer is rather simple and obvious. Chaos. There is no doubt that most designers have chaos in their files. Different button sizes, random icon weights, 400 shades of red, not to mention text styles or should I say – lack of them. For you that might be no problem at all. But think about others.

Who is influenced by this chaos?

Clients – time and cost efficiency is the most important thing for them. Because of the chaos, creating new views and functionalities takes much more time. With a Design System, it gets easy. With its help, we can reduce the hours needed to finish the project. Implementation will be much faster and the quality of the project will be much higher. Not like designing without any guidelines whatsoever.

Developers – for them, the Design System can be very important. Keeping the integrity of the project will be much easier. Thanks to Zeplin, they will have access to concrete color palettes, info about even distances between elements and much more. They won’t have to waste their time wondering if this blue button should have a bolded font or a shadow. Additionally, if the Design System is built based on tree-like naming (we will explain this method below), the programmer will be able to download needed assets with a correct name without the designer’s intervention. There are so many advantages that can help us and developers collaborate.

UX – creating wireframes is not that hard but sometimes it can be problematic. Some look awesome and clear, but others are missing views or functions. Introducing a Design System into the UX process is a one-time operation – and then it can be used forever. With a well-thought Design System, we can use premade components, text styles and icons which makes all our wireframes look good and consistent.

Testers – Using the Design System helps them to determine if everything has been done correctly or not.

Part Two – Naming

Seems simple but it’s the key to building an effective Design System. Most designers don’t really care about the names of their styles, components, layers or artboards. But it is crucial to introduce order into our files. If you work in Sketch, the tree-style of naming will be very helpful.

So how to name your things? Start with the general description and get more detailed afterwards. Here are some examples:


To achieve the best usability of styles, we recommend to name your typography as follows:

[Size name] / [Alignment] / [Color] / [Style]

If the system includes more than one font:

[Font family] / [Size name] / [Alignment] / [Color] / [Style]

For example:

H1 / Center / Error / Bold
SF Pro / H1 / Center / Primary / Left


Segregating your components according to views is one way to go. If I create a component that is used only in contact, the name will be:

Component / Contact / Further name

It’s a clear division of components depending on their functionality. From the general category to the details, the last part is a description of a concrete state, for example, Card / Inactive.

Icons and colors

This one is similar to components.

Icon / [Type of icon] / [Color] / [State]
Color / [Type of color] / [State] or Color / [State] / [Concrete color]

Part Three – Atomic Design

The most popular framework for making a Design System is Atomic Design. It is not such a complicated philosophy but rather a simple methodology that consists of creating small particles and building bigger templates and projects out of them.

Before we even start with basic system elements, we need to determine what kind of atoms we will use. Here are the examples of atoms we use daily at iteo.

Color palette

After the research is done and we have a vision of the product in our head, we can start with colors. It is a good idea to begin with establishing what will be the main color, additional color, text color, as well as success and error colors. 


We used to create 2 or 3 screens before even thinking about paragraph styles but that’s not always necessarily a good approach. It is possible to pick typography before the first screen design. Assembling text will be much easier if we produce enough styles and sizes beforehand.

When it comes to colors, what you should keep in mind is: black, white, basic (main color of the app), grey, error, success. These color variants of your fonts will give you enough flexibility and consistency for future work.

Now let’s talk about scale and size. There are many ways to define this attribute in the typography system. We can try to use Type Scale, find out the right settings and then roundup picked fonts to a full number. Sticking to either even or odd numbers is considered a good practice. For example, don’t use size 14 and 15, instead use 14 and 16. Of course, that’s just a suggestion.

When our sizes are already defined, we can put them on an artboard. Then we add basic and bold options and duplicate. Align them to the left, right and center. Now we can save them as text styles for each group using the correct name.


Another very important step is to design a set of basic functionality icons that we are sure will be needed for the project. While creating them, we can use the ready color styles made beforehand. This way, we won’t have any problem with a quick color change of the icon – without a need to create more options in our components.

Buttons and inputs

These elements are present in almost every app. But we often forget to design all of the required states for them. When doing that, we need to remember about the shape that should be based on the color scheme and the text that should be based on the paragraph style. That’s a helpful trick for when a problem or an inconsistency occurs – then we can exchange any element and apply it to a whole project.

Let’s come back to the states. We need to remember all the possible combinations and create buttons for them. Here is the usual set:

  • Default
  • Focus on and off (useful for keyboard navigation or other devices)
  • Disabled or Inactive
  • Hover
  • Active

For inputs, we also need to remember all the needed options. The usual set for them is:

  • Default
  • Focus on and off
  • Disabled or Inactive
  • Hover
  • Active
  • Error
  • Validation error

If you are wondering what is a “Focus” state, let me explain. It appears when we use a website without a mouse but with a “TAB” key or when we use computers with touch screens. The first click is a “Focus” state and the second one is a confirmation.

Part Four – Let’s Rock!

After we are done with determining our atoms, we can start building our Design System. No matter what we design – a mobile app, a desktop app or an ordinary responsive website – we need to keep a couple of rules in mind.

Remember to create new components with the ones that you made previously. For example, a chart can be done with the following symbols: an icon, a shade, a shape, a state and a text. How complex organisms you design with your atoms depends just on you.

We hope this small guide will help you to create your own Design System. This way you can give your chaos a dash of organization and clarity. Using it will make your work faster and better.

If you need seasoned UX and UI designers to give an original touch to your project – let us know what you have in mind. We offer complex web and mobile development services with stunning design to complete them.

Useful Tools in Software Testing

Software testing is a really important part of the development process. Our skilled Quality Control specialists use a bunch of tools that support testing operations and significantly improve their effectiveness. In this blog post, we will explain what we use and why.

Before we begin, a quick explanation of what QC actually is.

Quality Control is a proper name for all testing processes happening inside a digital agency. Its main purpose is to find bugs in developed software and give feedback that helps to fix them.

So, what kind of tools can help testers with their daily work?

Types of testing tools

We can sort these tools into a couple of basic categories – based on their functionalities. These are:

  • Automation testing tools
  • Bug tracking systems
  • Test management tools
  • Performance testing tools
  • Manual testing tools

Let’s give them a rundown – see what their advantages are and why their help is invaluable.

 Automation testing tools

Oftentimes, when it comes to complex and long-lasting projects we introduce test automation to make the processes more efficient and to reduce the cost of regression tests. Implementation of the automatic tests can also save time when it comes to manual, repeatable activities – and this way it allows for investing more into other types of testing, for example exploration tests.

Automation of routine work equals testing products the same way each time which means no human-factor is involved. That can be crucial for the results.

This type of tests can be created using different programming languages, but usually that’s C#, Python or Java. Thanks to their big popularity, but also lots of help from devs and testers when it comes to their advancement, these languages have many ready-to-use solutions and libraries supporting them.

Additionally, there are also tools that work by the rule of record and play – for example Selenium IDE – that are dedicated to everyone who is not experienced enough to write their own code. It is worth mentioning, that these tools can be more prone to application changes and expensive to maintain.

Bug tracking systems

Bug reporting is one of the tester’s main duties. Many useful tools were created to report them efficiently and transparently. They make the job easier for testers and programmers, too. Thanks to these systems, bug management and reporting is easy. Each team member can track the process of fixing them.

Test management tools

Testers do not only report bugs but they also have some other responsibilities to keep in mind. That includes creating:

  • Test plans
  • Test scenarios
  • Test reports

Doing all those things can be supported by test management tools. Most of them can integrate with the most popular bug tracking systems – so we can have all the needed data in one place.

Performance testing tools

Most tests for performance, load and stress are usually not possible to do manually or just unprofitable. Especially since there are many tools that can run scripts to simulate traffic of thousands of users in different time sequences or at the same time. It allows us to verify the system will respond regarding reaction time, maximum load or stress.

Manual testing tools

While performing exploratory testing in SBTM (Session Based Test Management) model, it is important to make notes during the session. The reason is that this approach – unlike testing based on test cases – we don’t report bugs while tests are still ongoing.

No matter which method you choose, reporting bugs should be very detailed. What’s most important is to deliver as much information as possible for each fault – so we often use screenshots or even video clips.

Sometimes we need to create accounts or fill out forms in the systems we test, which can be time-consuming. That’s why we use many tools that can make the job of a tester much more efficient.

Our favorite tools

Here’s a list of some popular testing tools, that we also use at iteo:

  • Selenium Framework: for end-2-end test automation for web apps. It supports most of the popular internet browsers. Using it we can write automated tests with well-known programming languages like C#, Python and Java.
  • Insomnia REST Client: it’s an open-source tool for API testing. Works on Windows, Mac OS and Linux. It has a user-friendly GUI and advanced options like code generator, authentication support and environment variables.
  • SoapUI: another open-source tool for API testing and efficiency testing. Mostly for web applications.
  • Gatling: great for performance and load testing of web apps. Includes an advanced system for reporting test results. Generating HTML report with it has information such as: active users over time, response time distribution, response time percentiles over time, requests per second over time, responses per second over time. It supports HTML, WebSocket, Server-sent events and JMS protocols.
  • Appium: another framework used for tests automation. This one is useful for native mobile applications, mobile web apps and hybrid applications for Android and iOS.
  • Postman: this tool assists in creating and testing API thanks to the possibility of sending different HTML requests (GET, POST, etc.). It cooperates with different programming languages (JavaScript, Python).
  • Jira: a paid system for tracking and reporting bugs. Thanks to many different plugins it can be useful for test management.
  • Rapid Reporter: a free-to-use tool for Windows and Mac that helps with exploring tests in SBTM (Session Based Test Management) model. It creates notes from each session.
  • Rapid Paste: a tool for keeping predefined data with basic data generators. The app is dedicated for Windows and written by one of our testers.
  • PicPick: this is a fully functional software for snapping screenshots. An intuitive image editor with a probe and a color palette, a ruler, a protractor, area measuring and more.

To sum it up

As you might already know from our blog, testing is super important for every product designed by a digital agency. We always want to be sure that the mobile apps and websites we create work properly. That’s why we use the tools mentioned above – to make our work more productive and precise.

If you are looking for a company that always pays attention to details – throughout every part of the product development – let us know what you have in mind. We’re here to help!

UI Design in Augmented Reality

Augmented reality becomes more and more embraced by developers and users. We already have some AR experience with hits like Pokemon GO and cute Instagram filters. As it is fun to use apps that offer it, for designers creating them can be a challenge. Let’s see why.

What is AR?

If you know these apps we mentioned in the intro, you probably know more or less what augmented reality is. But let us explain real quick. Simply put, AR integrates virtual elements with the real world. So you can see a dancing dwarf on your carpet in your living room. Or you can catch Pikachu that is hiding on your parent’s porch. Or you can put dog ears on our own head. You get the idea.

It’s worth noting that Google and Apple already introduced their AR development platforms some time ago. That’s proof that augmented reality is something to be alert about.

The difference between AR and VR

Virtual reality is often confused with augmented reality, but the difference is really simple. VR offers a fully created new world, without any elements of the physical world we are the part of – even if the experience is quite similar to it. AR connects the virtual world with our own – mixing elements together to give us some new opportunities.

Comparing them wouldn’t even make sense. They can be used for alternative purposes and each of them is one of a kind.

Here is an example from Wanna.by:

Design in AR

We’ve mentioned design trends for 2020 already on our blog. Now we want to add one more – AR in UI. It can explode more than ever, as we need to stop always thinking about UI that is fixed to a screen. 

What will be the key when designing a user interface with augmented reality in mind, is to create experiences that feel like they are a part of the real world. Blending virtual objects with reality is not easy, but learning it can be a key for all innovative projects that spawn every year.

Let’s start with the basics and then analyze the obstacles in UI design related to AR.

Types of UI design for augmented reality

There are a couple of different approaches when it comes to user interface design for augmented reality solutions. We distinguish:

Object-related design

In this case, we can have two different situations. The first one is that real-world objects have a certain interaction connected to them. The second one is showing a digital object after scanning a marker.

Real-world related design

These AR apps use the world around to display certain elements – for example, restaurant reviews.

Fixed to screen design

All the elements are locked in the screen space, so the user has to position the camera in a certain way for AR to appear.

What you should consider when designing AR?

When creating extensive reality, there’s a couple of things you need to have in mind. This way you can provide a positive experience for every user. These 3 S rules will help you to understand what matters most:


If there’s too much going on, you can be sure that no one will be satisfied with what they see on the screen. Be sure to give each action a clear context, don’t overwhelm the audience with too much data and explain the meaning of every element.

Check out this example from Behance:


Remember, that AR becomes a part of reality – so you need to design it in a way that will help it respond despite all the external conditions. That includes lighting, indoor/outdoor situations, movement and more. You can’t predict everything, but probably most of the scenarios are pretty repeatable. If you notice something is not working in certain patterns – fix them ASAP.

An example from IKEA:


What’s most important, is that AR is complementing reality with digital objects which means it can be distracting for the user. Make sure using it won’t lead them to dangerous places or to make unwise decisions. Also, prevent physical injuries by not requiring weird movements.

Also, because AR often uses the camera and other hardware and operating system features – take care of data safety.

2D in AR

When we think about AR, the question arises – should the designed objects be 3D or can they also be 2D? The answer is not so obvious because it depends. Flat, 2D objects can be less distracting so they are great for notifications and controls displayed on the screen. Actually, putting too much on the screen is not recommended in almost every case. For controlling features and text it is always better to put them in someplace that doesn’t intrude on the main experience.

So what’s next?

There is no doubt that AR is a huge trend in UI design. Wearables like glasses and headsets that use augmented reality will become more popular every year. Google and Apple are already working on them – right now it seems like not a lot of people will become their users on a daily basis but that can probably change with decreasing prices and growing functionalities.

For all UI designers, it might be wise to consider learning more about augmented reality. Find out how to make it right and consider all the difficulties it might bring. New trends in the digital world are approaching fast so being updated is the best we can do for our work. Probably more and more clients will require some skills and knowledge in AR. Hopefully, thanks to this article you will know where to start.

And if you’re looking for seasoned designers with many competencies to offer – let us know what you have in mind. Let’s create something extraordinary together!

10 Popular IT Acronyms You Need To Know

If you work with a digital agency, you probably will hear some of the acronyms we explain below. Knowing them is crucial not only for communication but also for a better understanding of the process of software development.

Why do we use acronyms anyway? Well, it’s just convenient. We probably don’t save hours, but saying and writing long names of all the terms can be annoying.

Acronyms, or should we say abbreviations, are short versions of words or names, usually created from initial letters. People started to use them long ago when computers weren’t even existing yet. Writing “FBI” instead of “Federal Bureau of Investigation” or “NASA” instead of “National Aeronautics and Space Administration” could save lots of space on a paper and ink in a pen.

In the IT industry, acronyms are very popular. There are so many specialistic concepts we use and lots of them have their acronyms. Today, we will explain the most common ones for everyone who is collaborating with a dev house or is considering it in the future.


Let’s start with two acronyms we use very often at iteo. In web and mobile design, these are very important. We describe them together, because, although they are different things, they complement each other and are often a part of the whole design process.

UX is short for “User Experience”. UX designers are responsible for people’s feelings when using an app, a website or other software. They create interactions between the user and the product, caring to deliver a positive experience. People who want to work in this field should know not only what colors are easy on the eye or what kind of interactions are most intuitive, but also they need to understand cultural contexts, symbolics and other factors that shape user’s reactions. What’s interesting, is that UX is not a term that was created in a digital environment. UX design is practiced in all sorts of industries – to make our surroundings convenient to use.

UI stands for “User Interface”. UI designers create interfaces that we, as users, see every day. They are responsible for making them easy-to-use and effective. Unlike UX, this is a strictly digital kind of work. Designing UI is all about colors, typography, buttons, icons, interactive elements and all that jazz we see when we use a digital product. If their job is done properly, we receive a piece of software that we use with pleasure, not thinking too much about all the steps we need to take to use it. That’s because good UI makes it all logical for most of the users and they can focus on main functionalities instead of wondering where is the button that will make it happen.

Too complicated? Here’s a quote that will simply explain the difference between those two:

“The main difference to bear in mind is this: UX design is all about the overall feel of the experience, while UI design is all about how the product’s interfaces look and function.”

UX and UI work great together to give the user the ultimate experience. Both done with attention to the detail result in a good-looking product that is highly functional.


We wrote a whole article about MVPs and PoCs. Another two popular acronyms in software development – often used in the process, so every client should be aware of their meaning and purpose.

“Minimal Viable Product” (MVP for short) is the most basic form of an application. Usually, it is made to verify the idea – it is shared with potential users so they can test it and leave feedback. To cite our mentioned article: “It should have core features and basic design so people who use it can focus on its functionalities. The main focus of MVP is proving value proposition.”.

Proof of Concept (PoC) is also used to validate the project, but it is usually created for internal purposes. Its main goal is to determine if the idea is viable. This quote will explain it thoroughly: “It gives all the project participants fast clarification if the concept is worth pursuing. It’s also the cheapest and safest way to test it beforehand.”.

Preparing an MVP or a PoC helps with the validation of the product idea, which can reduce additional costs. Also, seeing the “live” version of the project, even when its basic, can help determine if it will be sufficient to fulfill the business needs that were established at the beginning.


This mysterious acronym stands for “Quality Assurance” and is a more correct name for what we call testing. Why software tests are important, we already explained in one of our blog posts. QA is the whole process of finding bugs in developed products and giving feedback that helps to fix them. It’s one of the most crucial processes in software design – without this step, a lot of apps could not work improperly.


You probably know this acronym – you could see it not once not twice in your web browser. Websites that have HTTPS before their WWW can be considered secure for your data. “Hypertext Transfer Protocol Secure” is used for safe communication in the online environment. It prevents all the information sent between computers from hijacking and editing by third parties. It encrypts them all with a TLS or SSL which are acronyms as well.

Authentication of a website is based on certificates provided by another entity. Nowadays most browsers block pages that don’t have HTTPS. This protocol is very important to protect our information, especially during online payments.


Let’s leave the topic of security for now, and focus on the marketing of your business. CTAs are also a part of the design – because when working on digital products, designers need to decide where to put a “Call to Action” button or notification.

CTA is supposed to encourage users to take concrete action. They are put on landing pages, inside mobile apps and on websites. Being a part of the sales process is just one of their functions. They can be a great way to collect newsletter subscribers, tell the users to download your freebie or send them to the next piece of content on your blog.


“Application Programming Interface” is a set of concrete rules and descriptions for communication between computer programs. It is used to simplify all the processes between certain pieces of software. Often used in development – for example when an app needs to connect with the client’s internal system, it sends a request to its API. Simply put, afterward, it receives an answer on how it should react to the user’s action.


If you own a website or a blog, you probably need to change its content sometimes. With CMS, which is “Content Management System”, it’s easy. You just log in to your administration panel where you can find all available options – to add a new article, change a picture on the page and more. This way you don’t need to know even the slightest bit of code to edit your webpage.

Usually, when you collaborate with a digital agency that creates a website for you, they provide a CMS with it so you can easily manage it after finishing the project.


Security is more than important – at work and in life. Privacy is another thing we like to protect in today’s world. VPN which is “Virtual Private Network” can be useful in this case.

VPNs come in a form of software that allows the user to extend their private network. They are often used in big companies that want to share their internal resources with remote employees or between offices in different locations. Data sent between computers in the network is compressed and encrypted, so the process is efficient and the information is protected. These attributes are also appreciated when working with clients – so their files are safe when sent to the business partner.

Now you know a little bit more about acronyms we use all the time in the IT industry. These are just a handful of all the abbreviations we say and write – but probably the most common ones. With this small vocabulary provided above, you will understand more when collaborating with a digital agency. And we will explain the rest to you when it is necessary. Just let us know what you have in mind – let’s work on your extraordinary project together!

The Next Big Thing: Illustration trends for 2020

The background

Last month my colleagues wrote about our expectations in UX and UI design for this year, also mentioning illustration. As a UI Designer, but also an illustrator, I try to keep up with new trends. Of course, it’s not necessary to follow them – but it’s great to see what other illustrators create, what new tools they use. It’s not only about scrolling through Dribbble or Behance though! We can get inspired by new music videos, mobile games, performance art, culture or even current events.

Let’s get into some of the biggest illustration trends for 2020 with my commentary and, of course – some of my favorite examples. 

#1 – 3D is here to stay

As the years 2018 and 2019 progressed, we had a chance to see more and more 3D graphics. Glass, metal, fur or plastic – 3D textures are getting realistic and it looks awesome. 

Big brands like Spotify or Huawei incorporate them into their campaigns, especially mixing 3D elements with photos, videos or typography. My personal favorite is Joseph Melhuish – in the recent project he used beautiful, expressive 3D render with photos of bottled water called “Arto Lifewtr”. 

I also really enjoy seeing vivid textures on unrealistic, deformed, fantasy-like shapes and it’s definitely something that’s creating the wow-factor we always strive for. 

The 3D effect is especially desired for commercial campaigns and innovative real-life products. Using them in mobile apps and websites is more than welcomed.

Leo Natsume | Brain Dwad | Philip van Heerden and Cherie Cordier | Joseph Melhuish

#2 – Isometry is not dead yet

Remember that episode of Bold and Beautiful where we all thought Ridge Forrester died in flames, but he actually survived and was better than ever? That’s how I see the isometric trend we all got tired of in mid-2017.

3D hype also impacts other styles of illustrations – the isometry we see today is refined to more realistic forms, shapes and perspectives. As a designer, I’m not quite ready to brush off my isometric illustration skill – I’m looking forward to improving it with some realism and complex textures. I’m truly inspired by the amazing work of Andrew Nye as he pays attention to the composition and palette of the whole visual, but also polishes every detail. His illustrations definitely captivate the viewers and let them immerse themselves into the small world of each piece.

Isometric visuals are great for explaining abstract technological concepts, as well as companies or product advertisements. What’s really awesome about this style is that with the right grid we can show the complexity of a city or detailed product – all with semi-3D effect, but with lesser effort than it would take to create real 3D render. 

Andrew Nye (1 & 2) | Vadym Presniakov | Khyati Trehan

#3 – Shapes! In all forms

Simple shapes still inspire us in 2020. Don’t be afraid to have fun with a new color palette, because the result can be unique, fun and fresh. It could be a safe choice or a crazy one, depending on how you use this style. The great thing about it is that it’s easily scalable and easy on the eye. 

If you want your product to seem simple to use, or fun and youthful – it’s a trend for you. I’m looking forward to seeing how it will evolve throughout 2020. 

Algo ? + ILLO Studio | Leta Sobierajski + Wade Jeffree | Tianqing Li | studio 6.8

#4 – Big, Bold and Beautiful

One of the most interesting trends these days is using creative typography in brand identities. Strong sans-serif fonts can really upgrade your company’s slogans and, when used in an interesting way, can either replace or enhance illustrations. This typography trend is expected to evolve and flourish in 2020. Don’t hesitate to play with letters and remember – thick is beautiful.

Brain Dwad | Carolina Aboarrage | My Name is Wendy Studio | Fatih Hardal

#5 – Heavy metal 

Remember old heavy metal covers with metallic elements and crazy typography? It comes back in a big way. The metallic effect in typography and illustrations adds elegance and confidence to whatever text or idea you illustrate. This trend is sometimes used in poster design or in branding and looks well with a minimalistic design. My favorite example is &Walsh branding by Jessica Walsh. Seemingly simple typography is mixed there with beautiful metallic signs.

Used in print, it can truly enhance your business card, packaging and, of course, album cover.

Plus, it’s super cool.

Blake DBDS | Water Prouf | Jessica Walsh | Afonso de Matos

#6 – Flat but realistic

2019 was the year of geometrical and linear characters and a new year is a great opportunity to try something different! Stripping down the illustration to its essentials – minimal palette and simpler shapes – can create elegant and captivating visuals without unnecessary details. Don’t forget about shadows – it also adds to the atmosphere and sometimes focuses on the user’s sight on more important elements.

Robert Kalfas & Joanna Dudoń / Gamba Studio | Brain Dwad | Joanna Ławniczak | Jiaqi Wang

#7 – Include and inspire

One of the best ideas 2019 has brought us is inclusiveness in illustration. It really shows that beauty and creativity come in different forms and colors. You can play with proportions and geometry of a body, clothes your character may wear and much more. It’s cool to show each character’s personality because diversity is real and it captivates the viewer. 

Consider this idea especially when creating brand illustrations. 

Roberts Rurans | Ömer Faruk Yılmaz | Chloé Nicolay | Braća Burazeri

Be yourself

I think it’s important to remember that while creating illustrations for apps, websites or brands trends come and go. You don’t want to create (as an illustrator) or buy (as a client) something that is going to be outdated in a year. 

My solution is to be yourself. Come up (or let us come up) with something that truly represents your brand, even if it will take longer to create – like Alice Lee for Slack, Mailchimp drawings or… our one line illustrations!

How to Become a Software Developer

For some people, coding seems extremely difficult, while others find it super easy. Give it a try – if it’s hard to understand for you, then maybe being a developer is not your destiny. But if you belong to the second group – becoming a programmer might be something for you. This way you can discover your new passion and career prospect.

IT specialists are one of the most wanted groups of employees. Digitalization of the world, businesses that want to expand their operations online, new startups that use technology to make our lives easier – they all need talented coders to make their visions come true. Working in a digital agency as a software developer can help you be a part of this exciting scene. Also, you can really impact the future by creating innovative apps and programs – like the next social media platform that will conquer the online world or the product that will actually save lives.

So how to become a dev? Let’s see!

There is more than one way

Ask a group of programmers in a digital agency what was their path to their profession – each one will have a different story.

Some have known they liked computers since kindergarten and they have been pursuing IT careers their whole lives. Others discovered the potential of this industry while in college and switched degrees to find out some more about technology. Some devs worked in a completely different place but got bored and decided they needed a change – so they learned how to code.

If you ask for their opinion, it will differ depending on the person. So we did just that. We asked iteo software developers how to become one of them. Here’s what we found out.

Do you need education?

There are three options when it comes to education in this field. One is to go to college and study computer sciences. There is no actual degree in programming but usually, when you pick IT-related studies, some coding lessons are included. Another way is to participate in a course. There are many schools dedicated only to teaching their students how to write code.

There’s also a third option – to be a self-thought kind of developer. It might seem risky because the only thing you have while learning a programming language is yourself and some kind of information found probably online (or maybe a book? is that still a thing?). But iteo developers agree that to become a good software-creator you need to repeatedly write code. Learning on your own mistakes and solving difficulties will help you gain experience and think like a seasoned dev.

So you don’t need to invest your time, money and energy in formal education but it might be helpful to sort out your knowledge. What’s most important is to practice – a lot. Some say that gaining most experience comes from commercial projects, teamwork and solving everyday problems.

Decide what kind of dev you want to be

There are many languages used to create software products. Also, there are different types of programming. We have a couple of divisions that describe developers, depending on what they do and for what purpose.

Two of the most basic groups are web and mobile devs. And the latter can also write code for either iOS or Android devices. So that’s that.

Then we have front-end and back-end developers. First one needs to have a high sense of aesthetics. The second one should be good in logical thinking. They work together to make the product visually usable while it is delivering its technical purpose. And if you feel like both of these areas are interesting for you – there’s always a path of being a full-stack developer. 

Picking a framework you will work in is more of a trial and error thing – especially at the beginning. Try different options and see what’s most suitable for you. No one said you can’t know more than one programming language. That’s why…

Learn… like all the time!

The tech industry is one of the most evolving ones. Sometimes changes appear within days or weeks. That’s why if you want to be a developer you need to constantly learn new things.

Not only to be better at what you do. But understanding different frameworks, being up-to-date with trends and finding connections between various parts of the software development process will make you more fulfilled and flexible in your work. We can’t imagine a dev that specializes only in one language without knowing at least the basics of some other ones. This job requires openness and willingness to always learn.

Free online courses, videos on YouTube, articles on industry portals – you name it. Keep yourself updated and if you find something useful – try it. This way you will learn new things and maybe even discover another IT field you want to explore in your professional maneuvers.

Communities online and offline

Sharing experience and knowledge with other developers can be one of the best methods to improve your coding skills. That’s why being on GitHub can be a big part of your journey. This hosting environment allows fellow devs to publish their software projects. Thanks to that they can provide code reviews for each other and discuss certain issues. It’s a community of programmers and for them.

Looking for answers? Try Stack Overflow which is a Q&A website that associates devs so they can help each other solve code mysteries. And if you want to talk with real faces consider visiting one of the meetups organized in your city or nearby. 

These meetings are organized by programmers for everyone interested in certain topics. Usually, they are focused around one specific technology – for example, Flutter or React Native. At iteo, we often participate in such events and sometimes we even do presentations. This is a great opportunity to network and learn new things. We recommend all beginners to come to meetups.

Just code!

Last but not least – a tip that will be a gamechanger. Do projects ALL THE TIME. Code as much as you can. Create stuff, even if it’s just for yourself – but share it with online communities that we mentioned above. Learn from others but also shape your unique style as a software developer. You can start with an easy thing like a calculator or a drawing program for Secret Santa (true story!). Then escalate your skills and knowledge and try something more complicated. Practice makes perfect.

We hope this short guide will help you to determine if being a programmer is for you. It’s a very satisfying but also demanding career path. If you even consider it – we recommend trying. You can gain a new passion and ability to create some extraordinary products – for example by working at a digital agency like iteo. For inspiration – check out our career page and see what are the prospects.