Archive for category Software Development

Speaking at the Spring Houston Tech Fest on May 5

I’m speaking at the Spring Houston Tech Fest this May 5. I’ll be doing the following sessions:

  • The Software Doesn’t Work? Rewrite it!
  • Code Review: I Mean No Harm!
  • Testing in Agile: from Afterthought to Integral Part
  • Beyond the Daily Stand-up: An Intro to Scrum

I look forward to seeing some of you there!


Leave a comment

Speaking at the North Houston .NET User Group on April 19

I’ll be speaking at the North Houston .NET User Group on April 19 at 6:30pm. Here’s the session info:

Becoming a Better Developer

This presentation is filled with tips and tricks for you to become a better developer, including teaching developers to think more business and less technical, how to think about writing tests, TDD/BDD, and much more.

I hope to see some of you there!

Leave a comment

Speaking at 2018 ALN Conference

I’m happy to let you know I’ll be speaking at the 2018 ALN (Agile Leadership Network) Conference in Houston, on April 21. Here’s the topic that got selected:

Testing in Agile: from Afterthought to Integral Part

Testing cannot be an afterthought; it has to be an integral part of software development. Is it something that QA teams do? Or is it part of a developer’s duties? Do business analysts play any role in it? What is test automation? Unit test, Integration test, Test-Driven Development, Behavior-Driven Development… what do those mean?!
This session addresses all of those questions, as we talk through the importance of tests, the collaboration among team members, the techniques, and practices around different kinds of automated testing.

This is a new talk I’m putting together and I’m very excited I’ll be presenting it soon.

You learn more about the conference in the following places:

ALN Conference Website
ALN on Twitter
ALN LinkedIn Group

Leave a comment

What does clean code in React look like?

A few weeks ago I mentioned I was starting to learn React. I’ve finally finished a few days ago the PluralSight course mentioned in that post. The course was good for me to get my feet wet in React. However, as I stumble across React code in the Real World, I just knew I’d continue to see Spanglish in Programming.

See this example:

As I read the code above, specifically the bit indicated with red arrows, this how it sounds in my mind:

if page type is greater than or equals to this constant and wait, does the thing following that && actually evaluate to a boolean?!

I have no sympathy for code that mixes different language in the same file. It gets even worse when the code mixes different languages in the same function, method, etc.

That reminds of the day XML literals were added to VB, and of course, people start using it in the worst possible ways. The ability to mix different languages can be very powerful, but to me, there should some separation so that the brain doesn’t have to deal with so much context-switching.

Anyway, the example above doesn’t look like clean code to me. I’ve asked a fellow co-worker who’s more experienced in React, and he showed me how the code above could be cleaned up: simply extract the bits that create HTML into its own functions.

I believe every developer should always ask: “Is this readable? Is this clean? Is there anyway I can make it better?”.

Leave a comment

Spanglish in Programming

Much like there’s a hybrid between English and Spanish called Spanglish, there’s also one between Porguese (Português) and Spanish (Espanhol) called Portunhol. It seems like the same happens with programming languages!

Here are some cases:

  • C# and T-SQL
  • C# and XML
  • C# and HTML
  • HTML and JavaScript
  • HTML and CSS
  • HTML, JavaScript and CSS

I personally do not like seeing a file that contains hybrid code. I’ve seen so many horrid C# files building nasty T-SQL strings. I’ve also seen “unit” tests really hard to read because of nasty XML strings it contained. And of course, we’ve all seen HTML files with both HTML, JavaScript and CSS all mixed into one big pile of mud.

One of the reasons I liked directives in Angular 1.x is the fact it mostly keeps JavaScript away from HTML. I say mostly because it still uses some JavaScript-like elements in order to perform for-each and things like that, but not to an extent where I’d forget that I’m reading HTML in an HTML file.

Then I look at JSX (example found here):

Is that JavaScript? Is that HTML?

So far, I’m not convinced I’ll like that approach, but hey, let me stick with it and see what kind of things I can build with this mess.

Como would usted gostar if yo tivesse written esta post the mismo jeito I escrevi this frase?

See what I’m saying? 🙂

Leave a comment

Starting to learn React

I just got started learning React. Much like I did when I started learning Rails many years ago and documented my findings, I’ll do the same with React. If anything else, at least to have a place to come back to when I don’t remember things. 🙂

To get started, I’m following the following Pluralsight course: Building Applications with React and Flux.

So far, I’ve been through the intro and environment setup. Those were good for me to revisit some things I haven’t played much with yet: Node.JS, Browserify, Flux, and Gulp.

Here’s a quick run through of my notes…

React allows for the creation of components, in similar way to “directives” in Angular. Something got me scared, though: “JavaScript and HTML belong in the same file”. Hmm, I’m not sure I like that. That to me is the Spanglish of programming. I’ll wait and learn a little more before I tell you how I really feel about it.

React has no two-way binding, which I liked in Angular. Again, I need to learn a little more about this to see how I like it.

React can render both on the client and server (different from Angular). This sounds interesting.

Instead of using Sublime to follow along the course, I decided to install Visual Studio Code on the Mac to experiment with it. So far so good.

Leave a comment

Speaking at Houston Tech Fest 2017

I’m speaking at Houston Tech Fest this weekend. I always have a great time there so I always look forward to it. I’ll be giving the two talks below. If you attend to my sessions, please click the “link for feedback” for the session you attended and give me your feedback so I can work on improving it.

Be a Professional Developer and Write Clean Code (Keynote)
9:30-10:30am (Room 300)
Professional developers must write the best code possible, given what they know and what they have at the moment of writing. After a while, we may look at that code and wonder “wow, what was I thinking?”, and that’s a good thing: it shows we have improved. This session is about my observations regarding code I either wrote or had to work with.
Link for feedback

Beyond the Daily Stand-up: An Intro to Scrum (Keynote)
5:20-6:20pm (Room 304)
Countless companies believe they’re doing Scrum because they have 30-minute daily stand-ups (with people sitting and staring at their laptops) every morning. But Scrum is really a lot more than that. In this session, we see all of the main parts of Scrum (roles, artifacts, and events), and we also talk about some real-world collaborations in teams who adopted Scrum.
Link for feedback

Whenever I’m not giving a talk, I’ll most likely be hanging at the Improving booth. Make sure to come by and say hi! 🙂

Leave a comment