Stuff I'm Reading

Unconventional way of learning a new programming language

There are more than 500 programming languages. Hence, it’s pretty normal for you to start learning a new programming language today. It’s possible that you know…

Pinboard tags: learn instapaper


Complexity and Strategy

I struggled with how to think about complexity through much of my career, especially during the ten years I spent leading Office development. Modeling complexity impacted how we planned major releases, our technical strategy as we moved to new platforms, how we thought about the impact of new technologies, how we competed with Google Apps, how we thought about open source and throughout “frank and open” discussions with Bill Gates on our long term technical strategy for building the Office applications.

Pinboard tags: software-architecture


Thinking of the next developer

Over the last year, I've ended up on four projects that were started prior to my arrival. This isn't uncommon; more often than not throughout any career in development, you'll find that you're spending a lot of time trying to understand someone else's code. It may have been written a few days ago, and it may have been written years ago. The original author may still be on-hand to talk you through it, or they may have moved on. But regardless of the circumstances, you will often find yourself spending time figuring out what a codebase you're looking at is doing, and why.

Pinboard tags: best-practices software-development


The Idea of Lisp

LISP. It conjures up visions of a bygone age of computers the size of refrigerators, ALL CAPS CODE, and parentheses. Oh! so many parentheses! So why is Object-Oriented Programming's creator so enamored with the idea of Lisp? And what can he mean by a programming language being an idea anyway? Should I blame my Computer Science education for not teaching it to me?

Pinboard tags: functional-programming


Just starting out? Ditch the “full stack developer” label

The vagueness and confusion around the phrase “full stack developer” has been lingering for years. Google it and you’ll find plenty of discussion about why it’s such a loaded term. Given that long-standing vagueness, labelling yourself as “full stack” might be doing you more harm than good, especially if you’re just starting out.

Pinboard tags: imposter-syndrome


Why I Left Gulp and Grunt for npm Scripts

I know what you’re thinking. WAT?! Didn’t Gulp just kill Grunt? Why can’t we just be content for a few minutes here in JavaScript land? I hear ya, but…

Pinboard tags: npm tools


Maker's Schedule, Manager's Schedule

One reason programmers dislike meetings so much is that they're on a different type of schedule from other people. Meetings cost them more.

Pinboard tags: productivity


Clean Code concepts adapted for JavaScript

Software engineering principles, from Robert C. Martin's book Clean Code, adapted for JavaScript. This is not a style guide. It's a guide to producing readable, reusable, and refactorable software in JavaScript.

Pinboard tags: best-practices javascript


Dear JavaScript, – Medium

I wanted to talk to you about a problem in our community that we need to address. I’ve contributed to a number of open source projects in this community (Babel, Flow, Yarn, Lerna, etc.). As a maintainer of these popular projects, I’ve experienced some of the best this community has to offer, as well as some of the worst.

Pinboard tags: culture javascript