claudiolassala

Claudio is a Principal Consultant at Improving Houston. He has been developing software for 25+ years. When not building software, consulting with clients, doing presentations, delivering training, or hanging out with his family, he can probably be found working on his music.

Homepage: https://claudiolassala.wordpress.com

Gave my first talk in Spanish ever!

One of my goals for this year was to improve my Spanish. One of the milestones was to give my first talk in Spanish. It happened yesterday.

“Big deal, you are from Brazil, you speak Spanish!”. Not really. “But it’s very similar, isn’t it?”. Sometimes. “It should make it easier for you to learn Spanish, right?”. Well, I can now officially say it: No, it doesn’t. Quite the opposite.

But let me reminisce about things…

After I got involved with technical communities and gave my first talk in Portuguese, people said they enjoyed it, that they were entertained and learned things. So I kept giving talks. When I moved the US, one of my goals was to continue giving talks, so I had to work hard on my English.

I gave my first technical talk in English to a few of co-workers back in 2003, and specifically asked them to write down any tips they could give me in regards to my English. I know I have a video of that somewhere. At the time I’d get every one of my talks on video so I could later watch and look for areas of improvement. I’m always interested in the nuances of the languages: the subtle pronunciation of certain letters and how it varies when words are strung together, the choice of words based on context and message we want to get across, etc.

The talk I gave in Spanish yesterday is a relatively new one. I’ve only given it once, earlier this year. I was thinking in English during its creation, since the main target would be English-speaking attendees. In the past, I have taken a talk created in English and then delivered it in Portuguese, and I remember getting stuck at times, even though Portuguese is my primary language. I was sure I’d get stuck in Spanish today. And I felt I did.

My attendees today were my very kind Spanish-speaking co-workers, who signed up to my talk and gave me feedback at the end.

Spanish and Portuguese do have words that sound similar. Some of the grammar is also similar. But not all of it. And that’s where things break down. Sometimes, I used the correct Spanish words in a sentence, but the structure of the sentence was wrong: unintentionally, I used the Portuguese struture, which then produced improper Spanish. Sometimes, I said words that sounded half-Spanish and half-Portuguese, because they’re very similar, but yet, spelled and pronounced differently.

My co-workes assured me my talk went fine and the mistakes didn’t seem to cause them to misunderstand what I was saying. That is great and it encourages me to keep pushing it and offer talks for more Spanish-speaking venues.

I’ve always been very hard on myself in regards to languages and I will work hard on the feedback I’ve received, as it gives me very specific points I can focus on.

To finish this post, I’d like to call back to my Know, Say, Do post: just knowing Spanish isn’t enough, just saying a few words here and there isn’t enough… I had to do it, and giving a talk is a way I knew for sure would raise my stakes and give me something to aim at.

Note: I started my talk yesterday showing my acoustic guitar and saying “if my Spanish doesn’t work, I’ll just pick up the guitar and start playing something”. 🙂

Leave a comment

My Experiences with Speed Reading

The other day I’ve mentioned I do some speed reading when reading autobiographies. I actually also do it when reading other things. Here’s what I currently know and do about speed reading.

Back in 2000 or 2001, a co-worker was taking a very expensive speed reading course. He kindly offered to pass his learnings on to those of us who were interested. We only had a couple of lessons, but it was enough for me to immediately harvest the benefits.

Speed vs Comprehension

In the first lesson, he gave us the test to find out our current reading speed (words per minute, or WPM) and the level of comprehension. At the time I was reading like we are taught at school: one word at a time (often one syllable at a time). I can’t remember what my WPM was, but I remember my comprehension was at around 70% or so. There are such tests online you can find to see where you are with that at the moment.

He gave us some excercises to practice for a week. The exercise was a page containing 3 or 4 columns of words. We’ve cut a piece of paper so its length would be enough to cover the page top to bottom, and its width would be enough to cover an entire column of words. We’ve cut a rectangular gap on the paper so that we could see one word, and only one word, when laying it down on the page.

