Best Tool for the Job

The religious wars go on. Microsoft vs. the rest of the world, it seems. On and on, ad infinitum.

But does it ever really matter? Is there definitively a platform of choice? Or more to the point, is that question even valid? Can there be a definite? As Jeff Atwood points out, every technology flexes different strengths and exposes certain weaknesses. Knowing the pros and cons will help you determine the best tool for the job.

I recently started re-reading parts of Marshall Goldsmith’s What Got you Here, Won’t Get You There. Goldsmith, an organizational psychologist, describes a terribly negative characteristic common among successful people dubbed as the “need to win.” Developers have got a serious case of it.

Looking for a feeding frenzy better than Shark Week on the Discovery Channel? Go into a room of shark, oops, I mean sharp, developers and ask what’s the best way to refactor some classes to support an MVC architecture. Before you know it, you’ve got 100 ways to solve the same problem. How do you pick?

Keep it simple, stupid. You don’t need a sledgehammer to hang a picture (although it might be fun). You don’t perform brain surgery with a chainsaw (I’m looking at you, Tarantino).

Unfortunately for software developers, knowing which tools to keep in that tool belt can be daunting. Each platform presumably exists for some reason or another. They don’t just write 300 page, $50.00 software text books for fun. So it’s got something going for it (or at least it did), even if it might not be much. Some guy, just as smart as you, probably smarter, was on the other side of your criticism when he built the damn thing. Unlike other industries, where there may be a definitive right way to execute, technologists grapple with hundreds of choices and decisions. So to really be able to know which tool is best for the job takes years of exposure, education, and error.

So take it upon yourself to constantly challenge the risk/reward of a given platform - arm yourself with an arsenal of tools that suits the job you need to accomplish. Picking sides, after all, violates the whole spirit of software development. So let’s stop arguing already and build something spectacular.

Thanks for reading! I'm Avand.

I am a full-stack software engineer, product designer, and teacher. I’ve been working on the web for over a decade and am passionate about building great products.

I currently work at Airbnb, where I help internal product teams stay abreast with customer feedback. Before that, I was at Mystery Science, transforming how elementary school teachers teach science. And since 2013, I’ve worked on-and-off with General Assembly, teaching aspiring developers what I know about front-end web development.

I was born in Boston, grew up in Salt Lake City, and spent many years living in Chicago. Now, I call San Francisco my home.

I’m an aspiring rock climber. I have a love affair with music and cars, especially vintage BMWs and Volkswagens. One day, I’ll buy a van and transform it into an offroad-capable camping rig.

But that’s enough about me. How can I help you?

Read my other posts or get in touch: