When you’re looking to build an MVP and later a production mobile app as a small team, the task at hand may seem daunting. You’ll obviously want to focus on the actual mobile app design and the UI, which by itself is no small feat. On top of that, you’ll need to figure out how to develop and release the app for both iOS and Android platforms. This is exactly the situation I faced as a solo-founder and developer of DealCheck – a cross-platform app that helps real estate investors analyze potential properties to buy.

It would have been impossible for a one-man team to build and release an iOS, Android and online application without leveraging existing technology-as-a-service solutions, which can drastically speed up development and allow small teams to accomplish big projects.

The best way to direct and manage tasks across your software delivery system is to keep a close eye on workflow via a designated, centralized release management system. However, it often seems that regardless of the methodology you choose, or how carefully you monitor workflows, it is hard to predict the duration of individual tasks. Neglecting to properly steer resources can lead to bottlenecks, causing delays to downstream tasks and impacting delivery schedule. In this blogpost, we introduce you to Kanbanflow for effective, Kanban-based portfolio and project management.

"I’d really like to make this change, but I’m afraid to, because I have no idea how that will affect the rest of the system.” If you’ve ever felt this way - most of us have at one point or another - it’s likely that the code you are working on is basically a Jenga tower. Pulling out one block could cause everything to come crashing down! It’s a typical situation when it comes to refactoring your architecture from monolith to microservices. Here are 6 signs your code base is like a Jenga tower!

Have you ever felt at a loss about which features to include in your minimum viable product (MVP)? Have you ever wanted to build a strategy to help you choose the perfect features for your minimal viable product? The lean startup methodology can help you figure out what minimum viable product development should look like. If you can find and hire good software developers, they can help you figure out what features to include even faster.

A microservice architecture can help developers build, manage, and scale services more efficiently. It’s an architecture that’s ideal in a world where new devices, touchpoints, and consumer trends are emerging faster than ever before, which is why big brands like Netflix and Amazon are all leveraging microservices.

But adopting microservices brings about a cultural shift that can deeply impact the developer experience, either positively or negatively.

Hiring an offshore software development agency to build your idea, trusting them with tens of thousands of dollars and putting your reputation on the line seems like a hard decision to make.

Picking a good outsourcing company can be really tricky. I've heard fifty different stories about how people got burned. Communication that is not set properly, unclear project expectations and bad guidelines make it difficult for both sides.

You assume the company you found has good intentions to build your product or service, but what if they are just there to take your money and pretend to do something? It's crucial that we do our homework and ask proper questions when choosing the right partner to create a win-win situation for both sides.

Application testing is a key element to make sure your web applications run smoothly, as it tells you whether the tested scenario works without a hitch and the features run as validated. High test coverage, code reviews and pull requests are required for a fast pace and high-quality code. Docker gives you the best of this because you can run your tests in containers or isolate them in development and deployment.

When it comes to software development, we talk a lot about the “hard” skills. Raw talent, individual intelligence, knowledge of frameworks and libraries. We all know these are important. But we often forget about the role of “soft” skills. At the end of the day, every software developer is human. (At least, for now.) As humans, we are driven and affected by more than just our abilities and IQ. Psychological and human elements play a huge role in the ability of a developer to do their job. One of the biggest factors is how individuals on a team feel about the work they’re doing. Do they feel invested and energized? Or are they just there to punch the clock and collect their paycheck?

Processes help us determine the best ways to do things and then make sure we repeat that approach again and again and again. This makes it easier to achieve success, find problems in current approaches, and to add new people to your teams.

Having clearly defined and well documented processes means the training and onboarding of new developers don’t need to be so micromanaged and can bring fresh developers up to the point of creating value for the business even faster.

But when is a team ready to add new members? When and how do we add people into this process in a way they can contribute?

The idea of ‘serverless’ is NOT about removing the servers completely (or you couldn’t use the internet at all), but essentially paying for services that mean that someone else manages the servers for you, thereby reducing maintenance load…

Not having access to the server can make things harder, but not impossible. And it’s not necessarily wrong, just different.

And the same applies to securing serverless apps. In some ways, it’s easier than securing traditional web apps. In other ways, it’s harder. And in yet other ways, it’s merely different.

In this post, we’ll summarize these key differences and help you secure serverless apps.

It’s a huge challenge keeping and growing an engineering team. You need to take care of hiring, figure out how to retain developers as long as possible in the team and also figure out the work process and making sure the new developer managers are ready to take responsibility for their teams. In pursuit of uncovering good practices, we started a blog post series, featuring cool tech companies. Our intention wasn’t to find the ultimate silver bullet for every kind of organizational problems but to provide small case studies you can learn from. This case study is about a fast growing medium-sized tech company called Alpha.

Hiring developers is hard, and it’s especially hard when you are working in tech. The competition for great talent is fierce and your prospective hires are spoiled by great salaries and amazing perks. I’ve been working and building teams in different startups for the past 6 years, and I’ve picked up a few tricks along the way. Hopefully, these will be helpful for other startup founders as well.

