Magpie Developers

Classic article from Jeff Atwood in 2008 at Coding Horror:

I’ve often thought that software developers were akin to Magpies, birds notorious for stealing shiny items to decorate their complex nests. Like Magpies, software developers are unusually smart and curious creatures, almost by definition. But we are too easily distracted by shiny new toys and playthings.

Jeff added: I became a programmer because I love computers, and to love computers, you must love change. And I do. But I think the magpie developer sometimes loves change to the detriment of his own craft.

Jeff is the programmer who created Stack Overflow and Discourse.

Which Voice is best for Digital Assistants?

“Conversational computing” is a growing high-tech field that is solving interaction inefficiencies (finger-typing on tiny screens) but are also opening up new dimensions of relating to our devices that can reinforce social/cultural stereotypes.

Do you like your Digital Assistant from Google, Apple or Amazon to be female? Male? Educated-sounding? What does that mean, even?  In the English-speaking world, for example, are British accents (think Jarvis) more educated than Southwestern American?

The teams behind Google Home, Apple’s Siri, Samsung’s Viv, Amazon’s Echo with Alexa, Microsoft’s Cortana—all need to balance their users’ gender, cultural and emotional biases. Whew.

Good reading here at NYTimes, article by Quentin Hardy.

Google Assistant “is a millennial librarian who understands cultural cues, and can wink at things,” said Ryan Germick, who leads the personality efforts in building Google Assistant. “Products aren’t about rational design decisions. They are about psychology and how people feel.”

Should you learn to code?

Perhaps a better way for a “tech neophyte” to try out coding is to learn how to write HTML/CSS. This pairing is far more self-contained and visual, and gratifying, than programming initially is (no matter the flavor, whether JS, Python, Swift, they all are far more complex with abstract logic).

Learning how to create a static web page only requires a layout, a text editor and a browser. You can try your hand at building a magazine page, for example, with its masthead, article areas and footer—and you will not be dealing with math or abstract problem solving that coding soon requires.

The learner can see how the basic HTML language syntax works (e.g. simple tags go around the words to style or structure them)… experience how the browser is strict about typos (early experience in debugging!); see how dependencies are linked in (graphics, external hyperlinks); see how the classes and IDs from the CSS file influence the HTML elements; and so on.

If the somewhat tedium of composing blocks of HTML and CSS code is gratifying to the learner, and it sparks an interest, then they can continue gaining fluency in the constructs and begin to appreciate how WYSIWYG editors work (like in WordPress or BigCommerce, say). This can be so helpful for business owners or bloggers, to fix the mistakes that RTEs can introduce from copy/paste actions from other sources (ie. Word pastes).

So, I’m proposing that fluency in HTML is a more basic, essential skill for today’s professionals than actual coding.

SAAS revenue models and slow ramp

Good read: 8 tips from Dave Cancel  

https://seekingwisdom.io/saas-companies-beware-the-slow-ramp-of-death-3edcc1b6444a#.37992rqeb

Highlights:

If an investor tells you that you can’t build a real business on $20/month, direct them to Constant Contact.

Their average selling price is $37/month, they have 375k customers, they are on target to do $170 million+ in revenue this year, and they are a publicly traded company (AKA liquidity event).

SAAS (Software as a Service) startups need to focus on getting on past what Gail calls the slow ramp of death. When selling low-priced subscriptions you make your money in subsequent years — not up front.

The slow ramp of death is even harder to get past at an average selling price of $37/month; 1000 customers at that price brings in enough revenue to pay a small handful of employees.