Nicholas C. Zakas is a software engineer who writes about JavaScript, ECMAScript features, hiring, and engineering careers.
Commenters link his posts on career advice, generalists versus specialists, and ES6 arrow functions as useful and clear.
[meta] The title of this article sucks, really, it's a bait, which is sad because the article is actually interesting. Why do blog post titles about programming have to suck in order to attract readers ?
> Lots of rework happens because of miscommunications with the user. Other times, the user doesn’t fully understand their problem (there’s not much we can do about this)
Agreed. That's where "lean programming" comes into play. If you have the capacity to make the code change as requirements change then I think the issue is pretty much solved. However, not all languages/solutions are equal in that matter. Obviously TDD, Agile techniques help.
> If we assume that typing code is the way to program, we will never look for better alternatives.
Typing code is a medium. The fact is, for an engineers it usually the most convenient way to create a program.
> But without an end goal, of course you have millions of developers releasing Javascript frameworks every day
How many of these are still maintained 1,2,5 years after?
https://www.nczonline.net/blog/2015/12/why-im-not-using-your-open-source-project/
So I don't think that is really a problem, there is an handfull of well maintained frameworks and libraries in the JS world. Most are not. Most are flashy with a nice "flat" page then you never hear about them again.
It's easy to produce shitloads of code, it's harder to maintain it and build a real community around it.
> Building software is 90% a human problem
Agreed, but…
it's not the way to build an inclusive community
I'm genuinely curious where the fetishization of inclusion has come from. Everywhere I look it's is relatively homogenous groups, irrespective of the generalized identity of those groups, that actually start something and grow it to significance.
For small contrived tasks that will required minimal time to complete, I can see diversity and inclusion being more effective, but when a task is daunting, stressful, challenging, etc. the benefits of a strong in-group with a similar identity provides a foundation for sticking together through trying/difficult times that you would not find in a diverse group with few social ties around identity. Inclusion is valuable, but only when it can be achieved while also mitigating the group from becoming its own worst enemy when diversity of individual interests compete against shared interests.
Linus imparts a very very strong and visceral distaste for bad code. These strong opinions attract those that agree and repel those that don't agree. It's decidedly not inclusion of people who would be tolerant of mediocre code and that is generally a good thing for a critical codebase that is the foundation of so much other code in the world. A group of people that place quality of code at a greater importance over pleasant human interactions is going to produce quality code and sometimes create shitty human interactions. The don't package up and ship the shitty human interactions, but they do…
Could you expand on how it could hurt you? All I was able to find was this [0]
> I found two opinions about using strict mode in production:
> > There is no reason to ship “use strict” in your production code. There is no performance gain (verified with V8 team and Brendan a while ago) and I don’t need my users’ VMs doing the extra checks as well. Keep it development only, strip it out during build. This way you also avoid the concatenation issue you reference.
> And:
> > There may not be a performance gain, but there’s also not a performance loss. In production, even more than in development, is where you want to be sure you’re noticing errors. Minimizing the changes between the development and production versions of the code is key to being able to debug issues quickly and efficiently. Yes it helps during development, but there’s no reason to pull it out of production code.
> The source is in the comments at the bottom [1]
> And of course those 12b weight of "use strict" won't change a thing.
[0] http://stackoverflow.com/a/10986793/1072106
[1] http://www.nczonline.net/blog/2012/03/13/its-time-to-start-using-javascript-strict-mode/
If you are looking for something that is more front-end specific Paul Irish has put together a really great list of blogs, and made a google reader bundle out of them.
http://www.google.com/reader/bundle/user/11165870484951445324/bundle/frontend
Some standout blogs that I always read about programming are:
http://www.quirksmode.org/blog/ - Was writing about JS before it was cool, now it just has some of the most detailed coverage you can get of new things happening in js.
http://dailyjs.com/ - a great daily roundup of the news in the JS community
http://www.nczonline.net/ - A developer who lead many FE efforts inside of Yahoo, very outspoken about how JS should work.
http://www.joelonsoftware.com/ - Joels essays can be a bit cantankerous, but also paradigm changing.
http://sheddingbikes.com/ - pretty much everything that zed shaw does is fucking awesome. Take it with a grain of salt though.
UPDATE:
Oh, I almost forgot steve yegge, http://steve-yegge.blogspot.com/ - In a few essays from steve my programming world opened into one of ideas, and not just syntax.
As I recall, IE3 was passable, not laughable. IE4 was better than usable; as much as I clung to my Netscape Communicator 4, it was better than NS's offering.
In fact, another current HN article right now details all that IE4 innovated: http://www.nczonline.net/blog/2012/08/22/the-innovations-of-internet-explorer/
IE3 started Netscape's decline, but it really picked up in the couple years after IE4's release (1998-2000).
All that competition, the proliferation of features, the new ecosystems of dev tools, new jobs as companies saw the Internet taking off with MS's weight behind it, the press about the browser wars, being able to click the desktop "Internet" icon on your new computer and see well-rendered and fast websites... to state that none of that actually grew web usage and that MS just took NS's users 1-for-1 is unbelievable to me.
MS made a better browser and put it in front of everyone's face while simultaneously convincing lots of companies to join the fray. The pie exploded.
Methodologies aside, people really do have to take the majority of their personal health into their own hands. Most folks only see a doctor for a few hours in an entire year (much of that just sitting in reception) and rely on OTC self-medication for most minor issues.
There's a lot of criticism around people that self-experiment or self-diagnose, and it is indeed a potentially very dangerous practice, but the expense and fallibility of doctors can sometimes leave little alternative.
One example of this is Nicholas C. Zakas's recent account[1] of his discovery that he is afflicted by Lyme disease, has had it for the last 15 years, and was frequently misdiagnosed with everything from depression to having an eating disorder.
The point is, regardless of education, nobody cares as much about your health as you do. Doctors deal with hundreds of patients, you get to focus on just one.
[1] http://www.nczonline.net/blog/2014/04/02/i-have-lyme-disease/