Photo by Austin Distel on Unsplash

Product validation is a vital aspect in software development. After a long journey of user research, problem and market validation, and most importantly development, you finally have a working product. Validating your product means getting meaningful feedbacks and using them to improve your product in the next iterations. In Agile, this is usually done on the Sprint Review meeting, where the team presents a demo of the product to the stakeholders. That said, there are other techniques you can use to validate your product. They will be explained in this article, along with their strengths and weaknesses.

In a product…

Photo by Henry Be on Unsplash

As software developers, we’ve all had to run someone else’s code on our own machines. Docker is a popular tool to make it easier and safer. It allows us to encapsulate a project, including the code and dependencies, and ship it to any machine with no hassle.

Why Docker?

Docker containers decrease deployment time significantly. It saves developers much time and cost.

Like discussed above, one of the main advantages of Docker is that it enables us to run a project on any machine, regardless of the operating system.

Packing and shipping a project with Docker is pretty straightforward. …

Photo by Enxyclo Digital Agency on Unsplash

It’s a common rule in software engineering that you don’t need to reinvent the wheel — use design patterns. Software design patterns are reusable solutions to general problems that you can adjust according to your needs. Of course, it’s not a one-size-fits-all solution. Sometimes you need to combine several patterns or use nothing at all. That’s why it’s important to know your product well to decide the best way to solve the problems.

Here are some of the design patterns you may find useful.

Creational Patterns

Creational patterns provide object instantiation mechanisms. They increase flexibility since they allow decoupling.

Sometimes, there are…

Photo by Kelly Sikkema on Unsplash

How a product is designed is the users’ first impression of the product, so it’s crucial to do it the right way. In software development, this is called the user interface and user experience. User Experience (UX) is how the user interacts with the product, like how easy it is to use the features. On the other hand, User Interface (UI) refers to the aesthetic of the product, i.e. how it looks and feels, and is an inseparable part of UX.

To deliver a good product, there are guidelines to follow when designing it. It’s important because a product needs…

Photo by Devin Avery on Unsplash

These days, skills and experience are not the only essential things when it comes to succeeding in the workplace. Whatever work you do, it’s crucial to work well with others and even have good relationships with them. In other words, become a people person. Frankly, it’s easier said than done, especially in the middle of a pandemic, where almost everything is done virtually. That said, it’s totally possible to become a better people person even in these challenging times. Here are the people management skills and how you can apply them to your daily virtual work life.

Having good communication…

Photo by pan xiaozhen on Unsplash

Truth can only be found in one place: the code.

— Robert C. Martin, author of Clean Code

Why is Clean Code So Important?

There are many reasons why you should keep your code clean, but the most obvious one is to ensure that people who read your code in the future understand it nicely. Keep in mind that these people include yourself since we don’t always remember what we wrote in the past.

Another reason is to make it easier to debug and refactor. …

Photo by Joshua Aragon on Unsplash

If you’re not new to software development, you’re probably already familiar with test-driven development (TDD). As a quick refresher, TDD is a development process where the software requirements are made into test cases before the implementation code itself is written. In TDD, there’s a cycle called Red - Green - Refactor. First, write tests and see that they fail. Then do the bare minimum to make the tests pass. After making sure that they pass, refactor the code to make it better (e.g. implementing clean code).

Source: outoftownicons on Tumblr

If you’re reading this article because of the cover picture, I’m sorry to inform you that I’m not going to talk about Chanel Oberlin and the other Chanels. Instead of talking about Scream Queens, I’m going to explore the five fundamental values of scrum that might be just what you need to become a Scrum Queen (or King, whichever you prefer). But before we get there, what is scrum?

Photo by William Iven on Unsplash

Say you want to build an app to help teachers execute online learning efficiently. Of course, you could guess what features they might need and how they would expect the app to be. But as someone working in tech, do you really know what motivates them, what their goals are, and what challenges they face on a daily basis? Probably not. So how do we ensure that the app we’re making would actually help our target users? The answer is by creating personas — fictional characters representing the kinds of users you’d expect to use your product. …

In case you didn’t get the reference, it’s from the Christmas song Sleigh Ride:

Giddy up giddy up giddy up, let’s go

Let’s look at the show

We’re riding in a wonderland of snow

I’ve been using git for more than two years now, but I still find it amazing how it can literally save a developer’s life. (Okay, more like figuratively, but still.) It has saved me at least hours of exasperation and ugly crying. …

CS Student

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store