A snowy day in Seattle.

Last month, my family and I moved to Seattle, Washington after living in Austin, Texas for thirteen years. Moving to Seattle was something my wife and I have been talking about for years, and last year we finally decided to sell our home in Austin and move to Seattle. One of the main reasons for the move was the milder weather in Seattle, and also the beautiful nature of Washington. Well, it has snowed twice in Seattle since we moved in last month, and everyone tells us that this is very uncommon for the area. We don’t mind, at least…

A note about Analytical skills

I’m focusing on helping my kids learn analytical skills, everything else they need to learn will be more accessible to them than this, now and in the future. STEM, leadership, and other career-specific skills are often (but not always) learned while working, most adults would agree with that. A big difference between poor kids and rich kids are the options they are given from an early age. Kids from a low-income family are often given directions to do things, instead of analyzing things and make decisions on their own; they have little or no choice about the things they can…

Ideal Workspace for Developers

Before becoming a software developer, I had no clue what this job required or what did a developer did through the day. Many years later, I have a pretty good idea about the workload and can share some advice on what the ideal workspace for someone that writes code is. First of all, let’s get something clear, software developers do not write code all day, it isn’t the same as writing a blog post or anything else. Working as a software developer is something like 20% code writing and 80 problem-solving. This 80% involves thinking about a problem or a…

How to successfully work from a coffee shop, or from anywhere!

I have been a software developer for many years now, and for the last 5 years, I’ve been working remotely 100% of the time. What does this mean? It means I’ve been working primarily from home, but it doesn’t mean I’m always home; instead I try to balance my time between multiple places inside my house AND more importantly, I go out and about when I can and when the weather permits it. Working from a place other than your home is essential in my opinion, having a different environment, a different view, and a different location to code is…

Parallelism. Using Parallel.For and ConcurrentBag.

Parallelism refers to the technique of running multiple calculations at the same time to speed up a computer program. Historically, this has been a complicated thing to write requiring a developer to do complicated coding including low-level manipulation of threads and locks. A program will generally run faster if you allow it to execute multiple calculations at the same time. For example, you might have a program where you need check how many orders a customer has, and instead of looping through each customer to check on their orders, you could check on multiple customers at the same time by…