An Engineer’s Guide to TODOs: How to Get Things Done

We've long been promised a world where automation and other tech would free up our time to focus on more creative, rewarding pursuits.

However, we still find ourselves battling with small, but time-sucking tasks. We all want to surrender ourselves to the deep focus we need to complete more important work, but there are two big old-time sucks:

The Power of Code Refactoring: How to Measure Refactoring Success

Code refactoring provides a well-needed mental break for developers, and I think many devs can relate to this. Writing code all day is very demanding, especially if you create new functionality day by day. It’s a taxing exercise, and developers often need some space to think about the codebase's overall organization and look back on what can be improved.

This is exactly what code refactoring does. It provides this well-needed mental break for developers, and it gives them the chance to tackle higher-level, codebase-related issues. However, it’s also a great moment to check your code against the codebase guidelines. No codebase is perfect. Small faults against the guidelines make it to the “main” branch.

Improving Your Communication Skills as a Developer

Communication with other people is an important part of a software developer’s career. As a software developer, you will often communicate with other developers on your team, non-technical people on your team, stakeholders, and users of your software.

Having good communication skills will help you work well with your team and others by communicating your messages effectively.

Become a Hyper-Productive Software Developer in 1 Week

Software development is an ever-changing field that demands constant learning and upskilling. Right from the first day of your career as a software developer, you will need to learn to optimize your schedule to complete projects more efficiently. 

The more productive you are, the better it is for everyone involved in your project: yourself, clients, and your organization. If you're a new software developer or just trying to figure out how to become more productive, this blog post is for you.

How to Reduce Onboarding Costs by Using a Code Repository

Onboarding new developers into a project is a time-demanding and costly process, isn’t it? Just finding a proper specialist isn’t sufficient. We all know that every software development company has its own practices and uses its own tools. And those tools might even be in-house developed.

Therefore, it doesn't matter how skilled and experienced your new team member is, they will need to learn a lot. Sometimes, it takes pretty much time for them to learn all about the project they start working on (to start coding new features, for example), about the company’s corporate culture, and the commonly accepted practices and processes. Needless to mention the extensive documentation, and similar. 

7 Best Soft Skills That Make a Great Software Developer

Whether you’re an experienced software developer or new to the industry, there’s always something you can do to up your game. You’ll know how to create perfect code and how to understand your client’s brief. You’ll have a rigorous QA strategy in place to ensure your software functions right the first time, every time. 

These are the hard skills that every software dev needs, but do you have the soft skills that can take you from being a good software developer to a great one?

Tell Your Junior Dev To Do This Before Your Next Stand-Up

“Yesterday I worked on feature X. Today I’m working on feature Y. No blockers.”

Sound familiar? It’s the update your new junior developer gave in the stand-up meeting this morning. You told them not to ramble, but this isn’t really what you had in mind. When you were explaining stand-up 101, you told them to:

Why Has Python Become a Popular Choice for Mobile App Development in 2020?

When it comes to popular programming languages for backend development, Python comes to the mind of most developers. This high level, interpreted and general-purpose dynamic programming language has fewer steps when compared to C and Java. This attribute of Python makes it a hot favorite among most of the developers. And, it is one of the fastest-growing and popular programming languages these days.

You may also like: Top 6 Programming Languages for Mobile App Development

GitTip: Skip WorkTree

Use skip-worktree to sneak in modifications git won't notice

GitTip: Skip WorkTree

This tip is simple and powerful in equal parts. What we want to achieve is to modify a local file that git could not identify as having been modified despite being already tracked. For this example, I have a file “config.txt” with the content: “secret.” This file works well in all environments, but in the local environment, I need to change it for testing. No problem: it is modified, the relevant tests are made, it is reverted and it is uploaded.

The problem comes when that file, for various reasons, has to be modified in your local environment and has to work without being uploaded to avoid affecting other files. How can we do that?

How to Be a Better Programmer: Take Care of Yourself!

If you want to be a better programmer, stop this. Now.
Photo credit by Flickr/osseous

A decade ago, a book called Death March was listed as a bestseller. The book described how insane hours of programming led to health issues:

“Death March is a type of project in which the employees need to overwork for unsustainable number of hours. The project starts feeling like an actual death march as the superiors force their employees to keep on working against their better judgment. The projects had so many parameters that the only way to succeed was by coding more than 16 hours a day, seven days a week—with no break until the project is finished.”

Some years later, another story went viral from a spouse of a programmer who worked at Rockstar games. She said the company expected the developers to work 12 hours a day, six days a week, damaging the programmers’ health.

How to Approach Security Development Lifecycle (SDL)

Introduction to the Security Development Lifecycle (SDL)

Security Development Lifecycle is one of the four Secure Software Pillars. By pillars, I mean the essential activities that ensure secure software.

SDL can be defined as the process for embedding security artifacts in the entire software cycle.