Top Banner
Working in Teams vs Working Individually Laurynas Antanavičius Product Manager @ Data Dog 2014.11.05
48
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Working in teams vs working individually

Working in Teamsvs Working IndividuallyLaurynas AntanavičiusProduct Manager @ Data Dog2014.11.05

Page 2: Working in teams vs working individually

ABOUT US• Custom web development and support

• Cloud-based application and software development• B2B, B2C eCommerce solutions

• Specialised in PHP• Over 35 developers• Wide base of clients: UK, US, UAE, Canada, Luxembourgh,

France…

Page 3: Working in teams vs working individually

OUR TEAM

• Crypto-Currency exchange / Forex market• 6 members in the development team• Agile - Scrum, TDD, CI, CD• PHP & GO• Focus on performance & quality

Page 4: Working in teams vs working individually

http://vimeo.com/107405318

Page 5: Working in teams vs working individually

LEVEL ONEThe Intro Stage

Page 6: Working in teams vs working individually

"If software development was really a science, you could apply the scientific method to it.

If it was really engineering, then you could apply known engineering techniques.

If software development was a matter of producing models, then you could spend your

money developing models."

Page 7: Working in teams vs working individually

"However, it is none of those.

Software development is a "game", a game of speed and cooperation within your team, in

competition against other teams.

It is a game against time, and a game for mind-share.

You should spend your money to win that game.”

- Alistair Cockburn

Page 8: Working in teams vs working individually

START SINGLEPLAYERSTART MULTIPLAYER

Page 9: Working in teams vs working individually

SINGLEPLAYER

• Stack up on resources and tools!• You’ll have to be fast and efficient in all the client needs!

Page 10: Working in teams vs working individually

SINGLEPLAYER

• Code base / Framework: Symfony, Laravel, YII, Check! • Infrastructure: Amazon AWS, App Engine, Heroku. Check!• Environment: Vagrant, Ansible, Atom. Check!• Knowledge base. Github, Stackoverflow, Google. Check!• Testing&Releasing. Scrutinizer, Wercker, Drone, Check!

Page 11: Working in teams vs working individually

MULTIPLAYER

• Be ready to continuously try again• There will be so many players. It will be hard to keep up.

Page 12: Working in teams vs working individually

MULTIPLAYER

• Code revision. GIT!!!• Coding standards. Zend PHP, Codesniffer• Writing tests - BDD & TDD. PHPSpec, Behat• Prepare to rewrite it

Page 13: Working in teams vs working individually
Page 14: Working in teams vs working individually

LEVEL TWOStarting The Game

Page 15: Working in teams vs working individually

"Do you know anyone that bought the video game Halo, or Myst, then proceeded to open the box and

read the manual before playing the game? Whoa there guys, we can't play the game yet, we

gotta read these instructions first! “

- Jeff Atwood, cofounder of Stackexchange

Page 16: Working in teams vs working individually

It's ok, as long as there is a tutorial level.

Nobody reads the manual

Page 17: Working in teams vs working individually

Code kataRosettacode

CodeacademyCoursera

Codeschool

Practice something so much that you could do it sleeping

Page 18: Working in teams vs working individually

“The driver enters the code and thinks tactically about how to complete the current task,

explaining his or her thoughts out loud as appropriate while typing.”

Peer programming

Page 19: Working in teams vs working individually

“The observer or navigator—following the automobile analogy more closely—reviews each line of code as it is typed in, and acts as a safety net for the driver. The

observer is also thinking strategically about future problems that will need to be addressed, and makes

suggestions to the driver.”

Peer programming

Page 20: Working in teams vs working individually
Page 21: Working in teams vs working individually

LEVEL THREEGetting the Hang of It

Page 22: Working in teams vs working individually

Just ask for help! Everyone is willing to help you only time

is limited

Page 23: Working in teams vs working individually

Think about it, Google it, thenAsk anyone and they will help you.

Page 24: Working in teams vs working individually

Weak on: Consistency / Discipline / Following instructions

Strong on: Looking around / Taking initiative / Copying /

Modifying / Communicating

People are “Active Devices”

Page 25: Working in teams vs working individually

“The primary goal is increasing software quality, this peer-oriented feedback also helps with knowledge

exchange within the organization and offers coaching that can help the careers of the

presenters.”

Patterson, David. “Engineering Long-Lasting Software: An Agile Approach Using SaaS and

Cloud Computing"

Code reviews / Workshops

Page 26: Working in teams vs working individually

What do we do in code reviews?

We review code! Fresh new features before adding them to the main branch

Page 27: Working in teams vs working individually

And to find stuff like this:

// Magic. Do not touch.

// drunk, fix later

// I'm sorry.

return 1; # returns 1

// I am not sure if we need this, but too scared to delete.

Page 28: Working in teams vs working individually
Page 29: Working in teams vs working individually

"You might say the secret of the game, then, is learning how to play the game

so that everyone is having fun."

Page 30: Working in teams vs working individually

Not having fun? Change the game!

Page 31: Working in teams vs working individually

Startup?Small business?Big business?Consultancy?Freelance?

Page 32: Working in teams vs working individually

LEVEL SIXJoin the professional league

Page 33: Working in teams vs working individually

The bar is really high right now. It is a team sport.

Gone are the days of the hero programmer...

Page 34: Working in teams vs working individually

Contribute to an Open Source project on GitHub

Page 35: Working in teams vs working individually

Consider how you communicate

Weak links - the people you know that emit new ideasStrong links - your close collegues that you share the

know how

Page 36: Working in teams vs working individually

In the end it's about precisely knowing what you can and cannot do.

And it's about having the knowledge and resources to go further

Page 37: Working in teams vs working individually

You can stand on the shoulders of giants OR

a big enough pile of dwarfs, works either way.

Page 38: Working in teams vs working individually

FINAL LEVELCompete to win

Page 39: Working in teams vs working individually

“There are no winners on a losing team, and no losers on a winning team."

- Fred Brooks, quoting North Carolina basketball coach Dean Smith

Page 40: Working in teams vs working individually

Constantly search for new ideas, knowledge and tools.

It's always great to investigate a new option even if 90% of them don't stick

Page 41: Working in teams vs working individually

I Hate Programming.I Hate Programming.I Hate Programming.

It works!I Love Programming.

Page 42: Working in teams vs working individually

Practice, practice, practice

Page 43: Working in teams vs working individually

Practice, think, discuss, practice

Page 44: Working in teams vs working individually

Just don't take it personal! It's just a game

Page 45: Working in teams vs working individually

“In the information age, the barriers just aren’t there.

The barriers are self-imposed.

If you want to set off and go develop some grand new thing, you don’t need millions of dollars of capitalization.

You need enough pizza and Diet Coke to stick in your refrigerator, a cheap PC to work on, and the dedication to

go through with it.

We slept on floors. We waded across rivers.”

- John Carmack

Page 46: Working in teams vs working individually

Where John was sitting in a cubicle by himself in Mesquite, Texas for 80 hours a week painstakingly

inventing all this stuff from first principles, on hardware that was barely capable, you have a supercomputer in

your pocket, another supercomputer on your desk, and two dozen open source frameworks and libraries

that can do 90% of the work for you.

You have GitHub, Wikipedia, Stack Overflow, and the whole of the Internet.

Page 47: Working in teams vs working individually

Programming is like sex:

One mistake and you have to support it for the rest of your life.

Page 48: Working in teams vs working individually

WAIT FOR IT..Questions?

[email protected]