A long time ago, during an interview, I was asked “How do forms work?” I thought it was a silly question, coming from the VP of Engineering. But I answered in as much detail as I could. Including the HTTP layer between the browser and the server. I’m convinced that my answer got me the job.
I still use this question in interviews today. It is sad how often candidates do not know the HTTP layer.
HTTP is an acronym that expands to Hypertext Transfer Protocol. It describes the way messages are passed on the web. It is, in fact “the web.”
The web (ie, HTTP), in turn, sits on top of other protocols: IP, TCP, DNS. A frontend engineer should skim the wikipedia articles and have a vague understanding of those protocols. But absolute mastery of HTTP is required. Why? To dispute with backend engineers.
Here’s what happens:
something funky happens in the ui
frontenders are called on to banish the funkiness
the funkiness is fundamentally spawned on the backend – frontenders may, or may not, be able to clean up on their end
If the problem is fundamentally coming from the backend, it helps, a lot, to be able to prove that to the backend programmers, and your boss. And to do that, you need to inspect the HTTP payloads. Fortunately, Chrome dev tools makes this easy. But dev tools is little help if you don’t really get what is happening in the first place.
Maybe 10% of those I interviewed had a really good grasp of ES5. No one had a grasp of ES6.
Few did any significant independent study or side projects. There was little awareness of the wide world of libraries, tools, and frameworks.
There is a huge gap between the state-of-practice, and the state-of-the-art!
However, maybe it’s time to admit that those people are unicorns?
Maybe it’s time to stop feeling guilty about not being up to speed on the flavor-of-the-moment packaging system, or MV* framework, or TDD framework, or tool ecosystem, or (dare I say it?) ES6?
Maybe it is perfectly okay to keep on developing on our state-of-2013 tech stack. The people we hire have to be trained up anyway. Does it really matter if I am training them to use backbone, requirejs, less and not react, webpack, stylus?
I am pragmatic. I want to ship software. I am going to keep a sharp eye on the state-of-practice from now on, and not race too far ahead.
Two-Bit Culture: The Paperbacking of America is a history of paperback publishing, written by Kenneth Davis in 1984. I enjoyed it, but I wouldn’t recommend it to the modern reader.
I picked this up in a used bookstore while on vacation this summer. Cultural history is my secret pleasure.
Davis opens with an introduction that announces his intent: he means to show that Americans will read “good” books, if they are nearby and cheap. Also, that mass-market books influence culture. Mission (sort of) accomplished. Davis proceeds to go through 45 years of paperbacks, in great detail. He highlights many “good” books, and calls out their impressive sales numbers. He makes a number of attempts to tie these big-selling”good” books to the wider culture.
But, at the end of the book, as he discusses the 1970s, he all but concedes that the mission of elevating the culture has given way. The book ends on a note of despair.
He also struggles to justify the sales of Mickey Spillane and Erle Stanley Gardner, who became rich and famous with their pulp fiction crime novels. In fairness, he gives it the ol’ college try, using many pages to attempt to link their work to the zeitgeist of the times.
Davis makes a curious choice at the outset: he picks June, 1939 as the the start of the “paperback revolution.” This struck me as odd, because there clearly were books with paper covers long before then. Indeed, Davis touches briefly on the history of paperbacks – going back to the early 19th century. Since he didn’t explicitly say it, I will: Davis is interested specifically in paperbound books of literary significance. Edgar Rice Burroughs may have been the first rich-and-famous “paperback writer” (as the Beatles put it), but his books are not part of the literary canon.
Starting in 1939 is fair enough, on Davis’ terms. But he does struggle to explain the success of authors like Spillane, Gardner, Harold Robbins and others.
Another tip-off that Davis is a “lit” fan is in his coverage of literary periodicals. Apparently, there was a recurring series of attempts to use the paperback format to publish the equivalent of a literary magazine. The longest effort lasted a decade, though it had to hop among 3 publishers to last so long. Davis lavishes inordinate attention on these (mostly short-lived) journals.
With his history beginning in 1939, a book published in 1984 is either brief, or heavy on small details. Davis went for the latter. The comings and goings of executives, publishers, and editors is recounted in great detail. For all its impact and sales, paperback publishing was a small world, with a cast of players that numbers in the low dozens. At some point, my eyes glazed over, and I just skimmed the names as they were recounted, as if I were reading the “begat” sections of The Bible.
But after all, this is cultural history. Just as the order of battle is recounted tediously in a WWII history, it is important to put all those names and places on the record.
The fun parts of the book come in two parts: where Davis highlights an individual author, and when he covers the noble free-speech fight taken up by the paperbackers.
The 20th century can fairly be called the high-water mark for novelists. In addition to the enduring names (Joyce, Hemingway, et al), there were a bunch of big-selling, and therefore culturally-important, authors that we have forgotten. Davis reminds us.
The other lesson I took from this book is the key place paperback publishers played in the on-going battle for free speech. Many novels of the early-and-mid-20th-century had explicit sex scenes. Which, obviously, was not well-aligned with the overt tenor of the times. But then again, the books sold well. Davis points out that hardcovers had limited distribution, exposure, and sales. A hardcover with sex scenes might fly right under the Puritan radar. Not so with paperbacks.
Paperback publishers fought a running legal battle with a collection of local and state governments. There was even a nasty Congressional inquiry, though little came of it. In the end, publishers staked more than a prudent amount on legal expenses that blazed new precedent in the courts. And, to Davis’ point, the (prurient) paperbacks surely had an influence on mass culture.
Maybe, ten years from now, someone will produce a companion edition that details the second 40 years of paperbacks. A lot has happened since the book ended in 1984. We witnessed the rise-and-fall of the big-box bookstores, along with the rise (so far) of ebooks.
For a skimmable recap of readable 20th-century authors, highly recommended. But for the modern reader, it leaves too soon.
Back in 1999, Steve McConnell wrote After the Gold Rush which explained that tech companies want to hire “Pony Express Riders” – young, single men who like to work hard and play hard.
Sadly, I entered the profession after my Pony Express years. I was married, with a child. Sleeping under my desk was not an option. I was jealous of colleagues who could spend nights and weekends heads-down in code.
I did okay. Don’t cry for me, Argentina.
But now, many years later, we have the women-in-tech crisis.
Keep in mind, writing about women in tech is officially dangerous for a white man like me. Be gentle. As Charles Barkley says, we can’t have a conversation if one side is automatically wrong.
A (female) colleague recently pointed me to this article. Good read.
There is a famous (though I cannot find it on google at this moment) post from a male programmer who felt dis-enfranchised due to his tea-totaling.
Males in their 20s, including programmers, like to engage in what Festivus refers to as “feats of strength.” For programmers, this includes staying up all night, drinking recklessly with colleagues, and fixing more bugs than anyone could reasonably expect in a 24-hour period.
I’m guessing that some of these feats are not appealing to female programmers.
And yet, they are mostly appealing to management.
Programmers who stay up all night, intermittently working? Awesome! Heroic bug closure rate? Awesome! Alcoholism? Collateral damage.
I imagine that many female programmers do not want to be Pony Express riders. Neither do i! I want to work hard, and professionally, for my scheduled hours. And then I want to go home. Where I will sometimes do more work. And sometimes work on a side project. And sometimes chill with my family.
So… for the last 20 years, I have worked hard to carve out work environments that are convivial to me. Selfishly. The way Capitalism is supposed to work. And… they just so happen to be convivial to female programmers.
Pony Express riders exist. The get hired. You can’t wish them away. If 2 or more of them team up, you’ve got a culture. Or, at least, a clique.
Management will always love love them. But the Pony Express is not sustainable. The historical Pony Express collapsed after 2 years.
If you are not a Pony Express employee, seek companies that have been alive for more than 2 years, that have well-renowned word/life balance policies.
Above all, take advantage of the market inefficiencies. There are too-few programmers for the current marketplace. Make your choice count.
To be precise, a 2013 Nissan LEAF SV. Well-appointed. Fun to drive. Woot!
I am very happy with the purchase. But I’d hesitate to recommend it to anyone else.
“The Space” – LEAF and Volt
We are not talking hybrids here. The LEAF is fully-electric. No gas. Ever.
The electronic vehicle (EV) space is small. BMW makes one, but it sells in really small quantities. Tesla makes some, and sells them as fast as they can build them, but they are really expensive. Smart Cars are silly looking. That leaves the Chevy Volt and Nissan LEAF as the EVs that normal people might buy. For the sake of this post, assume I am talking about a LEAF or Volt.
There are two inconvenient truths about EVs. Range is the first. Early LEAFs had a range of 50 miles. Later models, including mine, can range up to 80 miles. Of course, I’d allow a 20% reserve to account for hills, air-conditioning, and turbo boost. If you can live within that range envelope, EVs are a great buy. More on that below.
The second inconvenient truth. It takes 12 hours to fully recharge my LEAF. That is using a standard home electrical outlet. I could charge 4X faster with a higher voltage/wattage outlet. It will cost not less than $2000 to install such an outlet.
Related – there are surprisingly few public charge stations in america. If you travel to the suburbs (or worse) the pickings are slim. And, no matter where, you will be fighting for charge-station access with other EV owners.
Truth be told, there are just enough EVs out there to saturate the public charge stations, and make life crummy if you need a charge.
This is a good news, bad news story. Resale value is terrible. How terrible? My 2-year-old, well-appointed EV, with 13K miles, cost me just under $13,000. Original sticker price? $35k.
So, if you buy slightly used, you get a great looking/feeling/driving car for super-cheap. Just don’t expect to flip it later for anywhere near what you paid. This is a buy-and-hold car.
Look – you cannot routinely expect to buy recent, lightly-used cars for 1/3 the sticker price. We are living in crazy times. Over the next 18 months, Nissan and Chevy will reduce the supply, maybe the charging-station network will build out a bit, and re-sale values will float up. If you want a great, new-ish, cheap car – buy an EV right now!
We had 2 cars and 3 drivers. We needed one more car, to drive around town for shopping, errands, kids, etc. The two gas-powered cars are fine for longer-range journeys. We did not want to take on car payments, or break the bank for a 3rd car. Price was super-important.
My job is 10 miles away. So I could, in theory, commute in an electric car.
Ergo, I believe that we are the perfect target market for an EV.
The EV Market
Chevy and Nissan built too-many EVs, expecting to ride Tesla’s coattails. But Tesla’s range is 3X LEAF and VOLT.
Lots of people who would otherwise be happy with an affordable EV discover that they cannot live within the current range envelope.
Resale value: explained.
The next-gen of EVs, rumored to appear in 2017, will have a range of 150 miles.
150 is the original range of the Tesla. and not by accident! That range gives most drivers the freedom they want.
Most people. I think, routinely tolerate car trips of up to 90 minutes. Allowing for traffic that equates to 60 miles. Well within 150 miles roundtrip. I think 150 is the sweet spot for EVs.
I joked with the family that, at these prices, I should buy 2 more and stash them in the side yard for later. Alas, the batteries are an expiring asset. 🙂
We re-wrote that code with regular for loops, and moved on. But today, we saw weird layout problems in IE9. Fiddling around, by accident, I discovered that the pages were rendering in IE7 mode! Off to Google:
It seems that Microsoft “helpfully” renders pages in compatibility mode (IE7) if it thinks the site is in the intranet zone. I don’t know how it decides that a page is in the intranet zone. You can override this behavior in the settings, on an individual basis.
Luckily, there is a special meta tag that IE looks for, and changes the rendering engine accordingly:
Alternately, you can send a header that does the same thing.
Note that this only applies to a true IE9 install. If you emulate IE9 using IE10 or 11, you will not see the automatic application of compatibility mode. As you can imagine, this only added to the mystery, because I was unable to reproduce the bugs on my laptop. It was only with a borrowed laptop that I discovered IE7 mode.
Review, if you will, this wonderful Car Wars retrospective. In the early 80’s it didn’t matter if you spent most weekends on the East Front or the 6th Level of Foozle’s Lair, you occasionally played Car Wars. It was the connective tissue that bound all gamers together. I recall, simultaneously:
never taking this game seriously
buying a bunch of supplements
some great sessions!
Actually, one of the wonderful things about this game is that nobody every got mad. Losing is a high-EQ ability, not commonly found in teenage boys. But all I recall from Car Wars is laughter. No one ever took it seriously enough to get uptight.
Here’s another lesson from basketball, that applies to business (and life). Winning emerges from harmony. That means that high-EI people, who actually try to get along with one another, are critical to any team (or organization).
I would also point to his ability to reduce the inherent friction between individuals in a team game. Phil Jackson was a coach who had great insight into how to do this. When constructing a team he would find veterans who could fill certain roles on the team that would not conflict with the stars. Younger players wanting to prove themselves and playing for big contracts would– even though more talented than role-player veterans–take shots and touches from the more talented stars, hence leading to a less efficient team.
And I think Brown has those same type of friction-reducing skills.
I think organizations are a little bit like basketball teams,” he said. “They have to play together, work together. Where the responsibilities fall, what the opinions are, behind closed doors we’re allowed to have fights, heated discussions. But Bill Walsh told me when I first started coaching that “‘organizations that aren’t together don’t win.”