20 Years Building Software and Managing Teams


Published on

I've been building software professionally for 20 years. I started with ANSI C and worked with just about every technology in-between. After all of this time, I've come across a few things that have dramatically changed how I approach software development. These are serious "ah ha" realizations; ultimate truths that have completely changed how I approach software design and define success. In this session I'm not going to talk to you about the latest and greatest technology trends or show you the latest HTML5 code library – I'm going to share with you some of my realizations and learning from over 2 decades of professionally building software and running companies and teams.

Published in: Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • This is more than just trust in personality – it should be your approach to everything. Setting expectations and not hitting them erode trustFor example, if you run an agile project and you commit to two weeks worth of work – and don’t hit it.. That’s very bad.When trust is not there.. You will find that things go badly – customers want to oversee all that you do, etc
  • 20 Years Building Software and Managing Teams

    1. 1. Hi…My Name is Joel
    2. 2. 20 Years ….What have I learned?(crap I’m old)
    3. 3. Why am I here?
    4. 4. … because I turned 40… and that sucked
    5. 5. In the beginning…… I thought I knew it all
    6. 6. Now…… it feels like I knew nothingat all
    7. 7. I’ve done some stuff…
    8. 8. From a hick town
    9. 9. Computer Science Degree
    10. 10. Military Intelligence
    11. 11. IntraX Technologies
    12. 12. Contract Trainer
    13. 13. Independent Contractor
    14. 14. Imaginet
    15. 15. Microsoft RD/MVP
    16. 16. .NET UG
    17. 17. 4 books
    18. 18. Speaking/Lecturing
    19. 19. Telerik TeamPulse.. And now EVP of Innovation
    20. 20. ChassisFinder
    21. 21. eReferral
    22. 22. AccelleratorHK
    23. 23. NewPort Group
    24. 24. Everest a few times
    25. 25. And I think I’ve learned afew things…
    26. 26. Here are some thing I thinkare important… in no particular order
    27. 27. Success in our industrycomes from……combining knowledge oftechnology With the need ofa customer
    28. 28. Building software startswith…… a deep understanding ofthe PEOPLE using thatsoftware
    29. 29. Instead of focusing onbuilding features…… focus on allowing the userswho user your software flowthrough to the achievement oftheir goals
    30. 30. Don’t give users what theywant…… give them what they need
    31. 31. Building great software is afunction of ……How you work with othersnot how well you writecode
    32. 32. Being a successful SoftwareEngineer is really moreabout…… managing the way peoplework and interact
    33. 33. The process by which you buildamazing software is…… more important to successthan any aspect oftechnology
    34. 34. Planning is…… GuessingLearn to validate and measureinstead of guess
    35. 35. Detailed estimation ofsoftware projects is…… almost a waste of time
    36. 36. Instead of over planning andoverthinking its better to…… try, measure, adjust andtry again
    37. 37. Constraints on yoursoftware project are……WONDERFUL!!!
    38. 38. Software that is just “Goodenough”…… is fantastic
    39. 39. Being a good Software Engineer/ Craftsman means…… knowing when to maketradeoffs
    40. 40. Software architecture andmethodologies are not…… religionsThere is no right way all thetime
    41. 41. Air…… fills its container.. And sodoes work
    42. 42. Student syndrome…… does not just apply tostudents
    43. 43. Don’t confuse prioritywith…… enthusiasm
    44. 44. Ship your software…… now!
    45. 45. To grow and advance youmust……Push yourself toexhaustion, then rest andreflect
    46. 46. The most importantcommodity is….. Trust. Its something you mustearn.. And something youshould fight to keep
    47. 47. Know more than just thetrendy cool stuff…… know SQL, database tuning,design patterns, back enddevelopment, performance, knowinfrastructure and constraints
    48. 48. Agile basics…… just aren’t enough to keepthe fly wheel spinning
    49. 49. The Agile movement shouldhave started with…… Lean thinking
    50. 50. Learn to throw away…… everything you know insearch of something better
    51. 51. In the same light.. learn tobe good at…… unlearning
    52. 52. The ONLY constant in lifeand career is…… change. Embracethis, don’t fight it
    53. 53. However.. Look for thingsthat…… don’t ever change
    54. 54. Going from good to greatmeans…… sweating the small stuff
    55. 55. What’s more important thanknowledge?Passion combined with theability to learn
    56. 56. Leadership is about…… working yourself out of ajob
    57. 57. The best team is…… one that can self organize
    58. 58. High performance is about…… managing energy not yourtime
    59. 59. Interruptions …taskswitching …… death to productivity
    60. 60. Want to be supercreative, energized, focused andoperating at peak performance?Work out
    61. 61. Getting ahead in your careermeans you should…… work ON your job as muchas you work IN your job
    62. 62. Ego…… destroys teamsand then destroys thesoftware the team is building
    63. 63. Some things that will killyour projects are…SilosHandoffsLong feedback cycles
    64. 64. The most important and onlyprocess you should follow is……kaizen
    65. 65. Smart people learn fromtheir mistakes.. But…… Wise people learn fromthe mistakes of others
    66. 66. Most people are smart…… use inception to influence
    67. 67. DONE
    68. 68. Questions?
    69. 69. How to reach me• Facebook.com/joelfromcanada• Joelfromcanada.com• Twitter: JoelSemeniuk• JoelFromCanada@gmail.com
    70. 70. Good stuff• The Power of Full Engagement• Good to Great• The Logic of Life• Outliers• Peopleware• Dynamics of Software Development• The Goal