Date post: | 17-Jul-2015 |
Category: |
Software |
Upload: | laurynas-antanavicius |
View: | 133 times |
Download: | 1 times |
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…
OUR TEAM
• Crypto-Currency exchange / Forex market• 6 members in the development team• Agile - Scrum, TDD, CI, CD• PHP & GO• Focus on performance & quality
"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."
"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
SINGLEPLAYER
• Stack up on resources and tools!• You’ll have to be fast and efficient in all the client needs!
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!
MULTIPLAYER
• Be ready to continuously try again• There will be so many players. It will be hard to keep up.
MULTIPLAYER
• Code revision. GIT!!!• Coding standards. Zend PHP, Codesniffer• Writing tests - BDD & TDD. PHPSpec, Behat• Prepare to rewrite it
"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
Code kataRosettacode
CodeacademyCoursera
Codeschool
Practice something so much that you could do it sleeping
“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
“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
Weak on: Consistency / Discipline / Following instructions
Strong on: Looking around / Taking initiative / Copying /
Modifying / Communicating
People are “Active Devices”
“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
What do we do in code reviews?
We review code! Fresh new features before adding them to the main branch
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.
"You might say the secret of the game, then, is learning how to play the game
so that everyone is having fun."
Consider how you communicate
Weak links - the people you know that emit new ideasStrong links - your close collegues that you share the
know how
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
“There are no winners on a losing team, and no losers on a winning team."
- Fred Brooks, quoting North Carolina basketball coach Dean Smith
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
“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
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.