practical empathy – live blogging from qcon

Practical Empathy: unlocking the superpower
Speaker: Pavneet Singh Saund @pavsaund

See the list of all blog posts from the conference

speaker’s blog: http://codingwithempathy.com

Started by telling the story about the guy who broke the prod database on his first day on the job and how it was poorly handled. Compare with speaker mixing up two elements (physics) – asked how was and was told his boss has done that and suggested to go home/rest/come back next day.

What is Empathy

  • Ability to see world as others see it
  • Ability to understand another’s current feelings
  • Witholding judgement
  • Communicate that understanding back to them

Told story about a team deciding to work more hours where they could. Speaker worked as well to keep up. But exhausted becuase little kids and burden on wife. Impacted family and daughter. Burned out and quit for 6 months while on vacation.

Introspection

  • self-empathy is checking in with your own feelings and needs. Anger is an unfilled need.
  • Mindfulness – non-judgemental awareness of experiences in the present moment. For developers, sometimes a task is hard to start. ex: too big. Taking a few minutes to focus before starting helps. Be more engaged in moment and keep calm
  • Journaling – Writing thoughts and feelings honestly can be healing. Can empty the mind. Agile retrospectives are also a good place for reflection. But that’s for a team. Having a place you can swear provides a safe place to be honest. Also, makes awareness of how much filter own thoughts.

Listening

  • Listening to understand – put aside immediate goals. “Don’t just do something, listen”. As developers, our first reaction is to solve problems.
  • Listen withough judgement – Breathe to calm down. Be curious to learn and avoid irritation/frustration of not understanding
  • Assume good intent – “bad” intent could be misunderstanding or language/translation problems. Retrospective prime directive.
  • Listening to connect – Try to connect situtation to a feeling within you. Be curious to try to get to underlying feelings so can relate and understand

Gaining perspective

  • Challenge comfort zones – seek out diferent perspectives, learn about context
  • Walk a mile in their shoes – sit with the users, understand what they are trying to do. Pair with a tester. Work in customer support

“Empathy is the key to understanding”
“Empathy is a skill. You need to actively practice giving and receiving empathy”
“Empathy is hard”

Can’t have empathy in a culture of blame/shame
Empathy is hard. Takes energy and boundaries.
Empathy is a choice. It is a first step toward making more options available

managing millions of data services at heroku – live blogging at qcon

Managing Millions of Data Services @ Heroku
Speaker: Gabe Enslein

See the list of all blog posts from the conference

AWS S3 failure

  • February 28, 2017 – AWS S3 outage – pager duty failed to give message
  • Down for about 6 hours
  • Heroku recovered before everyone went to bed (10pm Eastern)
  • Avoid failure by having failover strategies
  • Would have taken 35 years to recover if had to do all tasks manually
  • No Heroku customers lost any data

Concepts

  • Layers of abstraction simplify evelopment
  • Everything rus on hardware at some level down
  • Abstractions can hide real problem
  • Can be harder to reproduce problems
  • Can model many tasks as state machines – both deterministic and non-deterministic moels

“just” implies it is easy. Be skeptical. How easy to repeat? How often is “just”

Automate yourself out of a job – recurring and one off work

If haven’t gotten a heartbeat in a while, don’t know health.

States
Not all states used by all systems

  • installing
  • available
  • uncertain
  • unavailable
  • retiring
  • retired
  • archived
  • terminated
  • restart
  • upgrading

Check on

  • Backups
  • Replication
  • Security
  • Performance

Manual fixes can cause more problems than started with. Immutuable infrastrucure enforces the “just”. Script the exceptions; don’t manually tinker. “Break Glass” in case of emergency procedures still help. Modeling emergency remedies help so computer can fix when detects instead of waking someone up.

Infrastructure is code, not a second class citizen. Test it for functionality, performance and regression.

Then March 15, 2017, there was a Linux denial of service and admin escalation vulnerability. Needed to see none of the images were affected. Can fix image so customers get when start up.

Key Takeaways

  • Automate yourself out of regular operations
  • Have emergency automation in place – scripts, jobs, etc
  • Make routine failover strategies
  • Treat infrastructure as full units
  • Abstractions have their limits

 

on getting old(er) in tech – live blogging from qcon

On Getting Old(er) in Tech – Staying Relevant
Speaker: Don Denoncourt

See the list of all blog posts from the conference

Speaker is 57. In audience, nobody admitted to being older than that. About a dozen in their 50s. (I’m nowhere near 60. I came because I do want to stay in tech for my career so these problems will affect me someday)

Stats

  • Average of IT workers Facebook: 28
  • Average of IT workers LinkedIn: 29
  • Average of IT workers Google: 30
  • Average of all American workers: 42

Strategies to Stay Relevant

  • If best, have no opportunity to learn. Ok to work to be medium so learn from teammates.
  • If the best, find people elsewhere to collaborate/practice/learn
  • “Cubical dancing” – learn from everyone you work with. Ask different people for help. Learn from people who want to share.
  • Cross boundaries – Every time you fail, your brain gets stronger. You might not learn, but still stronger.
  • Challenge yourself – try something new; learn on own. Don’t want to be bored. Look at what is new on the horizon that need to jump into.

What to do if you are the best in your shop

  • Read code – compare to code of others
  • Join open source
  • Write blog posts – learn from writing
  • Speak at user groups and conferences
  • Discover technologies that other team members know more about
  • Mentor – learn from mentee’s ideas

Learning regularly

  • “10 years experience or 1 year 10 times” – can continue to learn in same job. But not everyone does.
  • “After doing 1 year 10 times, folks often lose the ability to learn”
  • Brain starts to lose ability after 30. Need to exercise it
  • Can be too late if stop learning
  • “Once you stop learning, you start dying” -Einstein
  • I plan on being in IT more than 10 years, need to beocme a lifelon learner
  • Perspective (for technologies): You are only as good as your last two years of accomplishment. After two years of pair programming, developers are roughly equal. Need to acquire new knowledge regularly.
    [this is a good resume point for people like me who have worked at one company a long time; highlight what recent]

    Learning types

    • Know your learnng style – books, videos, coursera
    • Remember that will learn most at beginning/end of learning session. Short bursts of learning help. Find short things to learn like Ruby Tapas
    • Go over material in muliple passes. Ex: multiple books on same subject
    • Mental pump – do something each day. Learn a lot when you graduate college and start working. Continue that.
    • Surge – blast of energy like pre-conference, pre-project launch, between projects, when job hunting. Take advantage of time and energy
    • Stockpile resources – keep track of books/bog/courses/videos people like. Keep conference/seminar videos. Keep newsletters. Then look at when ready/have time.

    Finding time

    • Use your commute time
    • Use your exercise time
    • Listen to podcasts or audio books

    On Getting Hired

    • Be up front about your age. Don’t color hair or hide experience made joke in application about knowing old tech and get guess age
    • Look and stay fit
    • Be interesting have hobbies
    • Take a cut in salary for new opportunities
    • Post code on github