My Articles

Over the years I've written about software, tech careers, and brain improvement.

🧠 Brain Improvement

My articles on brain hacking, and on being a programmer with ADHD live on

⚛️ Full-Stack React

I write about React, Next.js and other full-stack Jamstack topics at

🛣 Tech Strategy

I've written about various tech topics on the Echobind Blog.

👔 Freelance Programming

Older articles on freelancing as a programmer are below.

Cover Image for "How to Get Freelance Programming Work Using Tech Recruiters Part 2: Pros and Cons"

How to Get Freelance Programming Work Using Tech Recruiters Part 2: Pros and Cons

This is part 2 of a multi-part series on working with tech recruiters and staffing agencies. In part one, we talked about the right times in your career to work with tech recruiters, and good mindsets to have when working with them. In this post, we’ll dive into some of the pros and cons to ...

Cover Image for "How to Get Freelance Programming Work Using Tech Recruiters Part 1: When to Use Them"

How to Get Freelance Programming Work Using Tech Recruiters Part 1: When to Use Them

Tech recruiters often get a bad rap. Some of it is warranted; too many of them harass programmers with unsolicited cold emails or LinkedIn messages that make us feel like numbers. How many of us have been pestered about “the opportunity of a lifetime” …with a company we’re not remotely interested in, using a programming ...

Cover Image for "How to Convert a JavaScript / ES6 Object to a Class"

How to Convert a JavaScript / ES6 Object to a Class

Here’s a simple JavaScript / ES6 refactoring pattern that comes up often. Usually you’ll start a project by combining a loose methods into an object, and passing data as parameters. As the object grows bigger, you’ll see that some of the methods are related, and belong in their own class. How do you get them ...

Cover Image for "The Programming Language You Can Use Everywhere"

The Programming Language You Can Use Everywhere

One of the top questions I get asked by people looking to learn to code is “Where do I start??” There are dozens upon dozens of programming languages to choose from. On top of that, there are frameworks for each of those. And tools, plugins, and add-ons for each that number in the hundreds. It seems every day there’s something new, so for a rookie, the options can be overwhelming. It’s easy to get analysis paralysis in this situation. So stop thinking about it. Just learn JavaScript. You will not regret it. Here are a half-dozen reasons why.

Cover Image for "Hiring a Freelance Programmer: Do You Need One Yet?"

Hiring a Freelance Programmer: Do You Need One Yet?

Quite often, clients will come to me and ask me for help doing any of a number of things. Redesigning and rebuilding their website. Building a single-page React app. Creating a WordPress or Shopify theme. Building a mobile app. Or otherwise creating or altering a complicated piece of technology. I could stop right there and ...

Cover Image for "Your JS is a Mess. Javascript Namespacing"

Your JS is a Mess. Javascript Namespacing

Chances are, unless you’re somewhat experienced with Javascript, you probably write a lot of sloppy JS. It’s not an insult. Don’t take it that way. It’s just a reality, and it’s not your fault. When everyone starts out with Javascript (like any programming language), they learn how to write it the most basic way. And most of ...

Cover Image for "What To Do When You’re Not Working"

What To Do When You’re Not Working

Being a career freelancer / consultant is great for so many reasons, but in many ways requires a number of shifts out of the typical 9-5 mindset. You have to switch up some of your mental habits to be a better freelancer. Also, just because you are a freelancer, it doesn’t mean that you can’t ...

Cover Image for "How to Get Freelance Programming Work (With No Experience)"

How to Get Freelance Programming Work (With No Experience)

You just graduated with a Computer Science degree. Or finished the Web Development Immersive program at General Assembly, or another programming program (heh). Now what? Maybe you just want some extra help, such as java programming help or maybe you’re preparing your children for a career in programming, and want to get them enrolled in ...

Cover Image for "Stuff You Should Know This Week"

Stuff You Should Know This Week

The technology industry moves fast. Stuff is happening all day long, and all night – since there are developments going on all over the world in Europe, Asia and so on. So I read as much as I can to keep my skills relevant and know about as much going on as possible. Here’s a ...

Cover Image for "F**k Going Green: Throw Away Your Code"

F**k Going Green: Throw Away Your Code

Someone once said there are two types of writers: those that try to get a line perfect before writing the next one, and those who dump everything out fast and revise it later. The latter are often much, much more prolific (or so I hear). Programmers fall into those categories too. We have natural tendencies ...

Cover Image for "Programmers Aren’t Confrontational. F**k you!"

Programmers Aren’t Confrontational. F**k you!

I was reading an interview with developer Mark Dalgleish recently. He mentions how important it is that we as developers do something about our confrontational nature. I think it’s a little exaggerated to say we have a “confrontational nature.” Maybe even a little insulting, and over-generalized. But I think there’s fact in the idea that there’s sometimes a ...

Cover Image for "What Your Client REALLY Wants"

What Your Client REALLY Wants

As developers, we love to code, build, create, invent. As consultants our livelihood is dependent on this; yet, I believe we have a certain responsibility to decline jobs when they’re not warranted (See: The Importance of Saying NO). Far too often in the past I’ve seen tech built when tech doesn’t need to be built. ...

Cover Image for "Ethics for Freelance Programmers"

Ethics for Freelance Programmers

Ethics is a topic rarely, if ever talked about among freelance developers. Some of the more successful developers I know definitely have a sense of what’s right and what’s wrong in our business. At the very least, they do the best job possible since their credibility is at stake. But more often our conversations revolve ...

