We are thrilled to announce that Setapp has been named a top B2B company in Poland in the emerging technologies category!
At Setapp, we are a team of technology trendsetters and explorers who care about what is happening on the market, adjusting our skills to suit the latest technological advancements. We have you covered for web, mobile, and VR/AR development in line with the prevailing trends - especially when it comes to the transport & logistics industry, which is our focus!
Headquartered in Washington, DC, Clutch is a business marketplace that rates and ranks service providers. Their team compiles independent feedback from the past clients of companies listed on their site. These verified reviews form the basis of their rankings and awards.
We are thrilled to learn that Setapp has been named as one of Poland’s Leading Emerging Tech Companies for 2020 by Clutch! It is a testimony to our strategy of providing the highest quality possible every single time!
- Paweł Flieger, CEO of Setapp
This award is especially meaningful to us because it is based on the opinions of the people that matter most, our customers! Just listen to what some of them said about working with us!
“Their flexibility and project management are definitely the two most impressive aspects of the partnership. Early stages of estimation and offer itself were also very impressive.”
– Director of Operations, KATANA Studio
The people are what make their team stand out. They’ve understood what we’re trying to do, and everything’s gone well
– CEO, APS Solutions
They helped me consider aspects that I wasn’t an expert on, and they were proactive about proposing solutions whenever we encountered a problem
– Product Manager, Pearson
This award and our 4.9-star rating are all thanks to our clients, just like you!
To learn more about us and our past work, check out our reviews on Clutch. If you’re ready to start on a new project, get in touch with us directly!
What do most companies do when the demand for their goods or services increases and they need to scale up their teams? Usually they try to hire new employees. While this standard solution might seem like an obvious choice, it’s not always as easy as it sounds and it comes with a handful of flaws as well.
First of all - costs. Hiring additional team members might prove too costly for a lot of companies. It is especially true when we’re talking about hiring skilled professionals, such as software engineers. And then also comes another problem - the lack of potential qualified employees. In a lot of places, hiring a talented, experienced software developer is extremely difficult due to the small pool of talents.
But one thing stands out as probably the biggest challenge when it comes to hiring new employees. It’s usually very hard to predict how your project is going to develop over time. At the moment you might feel like you need new people on board but what if things don’t go as planned and your project gets scaled down? You will be left with a team that’s too big for the job.
And it works the other way around - your project might grow and you won’t be able to respond to that increasing need for the workforce. That’s why hiring might not be the best option - it doesn’t provide you with a scalable team that is always the right size for your project’s needs.
What are the alternatives though? In this article we will show you three different layers of outsourcing that can be a successful alternative to a laborious local recruitment process - offshoring, onshoring and nearshoring. Let’s have a look at their main benefits and what are the advantages and disadvantages of each option.
Probably the most well-known out of these three, offshoring has been around for quite some time. As it is the most budget-cutting solution, a lot of companies benefit from offshoring some of their activities.
Offshoring is basically a transfer of your company’s own activities to distant countries. If your company is based in Europe, offshoring would mean hiring a team in India, China or the Philippines.
In these far-off countries, the talent pool is enormous and the costs of hiring professionals usually is a small fraction of what would be necessary to hire additional team members back in Europe.
However, offshoring comes with its own set of challenges. Due to the time zone difference, synchronous communication might be difficult to achieve. When your own local team gets their first coffee of the day, the working day of your offshored team in Manila is coming to an end. This makes the slot for real-time communication particularly tiny, which might be frustrating for both sides and can lead to a slower development of your services.
The other issue that a lot of companies that try offshoring face are cultural differences. Whether it’s about different communication styles, approach to completing tasks, attitude toward conflicts and decision-making, these issues are real and they can be truly detrimental to the company’s success. The same goes for differences in legal systems, which can make such a cooperation rather difficult.
If offshoring sounds too risky for your business, there are two different layers of outsourcing that minimize these risks while keeping a lot of benefits of the original solution. Let’s look at the first one - onshoring.
While offshoring was all about moving parts of your development very far from your location - onshoring is quite the opposite. Onshoring basically means outsourcing to a different place in the same country. If your company is based in Paris, onshoring would mean hiring a team in Nantes or Toulouse.
It can be a profitable solution for companies based in huge metropolitan areas, where costs of hiring additional team members are huge. The costs of hiring IT professionals in Norwich are much lower than what you need to pay for similarly qualified people in London.
What can be extremely attractive about onshoring is the cultural and geographical proximity of your outsourced team. There’s no time-zone difference so the real-time communication is always available. Usually even face-to-face meetings are easily arrangeable as the distance between your two teams is not so big.
Choosing onshoring also means that cultural differences don’t play part in this kind of partnership. You don’t have to worry about different approaches, communication issues and ways of working on your project. What is also extremely important is that with onshoring you’re staying in the same legal system, which makes things much, much easier.
But onshoring also has its own downsides. The main problem with onshoring is the financial savings are not even near what the other two options - offshoring and nearshoring - can offer. While onshoring to smaller cities or less costly regions of your own country leads to certain reduction of costs, it might be not significant enough to go through the entire process.
Another issue that a lot of companies report as a downside of onshoring is a rather small pool of talent outside of the major metropolitan areas. The trend around the world is quite obvious - the most talented professionals are moving en masse to the biggest cities in their countries. This leaves onshoring options quite limited when you don’t want to sacrifice the quality of your project.
So what if neither offshoring nor onshoring feels like the right solution for your company’s needs? Fortunately, there’s that third solution that combines the benefits of both offshoring and onshoring - nearshoring! Let’s take a look at how it works!
To cut a long story short, nearshoring is a transfer of your processes and activities to a different yet nearby country. If your company is based in Sweden, nearshoring might be done by hiring a team in Poland or Romania. It’s all about moving your project abroad, yet still keeping it close to your country.
Why is nearshoring such a good option? In a way, it combines the benefits of both offshoring and onshoring, while significantly reducing their risks and flaws. It is especially a good alternative for European companies, where there are plenty of good nearshoring destinations.
First thing that makes nearshoring such a good alternative is a reduction of costs. While onshoring cannot usually lead to massive savings - nearshoring can. The differences in costs between certain European countries are significant. What kind of company doesn’t want to have something done while paying less?
Labour costs reduction is what makes nearshoring similar to offshoring. The other thing that makes these two options similar (and what gives them the advantage over onshoring) is the available pool of talents. Nearshore destinations usually offer an amazing amount of extremely talented and experienced professionals.
According to 7N Executive Brief on Outsourcing, some of the best nearshore destinations such as Poland, offer one of the largest pools of skilled IT workforce in Europe. While hiring a skilled IT professional in many Western European countries proves to be a challenge, it is relatively easy in top nearshoring countries such as Hungary, Poland or Czech Republic. The abundance of top talent in these countries makes it easy to form a team to deliver your project.
As you can see, nearshoring shares some of its benefits with offshoring. Luckily, nearshoring is not prone to the same problems as offshoring!
First of all, the geographical proximity of nearshore countries makes for a very easy, synchronous communication. These countries are usually either in the same time-zone or the time difference is insignificant to affect the relationship.
And when you look at the top European nearshore destinations, what also makes them extremely attractive is how well they’re connected with the rest of the continent. If you need a face-to-face meeting or a group workshop that can’t be done online, you just hop on a plane and in 1-2 hours you’re in any major Romanian or Polish city. This is the thing that can’t be done with offshore teams.
The other thing that makes nearshoring so attractive is the cultural proximity. The differences in approaches or ways of work are extremely small and companies that are experienced as being nearshore teams know how to minimize them even further.
What makes top European nearshore destinations so appreciated is also the language skills of their workforce. Countries like Estonia or Poland offer some of the highest English proficiency levels anywhere in the world, which makes the cooperation with teams there smooth, efficient and enjoyable.
And last but not least, nearshoring in Europe usually means that you’re staying with your processes within one legal entity - the European Union, or in a wider context the European Economic Area. Not only does it make the partnership much safer, but it’s also way easier and financially effective to operate in one economic zone.
As you can see, outsourcing comes in three different forms. Each has its own set of pros and cons and it’s up to your company’s particular needs to decide which form of outsourcing might be most beneficial for you.
Offshoring is the most cost-cutting option but it’s also the most risky one. Onshoring is a very safe alternative, but the savings are not as impressive and it’s only a viable option for companies based in the biggest metropolitan areas in the world. And then there’s nearshoring, which combines the best of both worlds but it’s only available in a good quality in certain regions, such as Europe.
Outsourcing, such as nearshoring, might look intimidating at first. That’s why it’s important to work with companies that have plenty of experience in this form of cooperation. If you have any questions about how nearshoring looks like in detail and how we make sure our clients are satisfied, don’t wait and contact Setapp for more info! Also don't forget to subscribe to our transport newsletter, where we show the latest and greatest IT solutions for the transport & logistics industry!
After more than 13 years spent working for the automotive, wood industry and Internet of Things businesses, where I was running and coordinating projects, designing whole production systems and helping develop some of the breakthrough, environment-saving technologies, I thought it was a good time to make a change and search for new opportunities to grow.
I drew my inspiration for a change from my colleagues - software developers and Product Owner - I had pleasure to work with while working on the IOT product. I decided to learn coding with Java, and Agile with Scrum. It didn’t take long before I got Professional Scrum Master I Certification and then my first job as a Software Engineer Trainee.
Soon I came to realize that I can contribute to the world more with my experience in creating, improving and managing processes, and working with people to provide them the best working conditions to help them achieve their best performance.
Agile is the new Lean
Throughout my professional career I believed that great results can be achieved in a sustainable way, where people can reach their best levels of performance in a thriving, supporting and psychologically safe environment. In the environment where motivated people can improve and shape the way they work.
Both, Lean and Agile, which are close to my heart support this approach.
When I saw the Scrum Master job offer at Setapp I was ready to take on new challenges. And as I knew some people from Setapp already and they made a good impression on me, I decided to apply.
The whole recruitment process took place online, as it was the early stage of the COVID-19 outbreak. The sign of new times! There were 2 stages: an interview with the HR representative and the technical part with soon-to-be my-fellow-Scrum-Masters.
From the very beginning of the process I could feel a respectful and warm approach from the recruiter, who oversaw the whole process. And I must admit that when she called with good news it was the nicest “Welcome on board” conversation I have ever had.
Challenge means an opportunity to grow
The new environment is great. Important, international product with a positive impact on the environment, global players as partners, committed teams, many challenges that offer opportunities to bring my Lean - Agile mindset to action, sharing knowledge and experience, growing and learning new things. What more could you wish for?
Not only work
I love the fact that at Setapp, if you want to, you get a chance to truly shape the organization. If you'd like to get involved as one of the “consigliere” to the COO, you can join the Savage Horde team to help solve organization-level challenges. Would you like to develop bottom-up initiatives that make Setapp an even nicer and more pleasant place to work? You can join and support the Community Team. Or you can do both, given you have enough time and creativity for that!
So if you are looking for a place that offers opportunities to challenge yourself and grow, where it is more than just regular, dull work, then Setapp is the right place for you!
We’re thrilled to announce that we’ve recently been named a leader in web development by Clutch! Listed among the best firms in Poznan, we’re proud to be recognized for our customer satisfaction, market presence, and past experience! This award is particularly meaningful for our team because we were selected based on client reviews left on our Clutch profile. With an impressive star-rating of 4.8 out of 5, we’re considered reliable partners from all of our clients.
Clutch is the leading provider of B2B ratings and reviews. By conducting in-depth client interviews, they’re able to provide buyers with valuable verified information on service providers across various industries. On our profile you can view project details like who our clients were, tools we used, cost, scheduling, and most importantly, results.
For our team, delivering top-notch products is a priority. We use our passion for technology to create meaningful software and make a difference, not just for our partners but for users around the world. And the easiest way to start a partnership with us is to go through our Design Sprint process. To learn more about it - check out our Design Sprint article.
“Setapp’s priority is to deliver the highest quality of services to all of our clients. It is essential for us that every client we’ve worked with is satisfied with the results of our work. That’s why being named a Clutch Leader is a particularly great news for us, as it is a testimonial of the quality of work we’re constantly delivering. It is also motivation to work even harder to provide great results to all of our clients!”
We’re constantly exploring new technologies to gain even more experience and deliver even better solutions. Whether you’re looking for mobile, web, or VR/AR, we have what it takes to satisfy your business requirements.
Cezary, our Chief Technology Officer, has more than a 15-year track record in e-education and publishing, running large software engineering teams at enterprise level. He will mentor xEdu startups on tech leadership and organisation.
Rafał has been associated with the graphic design industry for 12 years. He has been professionally involved with User Experience design for 5 years, previously designing web application interfaces, graphics and brand identities. He looks for solutions that simultaneously help achieve the organization’s goals and respond to the user needs. At Setapp, he heads the Product Design department, creating digital products based on UCD (user-centred design) methodology.
Łukasz is the founder and CEO of the Edtech startup Wisdy. Not only does he have expertise in Customer Development and product lifecycle management but he also has tons of experience in Agile software development. Łukasz can also provide Scrum training - a basic training aimed to introduce Product Owners, Product Managers, stakeholders or other team members to scrum. At Setapp, we work in real scrum - check our article to learn more about scrum.
Mentoring Spring '19
What are some of the most common pain points for startups?
We’ve already helped a lot of Edtech startups to overcome their digital problems, which has given us a lot of insightful knowledge about the most common problems they face. And, even though, every startup is unique and has its own set of challenges and opportunities, we can highlight several pain points that are extremely common among startup community:
1. Lack of quality feedback
Some startups don’t invest enough time to gather quality feedback from their target market. Startups that don’t listen to their audience are doomed to fail.
2. Lack of business knowledge and experience
The difference between running a startup and a mature company is huge. While a lot of startups have great ideas and are full of energy, they lack business knowledge and experience to succeed.
3. Focusing on building a product and not on building the right product
It’s not actually that difficult to develop an app. The challenge is to create an app that sells! Finding the right business model and revenue plan is a huge problem for a lot of the startups we spoke with.
4. Not enough testing
Startups were scared to define a number of hypotheses about their product/business/marketing etc and then testing it. Their main job is to find a product-market fit. However, a lot of them are not aware of it.
5. Lack of knowledge in terms of agile
Many startups lack the knowledge and experience to work in an agile environment. Their product development process is all over the place and a clear product roadmap has not been defined. Enthusiasm and energy are great, but they won’t cover for clarity and experience.
6. Bad User Experience
Some startups don’t put much emphasis on the User Experience of their app. Learners’ goals and how easy the technology is for the teachers to implement are two critical factors for an Edtech product to succeed. The UX of some apps we’ve analysed had many flaws related to engagement and the user journey.
Setapp offered strong mentoring support to Betwyll during the acceleration program we made in Helsinki with xEdu. They not only offered useful suggestions on how to reshape our app and its user experience, but they also offered us a wide variety of services to foster our grip on the edtech market. Setapp is one of those partners which can really make the difference for developing your business.
We want to show you how the design process of our app prototype - Chop Chop - looked! As there are a lot of misunderstandings and myths around design during the software development process, we want to explain how we came up with the idea of Chop Chop, and how our Design Team approached this project.
This will give you an insight into how our team works on any given project and how valuable all stages of the design are to make a successful digital product.
How it all started
As Chop Chop (you will learn how we came up with this name later on!) was our internal project, we had a Product Owner* on board. Our Partnership & Growth Manager Ashmeet was an initiator of the project and he took the role of Product Owner. He was responsible for the preliminary research that helped to give our idea a more coherent form. And what exactly was our idea?
Product Owner is a scrum development role for a person who represents the business or user community and is responsible for working with the user group to determine what features will be in the product release.
Our goal was to create a recipe app for Millennials and Generation X with easy-to-follow and personalized recipes. We know that recipe books are good, but they are not always accessible. We wanted to give recipe creators a modern platform to share their recipes with their followers.
To kick off the design process of our app, we started with a brand creation stage. Comprehensive, consistent and high-quality branding is crucial when it comes to the success of a digital project. As Will Rogers said, “you never get a second chance to make a great first impression.” This rule works with apps and digital projects, as well as with people.
As you can see on the graph below, the average app loses 77% of its DAUs (daily active users) within the first 3 days after the install. Lousy branding and poor visual identification can play a big role in this negative process. If your app is visually unappealing or the stylescape of the app doesn’t fit the project, your users might be more inclined to uninstall your app.
For our app’s branding, we started from the very beginning following the research we mentioned earlier, we knew what kind of project we wanted to build but we didn’t have a name for it! That’s when our Senior Graphic Designer and Branding Specialist Michał stepped in.
The first step for Michał was to meet with the Product Owner for an interview, during which he tried to gain as much information as possible about the project, its purpose, target group, business goals, etc. Ashmeet explained in detail the whole idea of the project, as well as the results of the research.
Name creation workshops
The next step for creating a brand identity was a brainstorming workshop to create a name for our app. A lot of the time, people choose the name for their project randomly, not paying enough attention to this important step. At Setapp, we understand the importance of a great name for a digital project. There are few elements that you always need to remember while creating a name for your app:
Try to create a brand name that connects with a product. Obviously, it’s not a must but a name that automatically connects with the app’s purpose makes it much easier to sell. Doesn’t Chop Chop immediately bring the vibe of a culinary experience?
Keep in mind the language of your users. If you’re creating an app solely for Chinese market, consult a native Chinese speaker whether the name sounds right. It’s best to come up with a name that sounds right to anyone, no matter age or native language. That’s what Chop Chop does. No matter if you’re young or old, your native language is English or Japanese, Chop Chop immediately makes you think about cutting and cooking something delicious. Perfect for a cooking app!
Make it easy to remember. A perfect name stays in your mind after hearing it just once. That’s why the name should be short and easy to pronounce.
Originality is a must. The branding specialist who carries out the brainstorming workshops has to make sure that the name you decide on is new and original. You don’t want your project to be mistaken with any other and if your brand name is not original enough, you could find yourself having difficulties with various registrations and even possible litigation from existing brands.
With all those rules in mind, our Branding Specialist Michał carried out a brainstorming workshop for our project. He invited several people, based not only on their creative skills, but also on their proximity to the target group. Our branding workshops consist mainly of team based tasks but there is also some individual effort. By the end of the day, all the members of the group had decided that Chop Chop was clearly the best name that meets all the requirements of our project.
As the name was now ready, Michał was able to start working on the logo and the visual identification of the project. It is important to note that the results of his work had a huge impact on UI (User Interface) creation that happened later.
Chop Chop’s logo, in a similar manner to the name, immediately sends a message out about the scope of the project. The invisible knife works great with the name Chop Chop and it’s also very flexible when it comes to animated visuals.
With the whole branding ready, our UX Designer Agnieszka was able to step up and work on the User Experience of our project.
User Experience Design
After the successful brand creation process, it was time to build the User Experience (UX) for Chop Chop. Our UX Designer Agnieszka started her work by conducting an in-depth analysis of the project, its target personas, business goals and the competition analysis. Some of those things were done by the Product Owner at the beginning of the whole process but it was necessary to make significant refinements and in-depth analysis solely for the purpose of UX Design.
To prepare a high quality User Experience, it was essential to clearly define target personas of the project, its business goal and its value for the final consumer. It was also very important to go through the benchmarking process and analysis of the competition.
Another crucial part of the whole process were the interviews with a carefully selected group that resembled the target personas decided earlier on. We try to not work on assumptions - it’s important to do things based on facts, data and the results of analysis, rather than our gut feelings. Key insights from the interviews were:
Users usually use Google search to find recipes. Therefore, a search feature within the app is a must-have.
Some of them use tags (e.g. ‘vegetarian’ or a certain ingredient e.g. ‘tomato’) on websites to filter the recipes. Hence, filters are a must-have.
All users pay a lot of attention to images, they click on the recipes which present photos of ‘mouthwatering meals.’ Therefore, high-quality pictures would be a welcome addition.
Users look for recipes on the Internet when they want to be inspired, want to prepare something delicious for guests or they have some ingredients which they want to use to prepare a meal.
As users want to be inspired, a recommendation section would be highly appreciated.
One user said that he makes multiple portions of the meal (not to waste opened ingredient packs). This means we should add some kind of calculator.
Users usually cook using written recipes.
Users often browse the comment sections to see other people’s opinions and genuine pictures of the food they made. Hence, we should provide users the possibility to add comments and to rate the recipes.
UX Interviews gave us a lot of very important feedback. It was crucial to understand the problems that amateur cooks have, their action flow while cooking and what they’re looking for in a cooking app. We got a lot of feedback that truly changed our perspective and had an impact on the scope of our project.
For example, one of our interviewees said that one of her worst cooking experiences was making a crème brûlée. She had all the ingredients ready and started cooking but when she was almost done, she realized that she didn’t have a blowtorch to finish off the dessert. She was mad that her cookbook didn’t clearly state the unusual equipment required at the beginning of the recipe. That’s why, that apart from the ingredient list, we decided every recipe in Chop Chop will also have an equipment list clearly visible.
User stories and User Flow
After finishing up the interview process, our UX Designer Agnieszka was ready to create user stories. Not going into details, User Stories for UX Designers are short sentences that look like this: “As a user I want to … [basic user goal].” Based on those stories, designers get to know exactly what the potential users of your app want to accomplish. As you might guess, every project has multiple user stories.
Once Agnieszka was done with gathering all the User Stories, it was time to create a User Flow. It is an essential part of a UX Designer’s work. It covers all of the actions that might be done by the user throughout the app and it connects them all in a logical manner. A UX Designer’s job is to make the User Flow as intuitive as possible, while covering all of the possible ways to interact with the app.
Agnieszka always kept in mind the creativity of the users and their tendency to choose the most unpredictable ways of using the app. A digital product needs to be ready even for the most demanding clients.
It is also crucial to make the app responsive in all scenarios, even when things go wrong. A lot can happen with the device that can have an impact on how your product works. Your app needs to be ready for every scenario. If it crashes (every app crashes from time to time), you want it to go back to the last page opened when you open it again. That’s why a UX Designer’s job is so important - it outlines how the app works and interacts, once the development work is done.
When Agnieszka finished with her UX work, she passed the torch to Paweł - our User Interface (UI) Designer. But it was not the end of her work. She kept consulting Pawel all the way to the finish line to make sure that the UI reflects the needs of the prepared UX. That’s why it’s so important to have a team that works well together - just like ours!
User Interface Design
User Interface design was the last part of our design process with Chop Chop. Paweł, our UI Designer, worked closely with Michał who prepared branding of the product, and Agnieszka, UX Designer, who made an extensive User Flow. We had to align all of those elements to make sure that the results of our work are satisfying to all sides of the project.
While a black design of Chop Chop is in line with the current design trends (dark mode), the trends were not the only thing that guided Paweł. He purposely used black theme to make the pictures of food stand out and look as juicy as possible!
As you may have noticed - Chop Chop has an exceptionally big pictures for a mobile app. Again, it was a deliberate move by Paweł to make every recipe to look as attractive as possible.
Fun fact: our UI Designer Paweł is also a professional cook! He knows best how to make a delicious looking food - it clearly shows in Chop Chop!
User Interface of Chop Chop is also controllable by voice commands. Isn’t it annoying when you need to clean your hands and stop what you’re doing, just to check the next step of the recipe? That’s when voice commands come real handy!
But for those who actually like to click through their app while they're cooking - Chop Chop’s UI consists of large buttons and clickable elements so it’s easy to click on the right thing, even if your hands are dirty.
You can check the results of Paweł’s UI work in the video below. Chop Chop got a modern, stylish look that doesn’t steal the attention from what matters the most in cooking apps - the pictures of food and recipes! Don’t you all love it?
Chop Chop gives you a proper idea of how design process looks like at Setapp. We have incredible, experienced specialists on board who take any project through the design process to deliver amazing results.
What is crucial to point out is that while every member of the Design Team has his or her own area of expertise, it also takes a lot of teamwork to deliver great designs. All stages of the project must be aligned with each other to create a coherent and high-value design experience!
Impressed by our Design Team's work?
Take a look at our team's portfolios and feel free to contact them! They'd be more than happy to talk about the design process at Setapp.
At Setapp, we care about learning and expanding our expertise. When we came up with an idea for an internship program, we didn’t only think about our future interns’ growth. What was of high importance to us, was that our current employees can work on their leadership skills.
Last time we interviewed Asenata, our intern in the development department. She shared her thoughts on her time at Setapp and what she gained from the Internship Program. This time we want to show you how the internship at Setapp looks from the other side - from the perspective of a mentor. Maciej, our software developer, took a very responsible role of being a mentor to Asenata. Let’s check what this internship meant to him!
Why did you decide to take part in the internship program?
I was looking for some challenges that would differ from my everyday programmer responsibilities and I felt the need to improve my soft skills. Moreover, working with people brings me joy, so when an opportunity presented itself, I was sure that’s the way I want to go. Our HR department suggested that we would be kicking off with the pilot internship program in our company and it coincided with me taking part in coaching sessions in order to guide me through my career path. I decided to give it a try and volunteered.
Together with HR department, we decided that we would do something that could be beneficial for our intern Asenata and for the company. We didn’t want to develop application that wouldn’t be used and would be just easily forgotten. We decided to go with the absolutely interesting app I cannot share details right now (because it’s still in progress). I knew that joining internship program would allow to be part of the team of worthwhile project.
How do you feel as a mentor? Did you find out something new about yourself?
It’s a great responsibility to be somebody’s first mentor. At first, I was concerned that I can’t pass knowledge in the right way. It’s tricky to find a balance between what you know and what novice programmer would need to learn. What is more, there is also a matter of what mentee actually expects they would learn and their involvement in whole internship process.
Asenata is ambitious and she put a lot of pressure on me so she would learn as much as possible. But the fact that she was so much into improving her skills also motivated me more. We created a process that allowed me to divide time between my regular job and mentoring so it would be beneficial for both of us. My heart is filled with joy to see her making progress and becoming a better developer.
What I found out about myself is how much I can commit to whole project process that is not development. I was taking part in designing application, monitoring it’s development progress, delivering it. I felt responsible so Asenata would not only learn during the internship but also she would deliver meaningful, working application. I’ve also ensured that the better somebody’s understanding about the reasons behind the project, the easier it is to develop and be committed into it. I saw Asenata really putting a lot of effort into this and she was more willing to learn after she got to know the purpose of the application.
I have also experienced how easy it is to get help from other departments, how easy everyone gets involved and wants to have an impact on the app functionalities and look and how all of this can bring more chaos than be helpful when it’s getting out of control. But we managed to work out a solution that was agile and satisfied everybody.
What in your opinion can Setapp teach interns?
Many experienced developers work at Setapp and they are a huge knowledge base that could be shared. Many of these programmers could make a great mentor for interns. But that’s not only about programming. In Setapp we have experienced people in various areas for instance design, management, hr. You can come here and profit from people that kindly share their expertise.
When it comes to programming internship, you’ll learn the basics of development. In Setapp we don’t teach you specific programming language but we can guide you which one you could choose. We can show you the best practices of coding, show pros and cons of different solutions, help to find the balance between fast delivery and clean deliberate code. We can show you how to code efficiently in languages we are experts in and give you tips on others.
But we will also show you what modern developer should be aware of - that actual coding is only a part of this job. That it’s great if you not only know what you do but also why you do it. That you can and should have an impact on decisions about which way project is going by taking actively part in design meetings, being close to client. You will see all of it for yourself on the example of how we really work in Setapp.
Would you recommend participating in the program to others?
People think that being a mentor is probably not for everyone but I say you should give it a try. You shouldn't be forced, don't do this if you are not interested in putting effort to developing others. But if you're ready to share your knowledge, with a little help of HR guys you can become real mentor and you would get satisfaction out of helping young programmers.
Same goes about becoming an intern - I would totally recommend it. Even if you are not experienced but you want to learn, Setapp is the place where you can actually shape your career path and improve a variety of skills from kind and supportive coworkers.
In our previous articles, we introduced you to the Design Sprint concept and explained all of the phases of this process. Today, we would like to share with you something unique - how the Design Sprint process at Setapp looks like from our client's perspective. Milena Piasecka, EdTech Product Manager at Learn Teach Explore, describes how important the Design Sprint was to create their great EdTech app - Shapes 3D Geometry.
When the objective is to create meaningful Educational Technology, it takes two to tango: Educators and technology experts. EdTech products have the power to support teachers in explaining complex issues and shaping students' minds - providing that they use the right technology and good teaching methods to solve real educational problems.
Shapes 3D Geometry is a series of applications for K-12 classrooms that:
Inspire students to investigate and understand solids on their own and
Help teachers explain abstract 3D geometric problems by creating exciting lessons.
Our main goal is to create 'AHA' moments that make math lessons meaningful and engaging. With Shapes, students develop important skills like critical thinking and creativity while exploring 3D geometric problems. We also help teachers create the 'WOW' effect when students discover solids using 3D visualization and Augmented Reality.
Shapes 3D Geometry apps help students:
Co-creation with teachers
The main goal of the sprint was to design a solution that helps students understand abstract 3D geometric problems. The solution could be an app or a series of apps used by students in K12 classrooms, or at home. We had already gained positive feedback from teachers using our first app called Shapes 3D Geometry Learning. It does a pretty good job when it comes to teaching elementary concepts such as nets and properties of 3D shapes. Based on the feedback from teachers and our own passion for math, we then wanted to create a tool that would support the understanding of spatial geometry from the very first moments it is introduced at school until EdTech is no longer needed to tackle abstract geometric problems.
The main challenge, however, was to fully engage teachers in the co-creation process, meaning that the teachers would not only have to explain the problems students have with 3D geometry, but also to design a solution with a team of technology experts and product designers, as well as giving meaningful feedback on the early prototypes. As the main goal was to design a solution for a real problem that exists in math classrooms, having a teacher on board was essential.
We didn't have a teacher expert in our main design team, so we invited Olimpia Dębicka who we later called our "combo" educator, as she teaches maths, physics, and computer science at elementary and middle schools. She also gives private tuition for high school math students. Therefore we knew that, if there were any misconceptions in the understanding of 3D geometry , Olimpia would know this and would be able to tackle it in the most creative and multidisciplinary way. She was our math mentor during the design sprint.
Apart from Olimpia, the design sprint team also included:
Ten more math teachers from Elementary, Middle and High schools that provided crucial input to the sprint and its outcome.
The whole Learn | Teach | Explore team: Marcin (Marketing), Ann (Administration), Mike (Technology R&D) and myself (Product Management).
Two experts from Setapp - our technology partner: Janusz (Development) and Rafał (Design)
The composition of the sprint team was intended to focus the whole process on the right problem to solve. Meaningful involvement of teachers is the most difficult part of both a design sprint and the co-creation process needed to develop great EdTech products.
Organization and adapting the sprint process
Another challenge was having everybody in the same place for five days in a row. I wanted to follow the process of the classic Design Sprint by GV. It turned out, however, to be impossible as teachers are very busy people (especially at the end of a semester). Therefore we worked only managed come together in the same place for the first three days, to keep the design process short and effective.
A general overview of Design Sprint Process. Picture source: https://www.charitydigitalnews.co.uk/wp-content/uploads/2017/08/Google-Sprint.jpg
For the same reason, we decided to keep the prototyping in-house. We have the right competencies and technology to develop quick solutions for educational problems, so it proved to be the most efficient way.
I had to carry out almost all the interviews with the teachers either before or after the sprint, as it was impossible to gather all the teachers in the same place on the same day. However, It didn't influence the total time spent on sprint design (in hours) and the results from the interviews very much followed the traditional process. It was the only way to go.
The Sprint phases
Day one was all about the interviews with teachers and choosing the right problem to solve.
We knew from many earlier discussions with math teachers that students struggle with different abstract issues in 3D Geometry. I wanted to approach these problems with a better understanding of:
The difficulties that students have when learning 3D geometry and
teachers' difficulties when explaining 3D geometry in a classroom.
As it was impossible to schedule all the interviews with teachers for the same day (teachers have very tight timetables), I started with my own investigation and scheduled meetings with the math teachers that I recorded for the benefit of the design sprint team.
We started day 1 with the statement of the main problem area and goal of the sprint. Then we analyzed the interviews. After each one, we discussed what we had discovered. We also had an online meeting with a math teacher so that the whole team could watch and ask questions.
Then we summarized all we had learned from the math teachers by listing and grouping all the major problems with learning & teaching spatial geometry in K12 classrooms. In the end, it was obvious that the main problem was limited spatial reasoning and the inability to draw 3D shapes in 2D (on paper or board). It poses difficulties in understanding many geometric tasks and the nature of solids.
The second day was to be the most crucial day of the whole sprint when we were supposed to state the main target of the sprint.
We reviewed the current approach to teaching 3D geometry in schools: the chronology, methods, and tools for subsequent lessons. Olimpia guided us through the challenges of the 3D geometry curriculum from K1 to K12.
We researched and grouped the major challenges of 3D geometry education in schools. Then we summarised our observations by stating the "How might we…" questions. Among them were a few candidates to become the single and most relevant sprint challenge, but unfortunately, we failed to choose one that day (we were just too tired and we ran out of time). This remained along with the big task which we agreed to approach with fresh minds the next day.
The main goal of the day was to choose the sprint target and design the solution that would answer the big "How might we…" question in the most effective way.
We knew that whatever we created that day - it had to be game-changing and meaningful, but at the same time intuitive and easy to use in a classroom. Everybody needed to stay focused and open-minded. That's why Olimpia organized creative geometry activities that required us to build and explore 3D shapes.
Everybody had some time to rethink the "How might we…" questions stated the previous day. We approached them with new energy and agreed on the one big challenge to work on: "How might we help students understand and explore 3D shapes by drawing the important elements like diagonals or cross-sections inside them?".
Then we researched the risks and opportunities to be met when designing solutions in terms of competition, classroom & technology limitations, pedagogy models, etc. This served as an inspiration for the creative phase in which each of the team members sketched their rough ideas.
We used different techniques like 'Crazy 8s' or 3D modeling with different materials and tools brought by Olimpia - our 'combo' math teacher - just to exercise our brain cells and become even more aware of the challenges students meet in math classrooms.
It was the most creative day of the sprint. Together we sketched dozens of possible solutions turning them from ideas to the complete inspired design we all agreed should be turned into a prototype. We chose the best idea for prototyping. This day was a success.
Now we needed a prototype to validate our design. Mike, our CTO, prepared the prototype according to the storyboard we had sketched the previous day and his own experience with Shapes 3D Geometry Learning our first app from the Shapes series. He was able to make a fully interactive prototype based on the first Shapes app that was made with Unity. The ability to use the same models of 3D Shapes gave us an advantage in the prototyping and validation phase, where teachers were able to use it in a way that was very similar to the target user experience. Mike's ability to quickly adjust the prototype helped us to iterate quickly when the teachers gave their feedback on its basic features: drawing lines, 2D figures and cross-sections in various solids.
We wanted to confront the designed solution with the needs of teachers to create real value for math classrooms. The prototype was too rough to be used with students at school, so we relied mostly on the opinions of the math teachers, who were our experts in this co-creation process. We also validated the prototype with a few youngsters from the 5th and 8th grades during private lessons with the tutor - Olimpia, our teacher-mentor. We wondered: will the prototype of the new Shapes app solve their problems?
The interviews were carried out during the following few days, and recorded in the same way as before starting the sprint. Once again, the teachers' timetables made it impossible to meet everybody on the same day.
The teachers were surprised about how much we had achieved within just four days. The prototype might not have been as 'beautiful' as they would expect the final app to be (based on the high-level design of Shapes 3D Geometry Learning which some of them knew) but the interactions, and the opportunities it provided in terms of drawing and exploring 3D Shapes, were the answer to the problem of limited spatial reasoning and the inability to draw 3D shapes in 2D. They pointed out what they felt was still missing and what was important to meet the needs of the students in terms of both math methodology and pedagogical strategies.
The interviews with the math teachers proved that we had chosen the right problem to solve and we had chosen the right direction when searching for a solution. Now, we need to work on the scope of the product and the intended use within the classroom. The interviews with the children reassured us that we still had a long way ahead of us in terms of product design.
The most tangible outcome was a prototype which we used to get meaningful feedback from teachers and as functional guidelines for the later design of the app. It helped us also to iterate different design ideas before starting the development phase, which is very cost-effective. With only a few iterations and a low budget, we designed a prototype with the main functionality of Shapes 3D Geometry Drawing.
The main intangible outcome was that we learned how to work with the teachers: both inside and outside the classroom. Now we know how to create a dialogue with the true professionals of education; he teachers and schools who know the very challenges of the existing practices.
For the next 2 months, we worked diligently and alongside teachers with the aim of releasing a Minimum Viable Product that we could test with students at elementary and middle schools. The results were amazing and pretty much the same as teachers expected in the co-creation process. Now, after 9 months of continuous improvement and countless iterations, we can say that the design sprint gave us the solid foundations for the core features of Shapes 3D Geometry Drawing and the right direction to follow when it comes to the needs of our target groups. And , most of all , the design sprint taught us how to co-design with teachers and students to create relevant and engaging digital technology that raises educational standards in 3D geometry.
Author: Milena Piasecka – manager and entrepreneur. For many years, she’s been working on digital projects in the fields of education, culture and the analysis of threats on the internet. Milena has experience with running projects with R&D components and creating video games: as a producer, a game-designer and a programmer. As a manager, she completed over 12 educational projects financed by the European Union. Additionally, she teaches children programming by using Scratch and Blockly language and tools/games such as Minecraft, mBot, CodeCombat, Lightbot, CoderDojo materials, Code.org and many more.
Crystallise your product vision
With Design Sprint get an interactive prototype in one week
Code Review is one of the most important steps in the process of creating clear and high quality software. What do you define as your goal when, as a software developer, you start to verify the code written by other team members? Is it bug hunting? Maybe quality control? Or perhaps learning? Have you ever thought about code review as one of the communication channels and possible ways to build relationships in your work team?
During my conversations with other programmers, especially those who are just starting their programming career, I often hear them talking about stress related to code review. For them, code review is seen as a critique which looks for mistakes in their work. Of course they see the value behind the verification of their code by the people who are not its authors. They also realize that this is a chance for them to learn and improve their qualifications.
At the same time, the code review reminds them of school exams and assessment by other people. These situations are accompanied by the thought that it's not only the code, but also their professional judgment that is being evaluated.
Humanity in code review
Let's be honest - code review is a type of feedback and evaluation. Exactly like in any other type of communication, we have the sender and the receiver. We provide information and we expect some effects. But the effect can not just be well-written code, but also a well-coordinated team satisfied with their work.
How to achieve it? There are 5 simple steps:
Do not talk to the author
When you are directing a message to the author, it becomes more personal. You stop evaluating only the code. You’re starting to judge the person. You point out their mistakes, which they may perceive as undermining their competence. Please note that when you write "typo" it sounds less friendly than writing "person => person". It is better to write "maybe we can change the name of this function" than "change the name of this function".
As I mentioned earlier, one of the main concerns of people asking for a code review is precisely that they are the object of evaluation. And you do this when you are directing a message to the second-person singular - you are talking about the person, not about the code.
Instead of ordering, suggest and request
This is a great way to show your respect to the author of the code. Then you do not assume that your way is better than theirs or their approach is wrong. When your message looks more like a suggestion or question it sounds more tactful, and you and the recipient are then equal partners of the conversation.
"Rename this function" sounds like an order. You become a supervisor, not a partner. You also suggest that the author did something wrong and it is obvious, with no opportunity for any discussion. By changing this comment to the form of the question: "Could we change the name of this function?", you give the author space to answer and justify their choice.
Also, notice that by giving someone an order you take away their autonomy and the authorship of their code. It's not their choice anymore, it's yours. If the author had a reason to write the code in a certain way and would like to defend it, then the conversation may take the form of an argument,
For example, "I do not want to change the name of this function, because it complies with our convention." We will reply to the form of the question "I used this name because in my opinion it complies with our convention. Can you justify your suggestion? "
Give a reason
When you are suggesting a change, also add justification for your proposal. Why should we change anything? Of course, this is not about things like a typo or a missing comma. But if you propose a change in the approach or the solution, please also write why you think it will be better. Is it related to optimization or an accepted convention?
You can also provide links to some articles or documentation. Show that your suggestion is not only your personal opinion. Maybe the author does not know something, maybe he did not take something into account.
Come, call, talk
If you do not understand or if you have doubts or you suggest a very big change, you don’t have to limit yourself to a comment. If the author is sitting nearby, go to them. If there is a bigger distance between you - call. During a verbal conversation it's easier to explain everything and have a proper conversation. You will have greater confidence that you understand each other and achieve the expected code review effect.
Have you ever praised anyone during code review? If not, it's really worth trying. For the interns or juniors it would be nice to write at least that their code is getting better and better. You can praise them for an interesting solution or code readability. Think about how you would feel if another team member praised your work. Wouldn’t it be nice to know that you are doing something right?
Our culture is more focused on looking for things to improve. That's why you rarely hear the words of appreciation. And these words are really valuable for teamwork. Hearing words of appreciation for their own efforts can make people feel valuable members of the group, which builds their motivation and loyalty. Believe me - praise is not something difficult or which requires a lot of effort. However, its effects can be amazing.
Sometimes simple changes can bring great results. Look at the code review not only as a method to look for errors, but also as another channel of communication with other team members. As with any communication method our information is essential - it's obvious. But also the manner in which we provide information is very important. It is necessary for effective work and achieving great goals.
Setapp is all about including everyone’s voice and talents. We are a diverse team, and we cherish our differences by creating an inclusive workplace. As we are proud of our team members, we would like to share their passions with you!
Meet Rafał – one of our software developers. At Setapp, Rafał does the front-end, back-end and infrastructure of the apps. Apart from that, he also gets involved with regular activities linked to our projects, which are always done as a team. For example, estimating the resources, analysing the requirements and conducting research to ensure that we find the most suitable solution for our clients' needs.
Before we start to talk about your passion – climbing – tell us why you decided to become a software developer?
Mainly because it gives me great satisfaction as I solve real problems. And the problems in this industry are never-ending, and often need to be solved with creative thinking. That’s why every day at this job is unique and absolutely fascinating!
Your hobby – climbing – is also very unique! How did you get into it? Did someone inspire you?
I was convinced by my girlfriend to go on my first climbing session. She is a more experienced climber, and she also has a climbing blog. I thought it was quite interesting – that’s why I decided to give it a go. I tried it, I liked it, and I wanted more!
When did that happen?
About a year ago.
Tell us a little bit more about your first climbing experience!
My first professional climbing experience was at a climbing course in Spain. Ironically, it turned out that I have a slight fear of heights, so the first climb up to around 30 meters was a real mental challenge for me!
In the beginning, our instructor took care of us. The path was quite simple, but climbing that high was a new, extreme experience. The following climbs were also quite stressful, yet the views of Spanish coast after successfully getting to the top of the rock, and the feeling of achieving the goal were the reasons I wanted more and more!
What do you consider your biggest success in your climbing adventure so far?
Definitely going beyond my own limits.
And the biggest failure?
When it comes to climbing, I try to not look at anything as a failure.
What do you like most about climbing?
The Adrenalin boost, overcoming my own limits and, obviously, climbing awesome rocks!
Is this the kind of sport you do by yourself, or you do it with other people?
It depends on the type of climbing. To climb some smaller rocks (bouldering), you don’t need anyone to help you. You can do it by yourself, especially on an artificial climbing wall. To climb with a rope, you need at least two people – a climber and a belayer (a person that safeguards the climber).
Usually, people go climbing in a group so that the time at the rockface is much more fun. Personally, I usually go with 2-3 people. As for the artificial climbing wall, I like to climb by myself from time to time.
How does your passion look on a daily basis?
I try to climb 3-4 times a week. Once a week I go for climbing training. At the moment, I am spending a lot of time in the Czech Republic as there are quite a lot of good rocks there. We go there with my girlfriend when we have some free time and the weather is good. We also go for longer climbing trips – so far I’ve done that twice in Spain.
How do you stay in shape?
By training! Before that, I was regularly hitting the gym. Recently, I have been trying to move towards a specific climbing training plan. I climb on an artificial climbing wall a lot. I’m also doing yoga, mainly to stretch the muscles and regenerate quicker.
Is climbing something that you have to do regularly or you can take some longer breaks from it?
I don’t have so much experience, but I think climbing requires quite a complex set of skills and it takes a lot of practice to do it properly. But if you treat it as a fun recreational activity, it doesn’t require huge engagement. I have friends that go to a climbing wall recreationally and they also have a lot of fun!
How about equipment? What do you need to start your climbing journey?
It depends on the type of climbing. As a bare minimum, you need climbing shoes and a bag for chalk. For sports climbing, you need a harness, your personal kit and someone else at the ground with the rest of the team’s equipment. If you want the full equipment, you also need rope and quickdraws. Dynamic rope is the most significant cost of them all.
And to sum it all up – do you have any tips for someone who wants to start climbing?
I think it’s best to go for a free taster course for beginners at a climbing wall to check if it’s something that works for you. If you want to start climbing on rocks, it’s good to sign up to a climbing course. In this way, you can make sure that you do everything correctly with someone experienced as your coach.