Adders, Subtractors, Multipliers, and Dividers - the types of people

2 minute read

When you manage a team, or look to grow your team by hiring, you need to evaluate people. Skillset and technical capability are important, but they are not the most critical criteria. So what is? It’s attitude. A person’s attitude shapes his behaviors toward people around him.In almost all environments and organizations, no one works alone. For developers, they could be working with another developer, with a designer, with a devOp, with a project/product manager, etc.

The ability to collaborate well with people is extremely important. And attitude drives that. A keeper employee or teammate requires less of his/her technical skillset, and more of his/her attitude when working with others. When evaluating people in a team, or in general in any organization, we can categorize people in four types: Adders, Subtractors, Multipliers, and Dividers.

read more

Use ‘git’ with 3rd-party upstream repo

4 minute read

There are cases when you want to base your project off of a 3rd-party/open-source repo (e.g. seed projects). It’s easy to clone the repo and start your project from there. However, when that 3rd-party repo has updates and you want to get those updates into your project, what’s the best way to do so without messing up your working branch and the main git repo?

The process of working in harmony with a 3rd-party git repo is to maintain an upstream remote pointing to that repo, along with a main origin remote for your code. Once in a while, checkout the new upstream code in a local branch, and rebase/merge it to your working branch which is then pushed independently to your main code repo.

Simplified version:

# Get upstream updates
$ git fetch upstream --tags
$ git checkout tags/v1.1
$ git checkout -b upstream/v1.1

# Rebase to working branch
$ git checkout dev
$ git rebase upstream/v1.1
$ git push origin dev

However, there are a few quirks that you may run into with regards to rebase and pushing to the main repo. Let’s walk through those issues in detail.

read more

An analysis of the current freelance development world - from a hiring perspective

5 minute read

As software developers, who can more easily break the average developer salary of $98k in the US, freelancers or fulltime employees? The answer is freelancers. It might not have been clear a decade or two ago, but in the last 5 or more years especially since 2010 there have been more well-paid web and mobile opportunities for freelancers.

A freelancer is a self-employed person offering services, usually to businesses; and work on a contract basis for a variety of companies, as opposed to working as an employee for a single company.

Fulltime salaried developers have a steady and stable income, but the opportunities for them to earn more would only be through promotions or switching jobs. Before you ask, some can definitely take freelance projects on the side but it’s very hard to manage focus and performance in both their fulltime and freelance job. Those who can successfully do so have already become self-employed freelancers who own their businesses, simply because they can reap more earnings this way.

read more