Profile

Cover photo
Michael Curry
Works at Ancestry.com Inc.
Lives in Discovery Bay, ca
1,368 followers|1,320,024 views
AboutPosts

Stream

Pinned

Michael Curry

Shared publicly  - 
 
What's up?

Leroy, visiting.

#chorkie #dogphotos #leroythechorkie 
4
1
Michael Curry's profile photo

Michael Curry

Shared publicly  - 
 
Dominate, or be dominated
As a software engineer, changing jobs is a way of life. Every day, beautiful recruiters from top tech companies reach ou…
1

Michael Curry

Shared publicly  - 
 
Bugs make me sick.

Bugs hurt.  Customer-facing* defects cause me physical discomfort.  Been this way pretty much from the beginning.

My first programming job: Construction estimating/job costing/payroll software written in DEC BASIC on RT-11.  In 1981.

We sat in an open warehouse with shared desks sticking out from each wall.  No cubes, no offices.  Noisy.

Customers were about as non-technical as could be.  Electrical and mechanical (piping/plumbing) estimators used our products to automate the process of costing out a job based on giant blueprint sheets.  Or their accounting department used our software to do payroll and accounting.  Our software and hardware made their jobs much easier.  

We tended to customize our software to each customer’s needs (for an extra fee.)  And because of tight memory and disk space constraints, we didn't have the luxury of maintaining a single code base that could be used for all customers.  Pretty much everyone had a slightly tweaked, nonstandard version of the software.

This was barely beyond the stone age of affordable small computer systems.  Before the IBM PC.  Before Mac.  Only a few years after the MITS Altair 8800. Before spacious 5MB hard drives.  Before exception handling and on error goto linenum arrived in our little corner of the world.  Before automated testing was readily available.

Customized source code was stored on 5 1/2” floppy disks.  In a file cabinet, in a folder with each customer’s name on it.  No CVS.  No Subversion.  No Git.  No code reviews. No lint.  No static code analysis.  We used editors like TECO and ED to edit source code.  High-level debugger?  Sorry, pal.  Better luck next time.

9600 baud serial terminals glowing green or amber phosphor.  Noisy dot matrix printers.  Customers didn’t have expensive 300 baud modems connected to their systems.  Nor did we.

Software distribution?  We mailed fresh floppy disks bearing typewritten stick-on labels to customers.   We typed the labels ourselves, on hulking, clattering IBM Selectric typewriters.

Our company didn’t have a QA or customer support department for the first several years I worked there.  

The way it worked was simple.  We tested our own code.  And if a customer called with a question or issue with the software, they were connected directly to the programmer who was most directly responsible for the software.  Which meant: if you worked on that customer’s software package in the recent past, you got the call.  And, generally, this meant you stayed on the phone until they were able to resume their work.

If there was a customer work stoppage (the program was broken from the customer POV, with no viable workaround) we had no choice but to walk the customer through hand-patching the code, over the phone, by telling them how to bring up the BASIC interpreter, load the program code, and make the changes by using the interpreter's line editor -- you directed the customer to type one space one space zero space (not oh) space x space equals sign space one space two space three space period space four space five return.  And some customers might not understand that by "SPACE" and "PERIOD" and "RETURN" you really meant "press the [SPACE] or [PERIOD] or [RETURN] key" on the keyboard.  Tedious.  Painful.  Frustrating.  You name it.

So I learned.

I learned to visualize large passages of code with my eyes closed.  I could imagine what the user was seeing on his or her screen, as we performed this primitive, painful pair-programming remote-control exercise.

I learned if I didn’t want to spend countless hours on the phone this way, I'd better be as sure as sure can be that I've covered every line of code before declaring “it works!”  – this included code delivered by others long before I touched anything.  I learned to go on bug-hunting expeditions, before bugs were reported.

I learned there are no shortcuts.  Double check. Triple check.  Then check again.  On a personal level, you’d be cheating yourself if you don’t.  On a professional level, you'd be cheating your company and its customers.  

I learned the quality of my software deliveries (and those of fellow developers) had a direct and serious impact on the quality of another human being's day – their ability to get their work done – their ability to earn money.  On the company's reputation – and its bottom line.

I learned to choose my words carefully, to craft visual elements and interactions (UI/UX before it was called UI/UX) with as much thought and care as I can muster, because this also has a major impact.

I learned to distrust processes that isolate developers from users.

I learned to dislike business models with captive customer bases, because it makes it easier for one side to ignore the pain.

I learned that being close to your users is the best way to stay honest.

I learned more than I ever thought possible about empathy: I gained a profound appreciation for the damages caused through developer carelessness or defective processes.

That’s why bugs make me sick.

* "Customers" can include internal customers.  Substitute users, clients, consumers, fellow developers or whatever term you prefer.

(graphic from wikimedia -- by GNOME Icon artists)

#empathy     #quality      #testing   #software
1

Michael Curry

Shared publicly  - 
 
Tyler Durden: The things you own end up owning you.
Michael Curry:  The things you code, end up coding you.
1
Matthew Curry's profile photo
 
Indeed...

Michael Curry

Shared publicly  - 
 
