Hey all, the lazy dog, here. I’m back, and I’ve been thinking about the way being a developer requires an attitude of constant learning.

Take iterating over an object in JavaScript, for example. I know, there are already tried and true methods of doing that:
const myDog = {
breed: 'husky/corgi',
born: '2014',
color: 'black/white',
ears: 'floppy'
};
const keys = Object.keys(myDog);
for(i = 0; i < keys.length; i++) {
let field = keys[i];
console.log(myDog[field]);
}
Or something to that effect. There are a lot of different ways to skin this particular cat.
So… It’s easy, simple, and memorable… Why change? Why learn something new, when this works? You’ve got your object, you’ve got the field names for the object, and now you can just iterate over those field names until you’ve done everything you want to do with the object. What could you possibly gain from doing it a different way?
Well, here’s how to do the same thing with ECMAScript 2017:
const myDog = {
breed: 'husky/corgi',
born: '2014',
color: 'black/white',
ears: 'floppy'
};
Object.values(myDog).forEach(value => console.log(value));
That’s better. That’s much, much better. I could even go a step further:
Object.values(myDog).forEach(console.log);
(Wouldn’t want to do that in all circumstances, of course, but you get the picture.)
The point is, we constantly learn because our tools constantly improve. Someone who becomes very good at PHP circa 2008, and doesn’t move on from there won’t learn about Composer, Laravel, or best practices for php-based JSON web tokens. A Java developer won’t know Jersey. A front-end web developer won’t know React/Redux/AngularJS/Angular/Bootstrap/Vue/SemanticUI/Material/Clarity/ohmygodfrontendisamessrightnow… but again, you get the picture.
If we don’t keep learning, we die as developers.