Seeing words, instead of reading them

The exercise was to pass that piece of pager on the page, top to bottom, one column at a time, left to right, at a speed where we could see each word going by, but not read it. If we passed too fast, we’d only see a blur of words; if we passed too slow, we’d end up reading the words. The idea is to only see the word, without reading it in our mind.

The following week, we did the test again. I don’t remember my specific numbers, but I know that I read the text much faster, and my comprehension went up to 85% or so. That blew me away. Since I was forcing myself not to silently read the words (saying them in my mind), I thought there was no way I’d be able to answer any question about the text I had just read. Seeing my comprehension going up was enough for me to pursue speed reading a little more.

One of the following exercises was to read text on a page using my index finger going left to right line by line (which was something I remember my school teachers specifically telling us not to do. They were wrong). That’s how I still read it today when I’m going fast. It helps me focus on moving my reading forward, instead of constantly going back to re-read words or sentences I’ve just gone through.

Sing one thing, Read another, at the same time

Another exercise was to listen to a song and sing it out loud as I read something. That one was awesome! Saying the words in our minds as we’re read them slows us down a lot. The brain doesn’t need us to read the words back to us. Once we see words, the brain processes them immediately. If we’re driving on the road and know that we have to take the exit to Such and Such City, we do not need to read every word on every road sign along the way; as soon as we see Such and Such City on a sign, the brain tells us “dude, that’s your exit”.

So, back to reading something while singing. The point of the exercise is: if we are singing lyrics out loud, it’s very unlinkely we will be able to say in our minds words we are reading on text that is not the lyrics we’re singing. So we can only see the words. Give that a try! Pick a song you know the lyrics by heart, let it play, sing a long, while reading a page of a book, a blog post, or anything like that. When the song is done, write own what you remember from the text you’ve read. You don’t have to write down word by word; just write down in your own words what you remember. Then go back to the text and see how much of it you got right.

Pace Yourself!

I do NOT speed read everything. I control my pace based on what I want to get out of the text I’m reading. For example, if I’m trying to just quickly learn about a new technology, I’ll most likely read through the book really fast, focusing on the title of each chapter, words that are in bold or highlighted some how, bulleted lists, etc. As I mentioned about reading biographies, I speed read through sections I’m not deeply interested in, and slow down on sessions that grab my interest. When reading fiction, I really slow it down, so I can appreciate more the author’s craft with words, character development, etc.

Slow or fast, go read something else now!!

Leave a comment

All Front-End Development Technologies Will Soon Perish

Front-End development technologies come and go. In my experience, they have been the single most volatile part of software. Their lifespan seems to be very short (5-10 years).

Why are they so volatile?

  • Probably because the devices the users interact with evolve far faster than what they don’t interact with (back-end, databases and such);
  • Users now expect more. Back in the day, users would happily use whatever software they had to automate their work. That has changed over the years as most people have their own personal computers and devices, which they use for way more things than just “boring accounting and payroll systems”. Also, since the first iPhone came out, users have learned to expect software to be more intuitive. And now “there’s an app for everything”, and for each app, there are likely multiple options to choose from.

Since the late ’90s, I’ve worked on a huge number of software “rewrites”. Most of them were really painful and time-consuming. Why so?

Main reasons:

  • Developers put way too much code on the front-end;
  • In most “rewrites”, people simply want to replace the old with the new, making the new one look and behave like the old one, but on a different platform

Every time a new front-end toy comes out, I’m mostly interested in seeing how developers are writing code in it. More often than not, I see the same pattern over and over: a TON of code put right there in the front-end. Knowing that these frameworks and libraries aren’t like to last more than 5-10 years (by last I mean to be continuous developed), I know that a rewrite for such software means, well, rewriting all of that code!!

For the most part, the front-end part of software should simply allow the user to ask questions to the system and see responses. That’s it. Present the users with what they need to formulate questions, and then show them the answers in the best way possible (which could mean, fast, or illustrated with charts, or whatever it takes to give users the insight they need in that moment of time). In certain scenarios, it may be crytical to have most of the processing happening on the front-end, but those are the exception, not the rule.