Simply awesome.
This is all 55 dragons from my Dragons Design Marathon in one place. There is high res file you can download on my web page: http://www.damirgmartin.com/gal1_files/55 Dragon Matrix.zip | 55 Dragon Matrix | Damir G. Martin of Rijeka, Croatia | Animator;Artist;Designer;Matte Painter;Modeller;Renderer | ZBrush | Dragon | dragon design | dragons | 3d dragon | dragon concept art | zbrush dragons | creature design | CGPortfolio: Build your online digit...
1
1
Matthew Curry's profile photo

Michael Curry

Shared publicly  - 
 
If You Add Drunk People to Fitness Quotes, Things Get Hilarious
Fitspiration quotes are meant to get you to work harder, exercise harder. But like all other things, they do tend to get overboard. Reddit user evelee started off a thread showing how well the quotes worked with inspiration to get drunk. A few other redditors chimed in, and the thread turned pretty hilarious. Take aContinue Reading…
3
Have him in circles
1,368 people
Jdanda iMagery's profile photo
Julie Ridenour's profile photo
György Molnár's profile photo
Tommy Pritchard's profile photo
김대곤's profile photo
Rayhan Abu (Color Experts)'s profile photo
abrah mawuse's profile photo
David Fraga's profile photo
Kamran Ali's profile photo

Michael Curry

Shared publicly  - 
 
Mastery
“Master the JavaScript Interview” is a series of posts designed to prepare candidates for common questions they are like…
1

Michael Curry

Shared publicly  - 
 
One for the toolbox...
 
#Rescatux is yet another #GNU/Linux distribution that is focused on the rescuing of other operating systems. It works in live mode and offers a rich set of tools to address a wide range of problems in #Linux and even #Windows.
1 comment on original post
1

Michael Curry

Shared publicly  - 
 
I recall seeing a stop-motion animation of stick figures battling and interacting with real-life walls, office furniture/desk, scissors, letter opener, etc.  I think it was using yellow sticky-notes for character backgrounds, moving them across the scene as the animations did their thing..

I thought someone had posted it here on Google+ a few years ago.  I've looked everywhere but haven't been able to find it.  Anyone know where I can find this?
1
1
Belinda Forgy - Editor's profile photo

Michael Curry

Shared publicly  - 
 
Don't let the perfect be the enemy of the good
Oh, and while you're at it, don't let now be the enemy of later.

Photo creds
"Challenger explosion" by Kennedy Space Center - http://grin.hq.nasa.gov/ABSTRACTS/GPN-2004-00012.html. Licensed under Public Domain via Commons 
1

Michael Curry

Shared publicly  - 
 
In the software industry, especially the startup world, Crunch Mode is a ubiquitous, unhealthy antipattern. Crunch Mode refers to periods of overtime …
1

Michael Curry

Shared publicly  - 
 
"The Postman Almost Always Rings Twice"

#dogphotography   #scenery   #sunsetphotography   #sunsetphotos  
2
People
Have him in circles
1,368 people
Jdanda iMagery's profile photo
Julie Ridenour's profile photo
György Molnár's profile photo
Tommy Pritchard's profile photo
김대곤's profile photo
Rayhan Abu (Color Experts)'s profile photo
abrah mawuse's profile photo
David Fraga's profile photo
Kamran Ali's profile photo
Work
Occupation
Software Development
Skills
C/C++, Python, Linux, Redis, Celery, Nginx, Flask, Django, JavaScript/Coffeescript, Chrome extensions, etc. etc.
Employment
  • Ancestry.com Inc.
    Sr. Software Engineer, 2014 - present
  • Michael Curry's Exodus Development
    He does it all, 2013 - present
  • Exodus Development, Inc.
    Founder, 1998 - 2012
  • Lighting Science Group
    Sr. Software Engineer, 2007 - 2009
    Developed LED video wall and lighting control systems for Windows in C++
  • Mirra, Inc
    Sr. Software Engineer, 2004 - 2005
    C#/.Net thick client for automated backup server running on LAN. Like Carbonite but not on the cloud.
  • Talkway Communications
    Windows Architect, 2002 - 2003
    Design and development of video mail technologies and application integration under Windows desktop platforms.
  • Lexica Holdings, LLP and ViLink
    Contract Software Developer, 1997 - 1998
    Development and maintenance of Windows desktop applications for insurance industry.
  • Wayfarer Communications
    Sr. Software Engineer, 1995 - 1997
    Development of Windows desktop applications for “server push” Internet technologies
  • Pure Software
    Sr. Software Engineer, 1994 - 1995
  • Electronic Arts
    Sr. Software Engineer, 1992 - 1994
    Games development and other things
Basic Information
Gender
Male
Other names
Murky Rice, Rickey Rum, Curly Chimera
Story
Tagline
Taking the world by Drizzle
Introduction
"That Michael Curry" -- Husband, Father, Photographer, Foodie, Coder. Tinkerer. I play with software snakes: Python, to be precise.

I circle real people only... and usually only if you provide useful profile information along with interesting and relevant posts.

Sometimes it takes me a while to update my circles, so if you've recently circled me, please be patient...

~~~

If you don't understand why I posted something or made a particular comment, just ask.  I'll be happy to explain.  Please keep in mind: commentary is not advocacy.  I +1 things though I may not agree with them.

I follow the No Asshole Rule.  If you act like one while visiting, you'll be shown the door.  I expect that you'll do likewise.

Bragging rights
I wrestle with Snakes: Python. The programming language, that is.
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Discovery Bay, ca