Team Renovation Proposals
What happens if we invest in developing our people
and then they leave the company?What happens if we don’t,
and they stay?
Rationale #
Developers are the most valuable assets of the Company.
Disclaimer #
Everything I’ve written is highly influenced by my past experiences and readings. Several kudos to 37 Signals for their amazing books (Rework and Remote).
Proposals #
The following is a list of proposals that can’t nor shouldn’t be imposed.
They shouldn’t be implemented at the same time as well. Things need to roll out incrementally.
The direction you’re taking is more important than your current position.
Economy is by definition the management of scarce resources and we all face constraints on daily basis, so don’t consider the following as must-tohave since day 1. Start by applying the right mentality and try to introduce, in the best possible way for your use case, some of these proposals. Some of them are actually very cheap to adopt.
Also, give them a honest try and don’t let any previous attempts make you think these are not worthwhile.
- Pair Programming
- 20% Projects
- Dev Blog
- Fight Workaholism
- Company’s Brand, Public Team Pages, Social Presence
- Tech Events Presence
- Embrace Remote Working
- Invest on Innovation
1. Pair Programming #
What #
“Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently.” Wikipedia
Why #
- Increases Developers Skills
- Increases Design Quality
- Helps Quality Assurance and decreases the production of bugs
- Helps Team Building
2. 20% Projects #
“We encourage our employees, in addition to their regular projects, to spend 20% of their time working on what they think will most benefit Google. This empowers them to be more creative and innovative. Many of our significant advances have happened in this manner. For example, AdSense for content and Google News were both prototyped in “20% time.” Most risky projects fizzle, often teaching us something. Others succeed and become attractive businesses.” Google’s 2004 Founders’ IPO Letter
When developers can’t improve their skills they feel like stagnating, they start to lose faith in the project and, worst of all, in the Company itself.
Sometimes they’d prefer to dive deep into some technical issues encountered during the development of a project instead of hopping from a project to another without having enough time to collect the necessary experience.
There are some people that have 10 years of experience, others that have 1 year repeated 10 times.
More often than not they simply want to experiment with a crazy/useful idea that can potentially:
- turn into a profitable business
- improve the current communication or work flow
- improve current client work
3. Dev blog #
Developers should be encouraged to write technical posts on a blog the Company makes available.
This helps the developers to improve their communication skills and to gain peer recognition.
A by product of this activity is that the Company itself gains popularity by the tech community and this also helps to attract skilled developers.
Some examples of companies providing a developer’s blog:
- Google Developers Blog
- Facebook Developers
- The Twitter Developer Blog
- Dropbox Developers
- Inside BlackBerry Developer Blog
- Mikamayhem
4. Fight Workaholism #
Always leave office on time #
- Work is never ending process. It can never be completed.
- Interest of a client is important, so is your family.
- if you fail in your life, neither your boss nor client will offer you a helping hand; your family and friends will.
- Life is not only about work, office and client. There is more to life. You need time to socialize, entertain, relax and exercise. Don’t let life be meaningless.
- A person who stays late at the office is not a hardworking person. Instead he/she is a fool who does not know how to manage work within the stipulated time. He/She is a loser who does not have a personal or social life. He/She is inefficient and incompetent in his work.
- You did not study hard and struggle in life to become a machine.
- If your boss forces you to work late, he/she may be ineffective and have a meaningless life too; so forward this him/her.
Leaving Office On Time #
- Efficient
- Good Social Life
- Quality Family Life
Leaving Office Late #
- Inefficient & Incompetent
- No Social Life
- Less Family Time
5. Company’s Brand, Public Team Pages, Social Presence #
Customers are highly influenced by how a Company presents itself and value a lot the human factor.
Knowing the people behind the Company’s name, effectively seeing their faces, helps the Company make a connection to the customers.
Developers are also happy to be considered as part of the family.
Would you be happy if your girlfriend/boyfriend is afraid of speaking about you to her/his friends?
This is accomplished by providing a cool About Us page (possibly combined with a Team page).
The appearance of solidity of the Company also depends on its ability to communicate with its customers and with their broader potential audience as well (some of them might be considered potential customers).
The Company’s blog (i.e. Signal vs. Noise by 37 Signals) is one of the central places where the Company publicily states its awesomness.
Don’t forget to write frequently stuff that matters and to spread every post across your online accounts (i.e. Facebook, Twitter, Google+ and Linkedin).
Your very same developers will look forward to sponsor autonomously your online presence.
To wrap things up:
- Abouts Us page
- Our Team page
- the Company’s Blog
Some examples of About Us pages:
6. Tech Events Presence #
Make your developers upgrade their skills by encouraging them to join tech related conferences and events.
Try to tag your Company’s name to these events as well as hackatons, for example via sponsorships and by hosting some events in your own offices.
Other developers will know your name, and will be attracted to you.
Tech companies will consider your company as a reference for the technologies your name is associated with.
7. Embrace Remote Work #
As an employer, restricting your hiring to a small geographic region means you’re not getting the best people you can. As an employee, restricting your job search to companies within a reasonable commute means you’re not working for the best company you can. Remote
8. Invest on Innovation #
Don’t ever stop to move, your developers want to keep up with technology advances so you should too.
This also helps you to differentiate your offerings and to be ready to catch up with the new competitors that will, without any doubt, start by default to use the new opportunities.
Nothing lasts forever, so do programming languages and frameworks.
If you stick only with one programming language (be it PHP or Java), you’re already losing some opportunities.
Nowadays, the cool kids on the block are Ruby, Node.js, Go and some purely functional programming languages. Some of them are based on the JVM.
You should always strive to keep up with the state of the art, no less.
You can’t innovate if you stay behind this line.
If you don’t allocate enough time to experiment (for example, see 20% Projects), you won’t ever start using the new available stuff and you will slowly and inadvertently slow down your efficiency becoming the old Mammuth Companies you were mocking when you started.