Cover Image for "Keep Your Swords Sharp"

Keep Your Swords Sharp

No matter how long you’ve been in this business, you should keep practicing the craft of coding. The better you get at what you do, the easier things will start to become. You’ll get gigs easier. Tasks that used to take you an hour will take you 30 mins. Your confidence will grow, and so will ...

Cover Image for "How to Pick a Good Coffice"

How to Pick a Good Coffice

Across the world, coffee shops with free wifi and great caffeination options have become great workplace options for everyone from students to freelancers to startup founders. I’ve worked from tons upon tons of them in almost every city I’ve traveled to, and I’m constantly getting better at finding ones I like. And I know a ...

Cover Image for "How to Have The Perfect Schedule"

How to Have The Perfect Schedule

A few years ago, I had to make some serious choices about the way I work. I’ve always enjoyed doing technology work, but since I was a young kid I’ve never felt quite “right” working in a typical 9-5 schedule. It wasn’t until far into my adult life that I found out I had a ...

Cover Image for "Don’t Eat The Candy"

Don’t Eat The Candy

I had someone contact me recently who wanted a website redesigned and rebuilt. It was a portal site with lots of different features….products to sell, services to book, and so on. I got on the phone with the owner of the site to learn more. When I asked what the goal of the site was, she said ...

Cover Image for "Get Hired Again and Again: 3 Steps"

Get Hired Again and Again: 3 Steps

Freelance developers, full-time developers and brand-new-fresh-outta-school-newbie developers all face a similar dilemma at different times in their careers: how the hell do I get a job? If you’re freelance, you’re going to be constantly looking for new projects throughout your career. If you’re not freelance, you’ll still face this challenge once in a long while. And ...

Cover Image for "WTF is Front-End Development?"

WTF is Front-End Development?

I’m a full-stack developer by trade, but front-end is my specialty. I’ve seen it treated with a bit of ambiguity over the years though, so I think it’s worthwhile to clarify the term. Front-end development defined For a clear working definition of front-end development, I’ll use a variation upon Wikipedia’s definition: Front end development is ...

Cover Image for "Pros and Cons of Freelancing"

Pros and Cons of Freelancing

I love a lot of aspects of the freelance life. It suits me well, which is why I’ve done of it for most of my 15 year career. In fact, in those 15 years I’ve only held one full-time salaried job. And now I’m back to freelancing again. So that may tell you something. But ...

Cover Image for "10 Tools for Getting Sh*t Done in Coffee Shops"

10 Tools for Getting Sh*t Done in Coffee Shops

It’s really fun – and can be super productive – to work from a good “coffice” (a cafe you work from. Google it.). I’ve been a serial cafe worker for a number of years now, so I’ve learned all the ins and outs of it. There are a few things I take on the road with me all ...

Cover Image for "The Importance of Saying NO"

The Importance of Saying NO

Having a can-do attitude is generally a good thing. However, learning to respectfully decline requests or projects is vital for your career in the long run. This is especially true for freelancers, but relevant for everyone. More productive is always better, naturally. But realistically, no one person can do everything. Taking on too much can break ...

Cover Image for "Why NOT to Try to Learn Everything"

Why NOT to Try to Learn Everything

There is SO MUCH free information on every technology in existence. Pop a few keywords into google and you’ll find blogs and tutorials. Check github and you’ll find a ton of plugins and sample applications. The availability of information is virtually limitless. Since there’s so much information, there’s a temptation to try and do it ...

Cover Image for "Javascript Linting: What Developers Need to Know"

Javascript Linting: What Developers Need to Know

After working as a developer for quite some time (decades), I’ve recently started to train other developers and teams in ways to improve their front-end development skillsets and processes. Linting is one of the least talked about, but most essential tools in a front-end developer’s toolbox. So when people ask “What’s the easiest thing we can do ...

Cover Image for "Don’t Get Attached to Programming Languages"

Don’t Get Attached to Programming Languages

On programming languages & frameworks It’s ok to love the framework or language you use the most. If Python is your shit, then use it like crazy. You really should get great with one thing before scattering your attention too much with others anyway. Being too attached to one language can lead to being closed to alternatives. If ...

Cover Image for "Which Programming Framework Should I Learn?"

Which Programming Framework Should I Learn?

These days, web frameworks are everything. Whether you’re building a startup, a data-driven app, or even a static HTML website, they’re a requirement for just about every project. (Note: By “web frameworks,” I’m lumping all different types together: server-side frameworks (Ruby on Rails, Django), HTML frameworks (Bootstrap, Zurb Foundation), or Javascript frameworks (Backbone.js, AngularJS). ) And ...

Cover Image for "Why Developers Should Cross-Train"

Why Developers Should Cross-Train

I’m not a big follower of sports in general, but they can serve as a good metaphor for development. Software engineering is sometimes mistakenly thought of as one big sport; i.e., if you’re good at PHP, you must be good at Python – since they’re basically the same thing, right? Well, no. Not at all, ...

Cover Image for "Building an All-Offline Web App"

Building an All-Offline Web App

I recently completed an all-offline mobile web app for a client. I was quite proud of the finished product, but had a few realizations about the state of offline web applications that  I thought were worth sharing. Below are some of the insights I took away from the experience. Insight #1: Offline capabilities are different across ...