Don’t get me wrong: I used to jump at every new shiny toy, too. There was a time when Microsoft put out a new toy called LightSwitch. That was probably the first time I looked at a new toy and thought “hmm, I don’t think that thing will last long”.

I didn’t quite recall when it went away, but found out on a quick search that its lifecycle started on Oct 30, 2011, and it’s mainstream support ended on Jan 1, 2017. The official death announcement states that “the landscape has changed significantly from the time when we first thought about LightSwitch”.

Such a shame. I had worked so hard on adding LightSwitch to my resume. I had even documented my proficiency with it on this short 45-second video!

2 Comments

Reading Autobiographies

Prior to March of 2020, I had not read many autobiographies. The ones I’ve read, or rather heard as e-books, were usually those of some of my favorite musicians, such as Dave Mustaine or Ozzy Osbourne, as a way to hear some stories about the context around the creation of some of my favorite albums by them.

I had some other autobiographies on my “books to read” list, but they kept sitting low in priority.

Then, I’ve listened to some content by Tony Robbins where he recommends reading autobiographies. His main point now seems obvious, but I hadn’t taken it into consideration before: autobiographies are books where people share their experiences of a lifetime.

The toughest and hardest lessons learned are likely to be there. The biggests achievements, and maybe even more important, the biggest failures. What were the things the person tried before becoming successful, and why didn’t they work? So much too learn by investing a small number of hours into it.

For the last 9 months, reading autobiographies have been my bedtime habit every single day, and I’ll keep it going.

There are sections of the book that I speed-read, and there are sections where I slow down, to fully absorb the words.

I like autobiographies because they are are, well, written by the people themselves, as opposed to biographies. So we get the person’s reasoning, the person’s memories (or how they remember it). In the case of Richard Branson’s, some of the content comes straight from his journals, which is great, because it’s not how he remembers it decades after the fact, but how he wrote it down immediately after it happened.

How do I decide what autobiographies to read? It varies. For example, back in 2015, I’ve listened to this Tim Ferriss’ interview with Arnold Schwarzenegger, and learned many things about Arnold that I didn’t know before (such as the fact that he became a millionaire before his acting career took off). I wrote down a note that I should read his autobiography at some point, which I finally did a couple of months ago.

In the case of Richard Branson, I had heard and read many times about the number of companies he was involved with, his journaling habit, etc.

In the case of Bruce Dickinson’s, besides being the singer of one of my all-time favorite bands (Iron Maiden), he’s also known for his entrepreneurial spirit (aviation, writing, radio and TV…), as well as beating a throat cancer (he’s a singer!!)

When I read an autobiography, I take note of people that the person refers to as inspiration on their life; if those people have autobiographies (or biographies), I add it to my list (Nelson Mandela is one that keeps coming up).

A few months ago, I took the Read to Lead challenge, and got some more ideas of books I should consider.

Of the four autobiographies I’ve read this year, the two I’ve enjoyed a lot are Arnold’s and Richard’s. I’m considering writing up separate blog posts to talk about why I’ve enjoyed those so much.

Leave a comment

The Importance of Technical Communities

Technical Communities may be the single most important factor I’ve had (and continue to have) in building my professional career. Yes, that’s how important I believe they are.

I first got involved with communities back in the late ’90s. I got a job where I got to work with FoxPro, which I knew nothing about other than that it looked similar to what I knew at the time: Clipper and dBase. That was also around the time the internet was becoming a thing in Brazil in the days of dial-up connections.

In order to get up and running on the required tech stack, I found online forums in Portuguese.

There were many resources in English for FoxPro, but not a lot in Portuguese. I knew some English at the time. Many Brazilian developers didn’t. So here’s what I did: I’d see people’s questions in the online forums, look up the answers in English on the web, and reply to the posts in Portuguese. Why did I get from doing that?

  • I learned a lot of FoxPro in a short period of time
  • I learned a lot of English
  • I helped other fellow developers

