Making Microservices Work: Why the Developer Experience Matters

// // by Will Ezell

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. 

Management

5 Questions to Ask Your Offshore Software Development Agency

// // by Srdjan Sukara

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. 

Management

5+ Reasons to Use Selenium with Docker for Application Testing

// // by Suraj Vijayaraghavan

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.

Technology

Lack of Motivation Could Kill Your Software Team. Here's How to Fix It!

// // by Tyler Hakes

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?

Management

The Dangers of Scaling Development Processes Before They’re Defined

// // by Adam Henshall

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? 

Management

The Serverless Security Conundrum: Who Manages Security?

// // by Tal Melamed

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.

Technology

How this Fast-growing Tech Company Manages Developers

// // by Tamás Török

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.

Management

Unconventional Developer Hiring Tips for Startup Founders

// // by Annika Helendi

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.

Management

Anatomy of a High-performing Developer Team

// // by Tamás Török

What makes a high-performing developer team different from a low-performing one?

In this post, we extracted actionable insights from the State of Software Development 2018 report to reveal some cool stats about high-performing teams.

You will see how top teams attract, hire and retain talents and by what standards they measure performance. In some cases, the difference between high- and low-performing teams is also highlighted.

Management

How to Use AWS Lambda to Cleanup Unused EBS Volumes

// // by Mohamed Labouardy

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.

Technology

Testing Distributed Systems: Case Studies from the Pros

// // by Tamás Török

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.

Technology

Switching to a Microservice? Read this first

// // by David Dawson

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.

Technology

How Tech Companies Motivate Developers to Join and Stay at Their Company

// // by Tamás Török

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.

Management

App Monitoring 101: Collecting the Right Data

// // by Steven Phillips

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 Trends 2018: Latest Research and Data

// // by Tamás Török

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.

Management

Serverless Apps: The Most Important Things You Need to Know

// // by Péter Esztári

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.

Technology

Kickstart Your Project with This App Development Checklist

// // by Balázs Boros

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. 

Management

Developer Team Performance: Why Your Team Slows Down and What to do About It

// // by Tamás Török

There are many different things that could slow down your team and eventually lead to missed deadlines and expectations.

It happens quite often.

But this shouldn't happen.

In this post, we will uncover the main things that can slow down your team and provide some hands-on tips to address these issues.

Our intention is to help you structure the problem and uncover different internal and external factors that could impact your team’s productivity.

Management

Team Productivity: 9 Ways to Improve Developers Productivity

// // by Tamás Török

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.

Management

Want a High-Performing Developer Team? Scrap the Annual Performance Reviews

// // by Tamás Török

Performance management is broken.

Today’s widespread ranking- and ratings-based performance management is damaging employee engagement, alienating high performers, and costing managers valuable time.

But, this post will show you how to fix it.

Management

Microservice Architecture: All the Best Practices You Need to Know

// // by Tamás Török

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.

Technology

4 Effective Knowledge Transfer Methods for Software Teams

// // by Tamás Török

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.

Management

Is Hiring Developers a Challenge? Here is How Tech Companies Came Over It

// // by Tamás Török

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.

Management

How FINIS Built a Mobile App without Hiring Software Developers

// // by Tamás Török

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.

Management

NoSQL vs Relational Database File Storing (MongoDB and SQL Server Comparison)

// // by Barna Burom

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.

Technology

How to Develop a Cordova Android Plugin

// // by László Csele "Lacka"

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.

Technology

A Scientific Way to Prioritize Software Development Requirements

// // by Tamás Török

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.

Management

How to Easily Set-up Node Config Following These Best Practices

// // by Ákos Szokodi

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.

Technology

Beginner’s Guide to Serverless Architecture (Config, Deploy, Advantages)

// // by Dániel Vincze “Vinő”

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#)

Technology

10+ Startup Tech Leaders Reveal How They Prioritise Software Development

// // by Tamás Török

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.

Management

7 Things You Need to Do Before Building an App

// // by Tamás Török

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.

Management

Mongoose + TypeScript: Define Mongoose Models Using TypeScript Classes

// // by Ákos Szokodi

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.

Technology

App Engagement: How to Create Habit-Forming Apps

// // by Tamás Török

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.

Management

Node 8: Five New Features You Need to Know

// // by Ákos Szokodi

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.

Technology

20 Easy-to-use Mockup Tools to Design Your Next App

// // by Tamás Török

Sketching up the frames of your app is a great way to make it a bit more realistic. This is a step that can’t be avoided when building any kind of application.

But, you can take this to the next level. 

Using some of the tools mentioned below, you can create even interactive mockups that can be exported and run on any device working like a real application or a prototype. 

This is an efficient way to test your assumptions about your app; it also provides detailed instructions for developers, making their job much easier and faster. 

Technology

How to Minimize Risks in Software Outsourcing

// // by Tamás Török

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.

Management

The Ultimate Guide for Creating Kickass User Stories (With Templates)

// // by Tamás Török

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.

Management

7 Must-Read Stats from The State of Software Development Report 2017

// // by Tamás Török

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.

All

Comprehensive Guide to Code Quality: Best Practices and Tools

// // by Tamás Török

Ensuring code quality when your software team is growing rapidly is a huge challenge. But even with a constant number of software developers, maintaining code quality can cause headaches.

Without tools and a consistent system, the whole project can accumulate a huge technical debt, causing more problems in the long-term than it solves in the short-term.

The best thing is that you don’t have to be a rocket scientist to avoid this (sure, it’s not a problem if you are one).

Technology

How to Build an Ionic 2 App with Native Plugin Integrations [Full Guide]

// // by László Csele "Lacka"

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.

Technology

The Best Slack Integrations for Distributed Software Teams

// // by Tamás Török

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.

Technology

10 Essential Tools for Offshore Software Development

// // by Tamás Török

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.

Management

3 Steps to Ensure Code Quality in Offshore Software Development

// // by Tamás Török

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.

Management

Ultimate Guide for Offshore Software Development

// // by Tamás Török

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.

Management