Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Post open career article #46

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions _posts/2013-10-11-embrace-open-career.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
layout: post
author: Victor Lin
title: "Embrace Open Career"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd make this "Embrace an Open Career"

tags:
- balanced
- career
- open company
- open career
- open source
- employment
- recruitment
---

### Solve puzzles and get hired?

When you are hiring developers, how could you tell whether is one really good? For hrining developers, many companies like to have some technical interviews. They simply ask candidates to write programs for solving a given problem. We all know this is not for letting employer knows how good these people are, it just provides a simple screening functionality. After that screening, the only one thing can be sure is that these people at least can solve simple problems and they are not here to try their luck and waste your time.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hrining -> hiring


<div style="text-align: center;">
<img src="/img/2013-09-25-embrace-open-career/solve_puzzle.png" />
</div>

So, why these little puzzles can’t tell how good a developer is? The major reason here is that the problem is too small, in real life software engineering, it’s way more complex, the lifecycle of system is much longer, and maintaince cost is higher than development cost. Surely many developers can solve a problem, but the output is not simply passed or failed, actually, the quality matters, productivity matters and so on for many details.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd make the first sentence "So, why can't these little puzzles tell how good a developer is?"


Like what it said in [Peopleware](http://javatroopers.com/Peopleware.html#Chapter_15), hiring a juggler without seeing his performance, that’s weird isn’t it? To know your candidates better, it would be very helpful to see what they have done.

### So, what have you done? I am sorry, NDA

Unfortunately, in most cases, your candidaters might not allowed to show what they have done to you in their previous job position.

> “Show me what you have done,” you asked.

> “I’m sorry, NDA” he replied.

Scenarios like this might happen, for reasons you just cannot bring the development history and show it to others. As a developer, sadly, something really awesome you have done, but nobody can read that. If you are a believer of open source, and you are lucky enough to have spare time for contributing to open source projects, then it’s wonderful. Your potential employers can see what kind of problem you have solved, how you solved them, the communications between you and other developers, how productive you are, your coding style and so on.

I was lucky, I have small open source projects for my personal needs, also, my former employer also likes open source, they allowed me to open source some projects I have developed. When an employer wants to see what I have done, I can just drop them my [GitHub profile link](https://github.com/victorlin). Nowadays, many employers find talents by looking public GitHub activities, so it is a nice investment to open your career isn’t it?

### Jump in and make contributions

Recently, I was looking for job opportunities, and I met Balanced. Unlike most companies out there, it is surprising Balacned claims that they are an open company. They open sourced most of thier projects. This is crazy, I am not even sure is this going to work, however, I am an open minded person, and I like the idea.

I was invited to make some contributions for the [balanced-dashboard](https://github.com/balanced/balanced-dashboard) project, a chance to prove what I can do, why not. So, I jumped in and made some contributions, and I enjoy it. This is really an interesting experience for finding a job, I am not an employee yet, but I already can make some things and have a chance to work with these people. Before geting on board, working together on an open source project provides an opportunity for both employer and employee to know each other better, a win-win here.

### Awesome green blocks popped on the GitHub profile

You know, like what witness says in advertisements

> “Since I used product X, I have already lost Y ponds!”
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ponds -> pounds


With witness of this one point five monthes working experinece with an open company, I can say
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

monthes -> months


> “Since I worked with Balanced, I have a beautiful green block stripe on my GitHub profile page!”

<div style="text-align: center;">
<img src="/img/2013-09-25-embrace-open-career/github_profile.png" />
</div>


### Show your best to the world

One postive effect of opening projects from employer view is that most contributors would like to show the best of them to the world. For myself, it works. I see contributing to an open source project just like to give a public speech to the world. I don’t want to let people see I am writing ugly code, so I tried even harder to make my code readable and maintainable than what I did for my own private projects. For instance, I am contributing to a recurring payment project [Billy](https://github.com/balanced/billy). As I saw what they said in [How Balanced Automates Testing and Continuously Deploys](/balanced-payments-operations-automated-testing-continuous-deployment-jenkins/), they really take automates testing seriously, so I push myself to reach the best testing coverage I can. And I eventually reached [100% testing coverage](https://travis-ci.org/victorlin/billy/jobs/11677008).

<div style="text-align: center;">
<img src="/img/2013-09-25-embrace-open-career/testing.png" />
</div>

You know what? Once you reach 100% testing coverage, you will never want the number drops. This is the first project has 100% testing coverage in my entire career, and I am really proud of it.

### Open career

I think the best part of participating an open company is that you can have an open career. It is not just a company, it is a community. No matter you are an employee or not, you can contribute to it, and it won’t be invain, what you have done is alwasy avaiable there. If the company is not a good match, fine, you still have something to show in your next opportunity.

Beining an open company doesn't means to just open source, it also means the you can join the decision making process. You have great idea? You love open source? Then this is your stage, embrace an open career :)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/2013-09-25-embrace-open-career/testing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.