A member of the community invited me for lunch one day and gave me a couple of FoxPro books. I asked the reason for the gift, and he said: “If I help 100 people, maybe one of them will give me a hand in a moment when I could really use some help”. I have taken that lesson to heart and applied it to my life deliberately ever since.

Because I was answering so many questions, people thought I was an expert.

When a new version of FoxPro was about to come out, members of the community reached out to the Microsoft office in Sao Paulo to ask if there was going to be an official launch event. The MS manager said they could do that, but there were no MS employees in Brazil who were well-versed in FoxPro. The community member said, “well, problem solved: I know a guy”. Next thing I know, I’m presenting two full-day, soldout launch events. Attendance included people flying from other states (if you don’t know how big Brazil is, please pick up a map…)!

So that’s how I broke into technical public speaking. Next, I got into writing articles, creating a magazine, organizing conferences in a few different States, organizing study groups, creating training videos…

So much came out of the common need to learn a new tech stack, followed by the simple action of helping others along the way, with however little I knew of anything.

The fact that I’ve been living in the US since 2002 is directly related to this involvement with technical communities.

See why I have a cute fox as part of my office decor? Never forget where you come from!

Also, when some youngsters make smartass comments about the mention of FoxPro on my business card, I may just say: “sit down, kid, let me tell you a story…” 😉

Leave a comment

Building my Book Library

I’m slowly building my book library. I enjoy books in all shapes and forms: paperback, e-book, audiobook, animated book summary, etc. My library reflects that.

Most of my technical books are e-books. I usually get their PDF version and put it in a “Books” notebook in Evernote; its search feature goes into those PDF files to find what I’m looking for. Quick access when I need that information.

My fiction books are either paperpack or e-book (usually in Kindle format).

The non-fiction, non-technical books are well spread out in different formats.

I’ve been reading more and more of my e-books on Kindle (on my iPad), using its features to highlight and comment; I often review my notes and highlights.

I’m getting more and more paperback books. Sometimes, I end up getting them after either listening to the audiobook or reading the e-book versions.

I have books in my library that I’ve purchased over a decade ago and haven’t read yet. I also have been acquiring more books that I don’t know when I’ll read them, but I do want to have them readily available. I don’t ever want to be in a situation where I tell myself “oh, gee, I really want to read something, but I have nothing to read”. Seriously, dude? Just go to your library and pick something up!

When I get book recommendations from friends or from reading other books, I look them up on Amazon and add them to my “books wishlist”, and I add a note to remind me where the recommendation came from.

To keep track of my backlog, books I want to read soon, books I’m currently reading, and books I’ve read, I still use the same process I’ve described in 2016.

2 Comments

“Work-Life Balance” makes me cringe

There are countless of articles and resources out there on “how to improve your work-life balance”. In the last many years, I actually cringe when I hear “work-life balance”. There’s just life. I didn’t use to think that way, though.

I see myself bringing “work-related” things to my personal life: from using Scrum and Agile practices in my own life to leveraging my product and software developer skills to my hobbies. I also bring my personal life experiences to my work.

If I’m in a work situation and I’m interacting with a co-worker who I know share similar passions with me (maybe motorcycles and racing or music), why not bring that part of my “personal life” to my “work life”? We can freely draw analogies from things that light us up and bring us closer to a shared understanding of the business context at hand.

If I’m in a personal situation where things seem to be going out of whack, why not bring in Scrum practices that can help me expose my challenges, see through them clearly, identify ways to tackle them, and stay focused? If I see things in my life I could make better through software, why not do that? If the answer to that last one is “well, because that’d feel like work”, it’d make me believe I don’t like my work. Since I do love the work I do, it’s not “just my work”, it’s actually something I enjoy as I live my life.

There’s a quote out there that goes somewhat like “craft a life you don’t need to escape from”. The practice of writing up annual reviews has been helping me over the years to make sure I “live the life I love, love the life I live”.