One of the main benefits of using serverless is automation due to it’s event-driven and pricing models. In this post, we will walk through how to use AWS Lambda to cleanup unused EBS volumes to reduce the infrastructure’s monthly bill.

Figuring out how to test complex, distributed systems causes a lot of headaches. And the thing is, there is no one-size-fits-all answer. Distributed systems serve a specific need, so its architecture is built in a way to serve that business need. Chances are, the testing methods vary as well, and I haven’t even mentioned the number of independent services that also influences the testing methodology.

Since it’s impossible to come up with a universal answer for testing distributed systems, we did interviews with 6 cool tech leaders to reveal their methods of testing.

In this post, they will talk about how their systems work and the methods they use to test them.

A microservice architecture is an interesting beast, as there is no real prescriptive definition of what makes one that is universal in nature. In my view a software architecture is much more akin to a form of software philosophy than any engineering discipline. In this post, David reveals his process for switching to microservices.

There is huge competition for talented developers. As a developer or tech lead, you have probably experienced this by receiving countless offers through LinkedIn or personal recommendations. Hiring new developers is hard. There aren’t enough developers on the market, and you’re competing for talent with big tech companies such as Facebook and Google who have much bigger resources.

Failing to monitor your app as a developer means having no plan if you run into problems. As much as we all wish our apps would run smoothly 100% of the time, problems happen. It’s easier to respond to a problem quickly if you’ve been monitoring data and system performance. If you have a strong plan for data collection and monitoring, you’ll be better equipped to prevent problems before they occur. Read on for a guide to collecting the right data through app monitoring so you can rest assured you’re doing the most to protect your app from trouble.

Software development evolves super-fast. A tool or framework used today might be obsolete tomorrow. Our intention is to take a snapshot of the industry, track how it evolved in the past and make an educated guess as to where it’s heading. This year’s report will give you the data you need to benchmark your activities against other survey participants, get some insights to further improve your developer team and keep up with the rapidly changing industry.

Building serverless apps or setting up a serverless architecture has been a pretty hot topic in recent years. But seeing if this is the right fit for your application is not that clear. In this post, we compressed every information you need to know about serverless applications, collecting the pros and cons to make your architectural decision much easier.

In this article, we’ll be guiding you through the thought process before developing an application, in order to avoid potential hiccups, and lending a helping hand in succeeding with the steps leading up to the kickoff of your app.

It’s really challenging to stay productive individually in today’s environment, and the same applies to team productivity. How do you help your team get more things done while team productivity is constantly challenged? You not only need tools but rather a complex system that allows your developers to get the most out of their days and eventually, as a team, to reach their goals. This post is here to help you significantly improve your developers’ productivity.

Switching to a microservice architecture seems easy, but tech leaders tend to underestimate the complexity of the project and make disastrous mistakes. Before transforming your monolithic system into microservices, or starting one from scratch, you need to carefully consider the technological and organizational challenges that will arise.

We all know knowledge transfer is key to building a kickass software developer team, but among many pressing issues, knowledge transfer is one of the first things that will be put aside when a burning deadline is approaching. But, the problem still stays here: knowledge is unevenly available in your team. In this blog post, we show you the most effective knowledge transfer methods for software teams.

Hiring great software developers is a huge challenge. Actually, this is the biggest challenge (tech) companies are facing, according to the State of Software Development 2017 report. The report also uncovered the most efficient ways tech leaders are using to overcome the hiring challenge. This post features the most popular 4, offering some tips you can use to get developers on board.

FINIS wanted to help their customers get the most out of their swimming training, so they created a mobile application that increases workout quality by providing data and insights on the health benefits of swimming. This case study shows how FINIS successfully built a mobile app without expanding its software development team.

When you as a software developer start examining a new project’s specifications that just arrived at your team, you start planning the architecture. Every application uses data handling and storing, so you will need a database. Nowadays, there are tons out on the market, so you can become confused with which one to choose. Well, it highly depends on what your soon to be app is about. In this blog post, we will discuss the opportunities of file storing with relational and NoSQL databases through the comparison of MongoDB and SQL Server.

I decided to make a plugin, which is more advanced than showing just a native toast message on a device, so I chose the acceleration sensor access from a cross-platform app. In this blog post, I show you how to develop a native Cordova plugin for Android.

Requirement prioritization is one of the biggest challenges a software team faces. Actually, 25% of tech leaders said prioritizing software development is their biggest challenge. It turns out there are many different ways a software development team can do it. Each requirement prioritization decision should be influenced by customer needs, always following the business’s needs. From this post you will learn a hypothesis-driven way to prioritize software development.

When building any kind of server side app, you will eventually have the following thoughts:

I would like to bind my app to a specific port.

I would like to enter a connection string so I can connect to my database.

I would like to use a third-party service through a provided API key or credentials.

