“There are few inherently right decisions or wrong decisions. Instead, we make decisions, then make them right. That’s what leadership is all about.” – The New Psycho-Cybernetics
I still have a lot of work to do in this area.
“There are few inherently right decisions or wrong decisions. Instead, we make decisions, then make them right. That’s what leadership is all about.” – The New Psycho-Cybernetics
I still have a lot of work to do in this area.
“Once a decision is made, focus on supporting it, not second-guessing it.” –
Dr. Maxwell Maltz, The New Psycho-Cybernetics
This is something I want to work on in my life. After reading this, I realized
that I often second-guess my decisions.
Should I really have chosen easyb to test our app, rather than sticking with
JUnit?
When I start thinking this way, it’s easy for me to convince myself that I
made the wrong decision. Too bad there are already 100 tests or so, and I
don’t have the time (or desire) to rewrite them. At this point, there’s
nothing I can do to change my decision, so rather than second-guessing it, I
need to support it.
I chose easyb and our app is well-tested. I made the right decision.
When you fail, do two things:
“The unhappiest of mortals are those who insist on reliving the past, over
and over in their imagination, continually criticizing themselves for past
mistakes, continually condemning themselves for past sins.”
Dr. Maxwell Maltz, The New Psycho-Cybernetics
An excellent book. Premise: in order to be successful, you must be remarkable.
This applies to your business, your job search, your user group.
Being remarkable means doing something that people talk about. Something
outrageous or hilarious or excellent or terrible.
If you’re not remarkable, you’ll be forgotten.
When you practice Test-Driven Development, you know your tests are running.
A coworker (we’ll call him Scott) recently wrote some code and tests without practicing TDD. He wrote the production code first, then wrote the tests. When he ran the test suite, none of the tests failed, so he assumed his newly-written tests had passed and that his newly-written code was well-tested and working correctly. A fair assumption, given the circumstances. However, he didn’t look at the output very closely; otherwise, he would’ve seen that his tests didn’t get executed with the rest of the suite. They didn’t run at all.
Here’s the problem: we work hard to make our assumptions appear to be true.
When we write the production code first, we write tests under the assumption that they will pass. This makes it easier for us to believe the tests did pass after the test suite has run. We always assume the code we just wrote is bug-free, so when we see something that makes it appear that way, we latch on to that idea. It makes us less careful in the verification phase, and this may cause us to miss something, as was the case with Scott.
Turn this story around. Let’s say Scott had written a test first. He then would’ve run the test suite, expecting that test to fail. When he saw that the entire suite of tests passed, he would’ve discovered that his test hadn’t run. Then he could have fixed the problem, run the test suite again, and watched that test fail. From there he could’ve written the necessary code to make the test pass, and he would’ve known with confidence that his test passed and that his code worked correctly.
This isn’t the only reason to do TDD, but it’s one more reason I’ll continue to do it.
Want to learn TDD? Kent Beck’s book,Test Driven Development: By Example is excellent.
Never Eat Alone is an excellent book.
The premise: if you want to be successful, build relationships with people.
Get to know the people you work with, the people who live next door, the people around you. Find out what they want and help them get it. But make sure your motives are pure; if you help people just to get something from them, you probably won’t get it. Help people; expect nothing in return.
I like to help my friends; I’m sure you do, too. I have a friend right now who’s looking for a job, and I’d do anything in my power to help him get one. It’s not that I want anything from him – I just care about him and want him to get what he wants.
Build relationships with people who are like you and with people who are different from you. Find out what they want, what challenges they’re facing, and help them to overcome those challenges and achieve their goals. When you do, they’ll like you and want to help you.
Relationships aren’t only good for you and your career; they’re good for your company, too. As a software consultant, I know that my company benefits when my client likes me, because a client who likes me is more likely to do more
business with my company.
Once you’ve built relationships, be willing to ask for help. If you’re looking for a job, need advice, or are having trouble selling your product, ask someone to help you. If they care about you and are able to help, they will.
This is only a brief overview; Ferrazzi has a lot more to say about other topics, like not being a jerk, connecting with connectors, and building your brand. If you want to learn more, go get the book.
“Everyone loves a good story.”
From Story time with easyb, my latest post on Inside the Machine.
I loved it. I learned a ton, but more importantly, I developed relationships with people I respect and admire who can help me to become a better programmer. And I got fired up about programming again.
While I was there, I accomplished all of my goals, and much more. I also participated in several Open Spaces, where I was able to bring my thoughts and ideas to the table for discussion. I benefited as much from the Open Spaces as I did from the scheduled sessions, so if you’re going to a conference that has them, I’d recommend trying them out. When you do, be willing to participate in the discussion – if you don’t, you won’t get as much out of it.
As a result of CodeMash, I set the following goals:
CodeMash was an awesome experience for me. If you haven’t been to a geek conference like CodeMash, you’re missing out.