In closing, I’ll drop this quote I got from Headspace:

Mindfulness reminds us that any separation in life is artificial. Work-life, home-life, social-life… there is just life. This. Here. Now.

Leave a comment

Virtual Brown Bag: November 2020 Summary

November was a week short in Virtual Brown Bag meetings due to Thanksgiving. I hope everybody enjoyed the long weekend and took the time to feel and express gratitude.

Here’s a quick summary of topics we’ve covered in November.

  1. November 19th, 2020

    Job interviews, Azure Certification, Azure emulator, Node.JS, React Context and Context Provider.

  2. November 12th, 2020

    GitHub hack (youtube downloader), user stories, test organization (1 test fixture per class/component vs context-based), TypeScript (generics, unions, what’s the minimal bar for devs to know), JavaScript ORM.

  3. November 5th, 2020

    Discussion on testing, GPT-3 (AI, neural network), asking about SOLID in interviews, what is good code?

Leave a comment

Xamarin: Gave in, Gave up

Three years ago I decided to try out Xamarin. Given my experience with C# and WPF/Xaml, it seemed to make sense. I spent about 4 hours following some tutorial online and got the sample application up and running. Two months later, I tried to pick it back up: I launched the idea, hit “run”, and got some compilation error that didn’t tell me a whole log. After a lot of digging around on the web, I found out I had to update Xcode. After I did, the error in Visual Studio for Mac went away. Other priorities made me put that all aside for a while.

Last weekend, I gave in and decided to pick it up again. I have an idea for a mobile app that would help me with one of my hobbies and thought Xamarin would be the quickest way for me to get it done. The first feature for the app is a simple to-do list. That’s just a step away from the typical Hello World app, isn’t it?

After 6 hours of struggling, I gave up.

I was trying to use JetBrains Rider as the IDE. I thought of creating a Xamarin.Forms app, as it seemed the easiest way to have my app available both to iPhone and Android devices. I didn’t get passed creating the project, as it kept telling me that the “Android SDK is not installed”, even after installing all the Android things I’ve found out about; things that ate up 20Gb of my disk space, and I still couldn’t create the project.

I then decided to only target iOS: maybe if I at least got the app on my iPhone I’d find motivation to figure the Android deal later.

The project got created and I just tried to run it in the iPhone emulator (I didn’t write any code or change anything). Found some references online about Xcode, made sure to update it, but still, no luck.

Then, I tried to deploy it to my iPhone. First got errors about the Apple certificate needed. My Apple Dev membership expired years ago, so I renewed it ($107!). Got the certificate, then started getting errors about “Provisioning Profile”. Got it created, did what I told to do, as per online resources, and moved on to the next error: [MSB6006] “dsymutil” exited with code 1.

After some research on the error and not liking the answers I’ve found, I gave up. Six hours had gone by and I couldn’t successfully create and run a brand new project.

I’ll be trying Flutter next. Let’s see how that goes…

4 Comments

Know, Say, Do

For several weeks, I’ve had the following written on my whiteboard:

I think I wrote it up after reading this post, Actions, not words, reveal our real values, by Derek Sivers, which reminded me of my own post, stop thinking about and just do it.

I’ve been reading a lot of books. But why? Just to know more? But what do I do with that knowledge?

I can find people who could be helped by the knowledge and say what I’ve learned to them.

Or I can use that knowledge myself and actually do the things I’ve read about. Now, that’s a great idea; I get to put it to practice, gain experience myself, and be even more helpful to others.

I can also do all of those things. Maybe I’ve just read about something that enticed my curiosity, but I’m unsure on how to put it to practice. Well, if I share it with others, maybe somebody else is be able to help me by sharing their own ideas or experiences on the subject (This is one of the things we do weekly at the Virtual Brown Bag, by the way).

Sometimes we may do something before we actually know much about it, of before we say it to others. Sometimes we may say something but never do anything about it.

Knowing is important. Saying (sharing with others) is more important. Doing is even more important. But they don’t always happen in that order.

 

Leave a comment