Software engineering is not an easy profession. You have to constantly learn new things to improve your coding skills and make sure you produce better and cleaner code over time. It’s not difficult, but you have to be aware of a few basic principles. With them in mind you will feel a better engineer and will gain respect from your fellow engineers. And the Lord said: “Thou shall always remember to write unit tests - no matter the deadline. Remember to keep the build green. Thou shall commit often and with meaningful messages (...)”
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Ten Commandments Of A Software Engineer
1. PHP UK
CONFERENCE 2013
Ten Commandments Of A
Software Engineer
Sebastian Marek, Internal Systems Technical Architect
2. ✴ a Pole living in Sheffield
✴ over 12 years in development
✴ Pascal, C++, PHP, perl, python, Java
✴ co-author of 2 PHP Books
✴ big fan of process automation
✴ TDD and CI
@proofek
✴occasionally contributes to open-
source projects
✴ wants to be a knight h"ps://joind.in/8050
30. ✴document from the beginning
of the project
✴ developer’s documentation
✓ automated documentation
✓ real world examples
✓ hints and tips
✴ end-user documentation
✓ internal
✓ external
hp://www.flickr.com/photos/jannem/510243975/
39. effective communication
✴
within team
✓ trust
✓ weak and strong points
effective communication
✴
within business
✓ communication channels
✓ open and honest
✓ provide options
✴ no decisions vs. bad decisions
hp://www.flickr.com/photos/redspike/5622332401/
111. Meaningless commit messages
commit 04f1f73b9ad9a2fa968cc3d16701c84f10965e66
Author: Generic Guy generic@email.net
Date: Thu Nov 18 16:16:19 2010 +0000
Initial commit of the entire client application
112. Meaningless commit messages
commit 04f1f73b9ad9a2fa968cc3d16701c84f10965e66
Author: Generic Guy generic@email.net
Date: Thu Nov 18 16:16:19 2010 +0000
Initial commit of the entire client application
commit 38b22c0b4ed15ddf003d6e1d7fb879349a867957
Author: Other Stuff Guy otherstuff@email.net
Date: Mon Nov 22 16:26:27 2010 +0000
Changes to cancel other code
113. Meaningless commit messages
commit 04f1f73b9ad9a2fa968cc3d16701c84f10965e66
Author: Generic Guy generic@email.net
Date: Thu Nov 18 16:16:19 2010 +0000
Initial commit of the entire client application
commit 38b22c0b4ed15ddf003d6e1d7fb879349a867957
Author: Other Stuff Guy otherstuff@email.net
Date: Mon Nov 22 16:26:27 2010 +0000
Changes to cancel other code
commit 971704e40b00cbd5fde612ed5aeb96e174bc9d2a
Author: Verbose Guy verboseguy@email.net
Date: Tue Nov 23 16:30:16 2010 +0000
Expand on comment
115. Useless commit messages
commit 971704e40b00cbd5fde612ed5aeb96e174bc9d2a
Author: Fixed Guy fixedguy@email.net
Date: Tue Nov 23 16:30:16 2010 +0000
Fixed
116. Useless commit messages
commit 971704e40b00cbd5fde612ed5aeb96e174bc9d2a
Author: Fixed Guy fixedguy@email.net
Date: Tue Nov 23 16:30:16 2010 +0000
Fixed
commit a69657b2045f1105cc940b67bab4b80b0e07ebe9
Author: Did Tests Guy didtests@email.net
Date: Tue Mar 22 15:29:03 2011 +0000
Unit tests to prove the fix
117. Useless commit messages
commit 971704e40b00cbd5fde612ed5aeb96e174bc9d2a
Author: Fixed Guy fixedguy@email.net
Date: Tue Nov 23 16:30:16 2010 +0000
Fixed
commit a69657b2045f1105cc940b67bab4b80b0e07ebe9
Author: Did Tests Guy didtests@email.net
Date: Tue Mar 22 15:29:03 2011 +0000
Unit tests to prove the fix
commit af1e80d98c9d8b6fe40efd3eadc27a9d4b1a2420
Author: Failed Codereview Guy
failedreview@email.net
Date: Wed Nov 24 17:07:16 2010 +0000
Code review changes, rename file
119. Informative commit messages
commit 971704e40b00cbd5fde612ed5aeb96e174bc9d2a
Author: ProperComment Guy propercomment@email.net
Date: Tue Nov 23 16:30:16 2010 +0000
Fixed TicketID: Scheduled changes cancelled
without cancelling engineering appointment
Do not let scheduled changes to be cancelled
without calling in, as there is an appointment that
needs to be cancelled
120. Informative commit messages
commit 971704e40b00cbd5fde612ed5aeb96e174bc9d2a
Author: ProperComment Guy propercomment@email.net
Date: Tue Nov 23 16:30:16 2010 +0000
Fixed TicketID: Scheduled changes cancelled
without cancelling engineering appointment
Do not let scheduled changes to be cancelled
without calling in, as there is an appointment that
needs to be cancelled
commit af1e80d98c9d8b6fe40efd3eadc27a9d4b1a2420
Author: ProperComment Guy propercomment@email.net
Date: Wed Nov 24 17:07:16 2010 +0000
Fixed TicketID: Missing data in migration
email
Added the extra variables in the email needed for a
customer migrating from a product
127. ✴coding standards that
everybody follows
✴ keep your code under control
✓ size
✓ complexity
✴ remove dead code
hp://www.flickr.com/photos/brykmantra/76765412
175. ✴ manual testing vs. automated
✴ unit tests
✴ functional tests
✴ frequent and early integration
✴ setup CI server
✴ fix bugs ASAP
✴ take ownership
hp://www.flickr.com/photos/alisdair/135306281
187. ✴ non fungible people
✴ experience + talent
✴ retention policy
✴ “hit by a bus” vs. “upset and unhappy”
✴people gardening - fertilizers vs. weed
control
hp://www.flickr.com/photos/javacolleen/2897180413/
188. The 10 commandments of a Software Engineer
I. Thou shalt not disrupt the legacy system
II. Thou shalt document early and while thy mind is fresh
III. Thou shalt speak up early and often
IV. Designeth not for complexity, but for simplicity ...
V. Thou shalt not re-invent the wheel
VI. Thou shalt commit often and your messages shalt be informative
VII. Thou shalt not kill (maintainability)
VIII. Thou shalt not repeat yourself
IX. Fear not the Priests of Quality Assurance ...
X. Thou shalt recognize and retain your top talent
189.
190.
191.
192. Further reading
The Ten Commanndments of Software Engineering
✴
✓ http://bit.ly/IgHZTu
The Ten Commandments of Software Quality
✴
✓ http://bit.ly/yJfatp
The Ten Commandments of Egoless Programming
✴
✓ http://bit.ly/atT1F9
✴ http://www.commitlogsfromlastnight.com/
193. Software craftsmanship
Robert C. Martin
@unclebobmartin
✴ http://cleancoder.posterous.com/
✴ http://blog.8thlight.com/
✴ http://cleancoders.com/
✴ http://manifesto.softwarecraftsmanship.org/
✴ http://katas.softwarecraftsmanship.org/