Given values to these kinds of parameters will yield a configuration. It is a crucial part of the system as our application will have lots of configurable elements, so it must be handled properly throughout the codebase.

In this article, we will look at the DOs and DON’Ts of Node config handling.

Serverless is a software architecture where the code runs in the cloud but we don’t really know the OS and the hardware it uses. Everything is managed by the provider except the functions we upload.

Serverless is not just an architecture. It is also a powerful framework we can use to develop and deploy serverless applications. After reading this guide, you will be able to deploy infinitely scaling NodeJS web application in minutes. Other supported languages are Java 8, Python 3.6 and 2.7, .NET Core 1.0.1 (C#)

One of the biggest challenges startup tech leaders are facing is prioritising software development. In fact, 25% of the respondents said this is their biggest challenge, according to the State of Software Development report. We decided to ask more than 10 tech leaders (mostly CTOs) about the practices they use to prioritise software development. The goal of this post isn’t to select one best way but rather to show different approaches you can select from or gain inspiration from as you come up with your own method. If prioritising software development is a challenge you’re facing then this post is for you.

Building an app is a pretty exciting thing. It’s tempting to just jump on it and start creating it. Well, no matter how tempting it is, slow down a bit. You need to be clear about these basic things before you start building your app. You don’t want to build something no one wants to use, right? Which is why it requires some planning, validation and prioritisation before you even start coding. In this post, we put together 7 things that you should do before coding your app.

As a Node developer, chances are that you've already encountered with both Mongoose, and ODM (Object Document Mapper) library helping you connect your app to a MongoDB and TypeScript. A common problem however when using Mongoose with TypeScript is that you have to define both the Mongoose model and the TypeScript interface which leads to redundancy. Finally, here is a guide to overcome this challenge.

We all want to create an app people love to use, and it’s really heartbreaking when you build something and no one cares about it. The biggest challenge is not building your app and getting new users. The challenge is to keep them engaged and coming back. App engagement is the key.

This is why we should start with user engagement and retention. In this post, we created a guide that will help you increase app engagement no matter if it’s mobile or web app.

Node 8 is out on May 30th and packed with new ES features along with performance improvements. Version 8 is important as later this year (in October) Node 8 will be LTS, so it's worth checking out its new features compared to the previous LTS (v6) and the previous stable (v7) release. In this post we collected every new features you need to know.

We all have heard horror stories about software outsourcing involving stealing ideas, delivering crappy quality, misdelivering product and broken dreams. Some horror stories usually distort the picture, but indeed, there is a level of truth to them. The good thing is most of these horror stories could have been avoided by careful outsourcing partner selection, better work and collaboration coordination. We identified potential risks you can face when planning to outsource software development and actionable tips on how to handle them.

When you’re creating any kind of application, you need to clearly define who the users are and what they can actually do with your app.The reason is quite simple: project stakeholders need to understand the project from the user point of view. User stories are pretty great for that. In this post, we put together the most important things you need to know about user stories.

It would take long to count the possible challenges startups are facing. Startups need to act fast, learn fast and be as flexible as possible to survive and grow. But tackling business challenges is not the only difficulty startups have to overcome.Tackling capacity issues and finding the most effective ways to ship the product people are looking for was also a challenge while building teams that were able to achieve that. With this state of software development report, we want to shed light on how startups actually do it.

It seems weird but from some aspects, there are similarities between footballers and software developers. These aren’t external similarities (that would be a different topic) but there are similarities in the way each profession needs to approach their work and team management. It doesn’t matter if you’re someone who needs to build a software developer team or if you are a one-man-army software developer. This article provides some tips on how to take care of yourself or your team.

I’m really excited about the new Ionic 2 framework, which was recently released. They switched AngularJS version to Angular version 2. After reading many posts about the new features and digging into the Ionic docs, I decided to make a simple app with some native plugins (Camera, Google Maps and GPS Location). In this post, I show you how to integrate the most requested native features with Ionic 2 framework and create a cross-platform application.

We know that frequent communication and great tools are necessary to successfully manage software development. It is bad for your project when communication takes place in many different channels while not using (or using too many) tools to track progress and manage code. These are the typical symptoms of a falling-apart project. And I’m sure you want to avoid them.In this post, I show you 8 Slack integrations that will save time, make the project more transparent and make everyone accountable for his task.

Continuous communication and transparency are the keys to make offshore software development work for you. These determine the quality of the work and make sure that the product will be delivered according to the expectations. In this post we collected 10 essential tools that will make the difference when you start working with a remote or offshore team.

I’m sure you agree with me that when we are about to work with an offshore software development company, code quality is something we typically worry about. When working with an external software development company you need to use similar methods to ensure code quality when working with an in-house team. Keep reading and you will see how to avoid misdelivery and ensure code quality.

We’re bringing a fresh, transparent approach to software outsourcing. With this guide, you will see the whole process of offshore software development and learn how to use best practices to filter out frauds, reduce potential risks and eventually make it work for you. If you’re looking for an offshore software development team, this guide is for you.