pragmatic programer 1
Post on 08-Jul-2015
371 Views
Preview:
DESCRIPTION
TRANSCRIPT
Pragmatic Programmer - 1
By -: Uday Pratap Singh
Agenda
What is Pragmatic Programmer Traits Problems Practices Tips Rewards
Pragmatic Programmer
Pragmatic +
Programmer
Pragmatic
Practical approach to any problem rather than theory.
Advocate Behavior. Be aware of everything happening.
Programmer
Programmer is a craftsman. Programmer directs the computer
to do what he/she wants it to do. Programmer captures
requirements and find a way so that a mere machine can do it.
Programmer document the work so that others can understand.
Traits
Early adopter Inquisitive Critical thinker Realistic Think in large context Take responsibility Jack of all trades Continuous improvements
Tip
Tip 1 Care About your craft
Tip 2 Think! About your work
The Cat Ate My Source Code
Problems happens in every project despite of taking every measure of safety (i.e; testing, documents, automation etc).
Don’t afraid to admit ignorance or error.
If anything can go wrong, it will. So don’t assume and prepare yourself for the worst.
The Cat Ate My Source Code
We can be proud of our ability but we must be honest about our shortcomings.
Take Responsibility. Be accountable for your
responsibility. Don't blame someone or something
else and don't make excuse.
The Cat Ate My Source Code
Provide solution for the problem Don't say it can't be done; explain
why it can’t be done Before asking any help, explain
problem go through the conversation in your mind
Tip
Tip 3
Provide options, Don't Make Lame Excuses
Software Entropy
Despite of best plans and people, a project can still experience ruin and decay in its lifetime.
It could be because of some bad decision and stretching it.
Keep your project updated w.r.t changed requirement and environment.
http://pragprog.com/the-pragmatic-programmer/extracts/software-entropy
Software Entropy
Broken Window Theory. Fix each piece of bad code as it
discovered or comment if you are out of time.
Help your team by surveying your neighborhood.
Choose 2-3 broken windows and discuss it with your colleagues.
http://pragprog.com/the-pragmatic-programmer/extracts/software-entropy
Tip
Tip 4 Don't Live with Broken Windows
http://pragprog.com/the-pragmatic-programmer/extracts/software-entropy
Stone Soup and Boiled Frog
Be Catalyst Don’t take support for granted Be Focused People lose the will to fight entropy.
So do it slowly.
http://www.karenika.com/book/pragmatic_programmer.html
Tip
Tip 5 Be Catalyst for Change
Tip 6 Remember The Big Picture
Good Enough Software
Perfect Software is a Myth. Good enough for your users,
maintainers, your own peace of mind. Involve your users in trade off. Know when to stop cause painting
with so much colors sometimes loses its identity.
Tip
Tip 7
Make Quality a Requirement issue
Your Knowledge Portfolio
Your knowledge and experience are your professional assets.
Unfortunately they're expiring assets and need to be sharpen continuously.
Your value declines with the knowledge you have.
Build Your Portfolio
Invest regularly Diversify Review and rebalance your portfolio
periodically Buy Low Sell High
Build Your Portfolio
Read Technical/Non Technical books Participate in user groups Experiment Stay current Use your learning Critical Thinking
Tip
Tip 8 Invest Regularly in Your Knowledge
Portfolio
Tip 9 Critically Analyze What You Read and Hear
Communicate
It's not what you got but also how you package it.
Every good idea is useless if you cant package it well.
We spends hours in it so we need to do it well.
We communicates with client, team mates, machines etc.
Communicate (WISDOM)
What you Want them to learn? What is their Interest? How Sophisticated are they? How much Detail do they want? Whom do you want to Own the
information? How you Motivate them to listen to
you?
Communicate
Know What You Want to Say
Know Your Audience
Choose Your Moment
Choose a Style
Communicate
Make It Look Good
Involve Your Audience
Be a Listener
Get Back to People
Tip
Tip 10
Its Both What You Say and the Way You Say It
Rewards
Active involvement in your work Mastery on number of subjects Pleasure of feeling of continuous
improvements In long run you and your team will be more
efficient Easy maintainable code Less meetings
Thank You!
top related