4 barriers remote teams face

A remote team is nothing exotic on the current software development market. Companies have multiple offices, many of which, split across long distances, so remote teams are a must for them. I want to share with you the issues I've encountered when working in such settings. In this article, I only focus on what was … Continue reading 4 barriers remote teams face

Code can be “good enough”

Software needs to be delivered. That's a cliche, but it is a fact nonetheless. When implementing a new feature (described by a user story in my case), I have to consider quite some factors: acceptance criteria, the time at my disposal, quality of code, edge cases to watch out for and also possible future extensions … Continue reading Code can be “good enough”

Implicit assumptions are bad.

Implicit assumptions made by a person or team, can cause smaller or bigger problems. I've sometimes encountered them myself. I was working on ASP.NET MVC app, which also utilized AngularJS (< 2.0). At the time, I was more knowledgeable in the ASP.NET field, so when dealing with AngularJS routing, I implicitly assumed, that the router … Continue reading Implicit assumptions are bad.

Software development is not engineering

When explaining some nuances of my job to a person outside of the IT world, I sometimes use analogies to house building, as this is a field, to which almost everyone can relate to. I've also heard other analogies, like for example car manufacturing. Those analogies may seem intuitive and appropriate, as computer science in … Continue reading Software development is not engineering

Why is it hard to think like your software’s user?

This week, I have stumbled upon book namedĀ 97 Things Every Programmer Should Know, more precisely, the list of contributions to this book. I've read a few of them that had particularly interesting titles for me. I want to add my three cents to the issue touched inĀ Ask "What Would the User Do?" (You Are not … Continue reading Why is it hard to think like your software’s user?

Why communication in Software Development can be hard

Creating software usually involves quite some people, as there are important tasks to take care of: gathering requirements, validating them, writing the code, testing created softwate just to name a few. These different tasks create certain roles, each requiring different skillsets and thus, people who fill them in differ in background and lexicons they use. … Continue reading Why communication in Software Development can be hard

Programming technologies abundance

Today, there are more programming languages, libraries and frameworks than ever (feels so cliche say so). We also have many tools enabling instantaneous code execution, to name a few: interactive Python notebooks, interactive C# window in Visual Studio and an obvious one - a developer's console in every desktop web browser, which enables executing JavaScript. … Continue reading Programming technologies abundance

Requirements – how they affect a developer’s work

Gathering requirements from the client (or a representative, but let me call this person client for sake of simplicity) is as important in software development as it is in other fields of business. But the way that they are documented and changes in them play a significant role in the software developers' productivity and thus, … Continue reading Requirements – how they affect a developer’s work

Is software development only about coding?

My (former) expectations When I started learning programming (which was about seven years ago, when I was in high school), I was mostly learning by myself. I was reading books and tutorials, solving some problems on a website, which in its nature was similiar to this. I wanted to solve problems by myself, to create … Continue reading Is software development only about coding?