At 6:30pm CDT on September 9, I’ll be giving for the Houston .NET User Group. It’ll be hybrid (online and in-person for those who can make it to the Improving office), and I’m looking forward to seeing some faces I haven’t seen in a while!
The topic will be “Improving Development with Context-Based Testing”. Click here to register and get more information.
The talk was created as an expansion to this blog post I wrote a few months ago: Context-based testing in the life of Don Testa’lot Moore
Here’s the talk’s description:
Most developers hear about “Red->Green->Refactor” as part of the TDD process. Some never get to the “refactor” part. Some only refactor the “production” code, but not the test code, after all, that’s “just test code”. Tests become cluttered, hard to maintain, and are abandoned.
Time flies, but the weekly Virtual Brown Bag meetings stay strong. Many great conversations have been had in February.
Troy Hunt’s “Everything you ever wanted to know” post about password reset feature, authentication systems and identity frameworks, JamStackAttack.com, Python
Rocketbook, ReMarkable, writing cover letters for resume, working for free, junior vs senior devs, using LinkedIn.
TypeScript: Why?, React Admin
Form builders, TypeScript
We have just started a Book Club at Improving to discuss the book How to Lead When you’re NOT in Charge. I’ll be posting some of my main thoughts here as we cover two chapters per week.
“Great leaders leverage influence and relationships over title and position. Influence has always been, and will always be, the currency of leadership. Influence always outpaces authority.”
Those bits got me thinking back to when I was 16 or so. For whatever reason, at least at the time, Brazilians used to use the “Dr.” prefix for the bosses (usually directors and such), regardless as to whether the person had a doctorate or not. That to me was a sign of title and authority over leadership (I’ll just say the person didn’t act as a leader).
“Once you become aware of something, you start seeing it everywhere”
That one comes up often. Keep an open mind, increase awareness, increase the potential of influencing others.
“Take responsibility to make great what you can make great. And let others do it in the areas that they can make great.” – Jim Collins
That bit makes me think of the disservice it is to not let others perform what they’re great at. For example, instead of doing something myself, even though I don’t know how to do it, just for the sake of saving some bucks, is a disservice to those who do that for a living.
“Leading without authority means you need to have a clear understanding of your identity – who you are as a leader, apart from any titles.”
That one had me thinking that many times I have not even put myself as a leader, but ended up being followed, mostly because people know what I stand for and look up to me for guidance.
In speaking of leaders and followers, I always think of one of my favorite TED talks, “How to start a movement, by Derek Sivers”.
“The most important ongoing conversation you have in your life is the one you have with yourself every day.”
This is another point that comes up in many places; this idea of “the story we tell ourselves”.
“The more you understand the makeup of your personality, the better you can understand how your identity shapes your thoughts, desires, and decisions, and the better you’ll be able to work with others.”
I’ve had conversations over the last couple of years that have helped me understand that thought better. There are traits I have that I wasn’t quite aware of, until someone else pointed it out to me. I then started being more deliberate about it; if it’s something people relate to, I might as well leverage it as a “super power”.
“Architecture of Identity: Past, People, Personality, Purpose, Priorities”
James Clear’s post on Identity-based Habits got me thinking a lot about this many years ago and I’ve been often reviewing my habits and how they line up with my desired identity.
“The clearer you are about who you are…
– The more consistent you’ll be with others
– The more confident you’ll be about what you do
– The less concerned you’ll be with the opinion of others
– The less confused you’ll be by your emotions”
I have worked with a number of clients as a consultant, where I didn’t have the authority to be a formal leader, and yet, consultants were expected to demonstrate informal leadership behavior.
And a point in the book that really hit home: “Think about Martin Luther King, Jr. What was his title again?“
Whenever we say things like “obviously” and “of course”, we risk shutting the doors of communication.
What may be obvious for us today, wasn’t so obvious when we didn’t know it. Once we’ve known it for a while, we take it for granted, and it becomes obvious to us, but it’s still NOT obvious to those who don’t know it.
People who hear “obviously, eveybody knows that” may feel stupid asking for clarification. I know I’ve refrained myself from asking questions because of that, having to take note and then do some research afterward, missing important information through the end of a meeting due to my temporary ignorance.
Crystal clear to some, blurry to others.
Different people learn at different pace. We see things through different lenses. The image in front of us maybe be opaque due to life’s experiences or inexperiences, opportunities or lack of. We travel different roads to enlightenment and hit different bumps along the way.
I can’t remember when and where I first heard of the issues with using those words, but ever since I did, I’ve been watching my words.
The year has started with a full run of weekly Virtual Brown Bag meetings. See what we’ve been up to and join us when you like. Every Thursday, 12pm CDT!
Networks, hardware, Cypress.io, E2E tests, TDD, BDD, Roam, Notion, Evernote.
Challenges with WinForms project, Uno Platform for Xamarin, Accessibility, Skia, Comet.
Coding test interviews, interview scripts, TripleByte.com assessments… and, Linux.
After a short hiatus, the Improving Code user group is back. The first talk of the year happens online next week, Feb 3, 6:30pm CDT. RSVP here, will ya?
Refactoring Test Code
Every developer hears about the TDD process as “Red->Green->Refactor”. Some never get to the “refactor” part. Some only refactor the “production” code, but not the test code, after all, that’s “just test code”. Tests become cluttered, hard to maintain, and are abandoned.
Here are some of my favorites books read in 2020, in no particular order.
Derek Sivers has a great summary of that book. I’ve read the book around the same time when I finished watching The Good Place (which I loved!). Both the book and the series touch on topics I catch myself thinking about often.
I enjoyed both books a lot. I like the novel approach (inspired by The Goal, which is another book I like).
I absolutely loved this book!! Watch this 2-minute long video. I’ve enjoyed this book so much that it’s one of the books I have on my list to re-read this year.
Those are the autobiographies of Arnold Schwarzenegger and Richard Branson, respectively. Two remarkable individuals.
If you’ve been following my blog, you’ve noticed I mention Derek Sivers quite often. I’ve been following his writings for several years and will continue to do so; he keeps putting out great stuff in a very simple, distilled manner.
I’ve been hearing and reading people talk about stoicism a lot over the years, but never really sat down to look more into it, until last year. I’ve enjoyed The Obstacle is the Way, and even gifted a copy to a friend, with page markers on passages that I believe can help him accomplish the dream he’s chasing.
Image by Linus Schütz
An artist I look up to is Devin Townsend. He is an amazing singer, prolific songwriter, hilarious in his performance, and a great mind.
Months ago, I’ve run into the Devin Townsend Challenge video. From its description: “Get a unique insight into Devin Townsend’s creative process in this two-hour video where he records a completely new track from scratch.” I was intrigued and am glad I’ve watched the whole thing. It’s not everyday we get a chance to witness a brilliant mind at work.
Devin’s albums and concerts are always very polished. Everything looks and sounds flawless. This is one of my favorite songs and performances by him: Devin Townsend’s Kingdom
The most important thing I got out of his “challenge” was his transparency into his process. He didn’t try to make anything look or sound perfect. He showed how he fails many times until he finds what he’s looking for. He also shows how he uses certain building blocks that have worked well for him, which are part of his musical fingerprint, so new creations come out a little easier.
I then found this great article:
The title of that article alone already makes me sit back and think about it.
How much effort goes into trying NOT to fail? That’s a waste of energy. We’re not likely to get it right the first time. And even if we do, what do we learn from it? I don’t know who said this, but it’s a good quote: “It’s only failure if you don’t learn from it”.
A few weeks ago I’ve put up a dartboard in the house. Say I walk up to it, throw the first dart, hoping to hit the bullseye, and it doesn’t come even close. I can get frustrated, say I suck, throw the 2nd dart, and do even worse. Or, I can throw the 1st dart accepting that I may not hit the bullseye, but being aware of things such as how I’m holding the dart, how I’m aiming, how much force I’m using to throw, the dart’s trajectory, etc. Then I see the result, and try it again, learning off the experience I’ve just had, coming up with a new plan (throw higher, softer, relax the arm, etc.) and then there’s a good chance the 2nd throw will go a little better. Rinse and repeat.
So, as Devin says, we need to learn how to fail efficiently, so we aren’t afraid of failing, and are better equipped to give our best and learn with the experience.
I love this quote from a TV show I’ve never watched:
“Dude, suckin’ at something is the first step to being sorta good at something.” – Jake, “Adventure Time”
We all have a tendency to see successful people and get frustrated when we can’t repeat their success. We compare our beginning to someone else’s middle. We don’t think of all the roads they tried to get to where they are. I think of Tim Ferriss’ The 4-Hour Workweek hugely successful book, and how it was rejected 25 times, before he finally got an offer from a publisher. 25 times! We are always afraid of failing one single time, let alone 25 times.
Here’s a great 5-minute talk on Why You Need to Fail, by Derek Sivers.
There are many things I want to do, many goals to pursue. I’ll add a task to each one as a reminder to ask myself “how can I fail efficiently?”.
I have mentioned about the importance of technical communities for me. This month, I take a moment to reflect upon something I was doing related to communities 20 years ago: in January of 2001, the first issue of RapoZine was released!
Still living in Brazil at the time and participating in a community that craved for content in Portuguese for Visual FoxPro, I got together with two other members of the community to put out this little magazine. Leandro W. and I would each write half of the content, and Nilton P. would take care of the website where people could subscribe.
We’d print out the pages at whichever company we were working at the time, and mail it out to the subscribers. Simple and easy. Nothing fancy needed. The community was craving for content! For that first issue, we also enjoyed an article contributed by Ellen W., from CoDe Magazine.
In its first year, we had about 120+ subscribers.
It was a ton of work to get monthly content written and put out like that. That’s how I got started on technical writing.
The name RapoZine was a combination of “Raposa” (Fox in Portuguese) and “magazine”.
When the printing and mailing costs got too high, we eventually alternated into a digital version. The articles were created in HTML, compiled into a password-protected EXE file, and a download link was sent to the subscribers. I need to dig up some old backup files… I may still find some of those issues here.
With my plans to move to the US in 2002, I didn’t have time to keep the magazine running. Fortunately, the main worldwide FoxPro community at the time, the Universal Thread, which also had their own electronic magazine, UTMag, approached me to join forces, and we merged UTMag/RapoZine for the community. The magazine became free for all, and published in three languags: English, Portuguese, and Spanish! The Universal Thread had a great system to allow translators to collaborate and get the content out. I continued as a co-editor and coordinator for the translation team. About a year later, the Univeral Thread acquired RapoZine, and I stepped away to pursue other goals.