July 30, 2014

This was our first meeting in the new 29th floor lunch room at the New Relic office in Portland, up from the 28th floor.

 

Discussion topics :

  • Is wearable technology ready for adoption?
  • “Sexy Tech” (Node, go, Core OS, Docker, etc)
  • What defines a good interview question?
  • Conference Behavior
  • Human Speed
  • What is a computer (VM, container, cluster, etc)

September 11, 2013 (Justin’s Table)

(Thanks to Colin Dabritz for taking notes)

 

Misogyny + Bigotry in tech

  • lots of incidents recently
  • maybe some of this crossover from video games?
  • lack of professionalism in general
  • Are parts of the culture perpetuating a lack of professionalism?
  • Casual culture, you feel less ‘accountable’ but you are representing a company, profession
  • profession is young, no liscensure to revoke (e.g. you can’t be disbarred for unethical behavior)
  • Youth culture contributes

 

How much prediction making do you do?

  • Agile, so many unknowns can’t predict, so don’t. Manage and move.
  • Sales need targets, sometimes hard deadlines.
  • lost of people forget, can adjust schedule or features
  • Mcconnel estimation (book)
  • This is an exploration, research, not mechanized process
  • Predictions are dangerous, can become constraints
  • Predictions can be important to coordinate, can cause issues, why not buffer?
  • Just make the development team as productive as possible
  • Making predictions is natural, making promises

 

What kind of interruptions do you allow? How do you manage them?

  • git stash – temporarily ‘stash’ work
  • Kanban – focusing on the thing  you are doing
  • Feel about – “oh great, I’m accumulating inventory in my warehouse that’s costing me money”
  • (who fights fires this week?)
  • allow? can’t choose interruptions, distractions
  • (context switching is expensive)
  • (understanding management vs maker schedule)
  • (true fires, understand the cost)
  • (have a good product manager, prioritize properly)

 

How do you manage your brain?

  • Problems in work and life don’t always give you a choice
  • Do what you want to be good at, e.g. if you switch to managing that’s a shift, you will lose some dev ability.
  • Learning, practicing
  • Taking breaks (pacing)
  • Managing stress
  • Learn your rhythms, 90 mis is a magic number for me, give yourself time, find others who can handle your rhythm
  • Be mindful of the things you put into your brain (e.g. sources of news, how they make you feel)
  • your environment, habbits
  • surround with smart[er] people, choose your work, environments
  • exercise, diet, socialization
  • Space – space where it’s easy to access healthy things, exercise, standing desks
  •      – Avoid stress, ability to move and adjust, eat good food
  • Competitive can be stressful, but can also be positive, pushing you.
  • Stress spectrum, can be different kinds
  • autonomy, mastery, purpose
  • too comfortable, not exploring new things
  • sharpen the saw, be attentive, prioritize yourself and your brain, get coaching

 

Forward thinking companies

  • Have you heard of OKCupid? Was it because of the service, or the blog posts with data?
  • How is this measured?
  • Being trusted experts. (Unbounce)
  • Who do you think of as forward thinking? Company providing fungus that acts like styrofoam
  • Cellular level mechanism, nanotechnology, nano power generation in clothing
  • SpaceX
  • Used to think of google as a forward thinking company
  • Challenging norms
  • Code schools
  • Connecting
  • trying new things
  • Try to solve a problem that doesn’t affect just the privilege of the bay area
  • Companies that measure
  • Watsi
  • Do VCs and the startup industry promote this?
  • Pharmacutical companies, make or break on FDA approval

 

What’s hard or challenging?

  • Simple – to make or do simple things, always harder than the compacted.
  • e.g. quitting smoking. Very simple, very challenging.
  • Changing habits
  • Software – making it simple, elegant is hard.
  • Understanding the problem
  • Quick feedback loop makes things easier, long or complex feedback loop is much harder
  • People issues are a long feedback loop
  • People are hard
  • Department has “solutions” in the name, but uninterested in the solutions, much more interested in the problems
  • The problem is you don’t understand the problem
  • Starting with the wrong question, finding the right question
  • Exploring the landscape
  • Follow up, follow through, ideals
  • Doing the RIGHT thing now, vs the fast easy thing
  • Working in teams
  • Others perspective, doing the right thing for everyone
  • Being ethical for all stakeholders
  • The unknown unknowns
  • Missing pieces, missing requirements
  • Communicating ideas, sharing vision
  • (Vulnerability, taking real personal risk)

 

Learning Center

  • making a space where learning happens
  • Where existing engineers can mentor, and improve their own skills
  • Book: The quick start guide to the five years of accelerated learning Willem + Diana Larsen
  • First thing you do is take care of peoples basic needs (comfortable, fed, relaxed, welcome)
  • Mix between – solid, things aren’t moving, not a good environment. gas – chaotic, moving too much. Liquid – move enough
  • Zone of proximal development
  • Whiteboards – Whiteboard paint (“winking”)
  • What makes a learning environment welcoming?
  • What motivates people to learn?
  • Parents sense of expectation was a big driving force in undergrad
  • Suddenly having to come up with intrinsic motivation was hard
  • Book: “Confessions of a buccaneer scholar”

 

Programers are to sysadmins as doctors are to surgeons

(missed notes here)

 

Vacation – do you check-in or not?

  • “what is a ‘Vacation'”? (sarcasm)
  • What types of responsibilities does your job have?
  • If you’re at a job/company
  • (lost notes)

September 11, 2013 (Dan’s Table)

When do you prefer to test?

  • TDD
  • Testing used to be an entry level position
  • Testing has become a senior level activity
  • Testing increases the understanding of the code
  • Every bug in the code will eventually be found.  You want a tester or a test to find it rather than a customer.
  • Tiny little testable steps
  • Focu work on a small unit
  • Always move forward
  • Deliver features vs Deliver Quality
  • You get what you measure.

Learning to talk while programming

  • How do you learn to communicate
  • Pair programming is experiental.  People get frustrated if it doesn’t pay off immediately.  (much like riding a bike)
  • Can you pair with somebody you don’t like?
  • “Code buddy”
  • Must self-select your code buddy
  • Conflicts can cause big trouble
  • Mature developers have habits and skills which they have learned over time
  • Stereotype of programmers: late nights/pizza
  • working alone lets you conceal your weakness
  • Egoless programming
  • when you pair, problems that confuse both people are immediately visible as serious problems
  • One participant can tune out

What makes a graph feel “live”?

  • What does “live” mean in context?
  • Drill in (nagios)
  • Google street view
  • Responsive UI vs live data
  • Travel sites which take a while to search
  • Convention in TV and movies: displays always have text which is updating (2001 screens, Terminator)
  • As things get slower they get harder to think about
  • Attention span
  • latency
  • Graphs that update
  • Weather maps
  • Interface vs data

Executable instructions

  • Instead of documentation about how to do something, how about a script which is executable and readable?
  • Need a language that is executable and robust for human to human communication
  • Chef
  • Avoid a “Wizard” – leads to no understanding of how things are done
  • Smalltalk let you have “Run” as part of editing

New iPhone

  • New UI
  • Buttons were not present but came back in in later betas of iOS7
  • Flat UI: Windows 8 phone
  • Skeumorphism
  • Change for change’s sake vs improvement

Presentation of one’s self (Facebook vs LinkedIn)

  • Different venues, different expectations
  • work/life balance
  • How does Twitter fit in?
  • Credibility/trust must be earned
  • Context
  • Not everybody has a FB acct

Resources for learning about agile software dev

  • XP pocket guide
  • Thin books aren’t intimidating
  • Find books that you like, look for “people who bought this also bought” on Amazon
  • Books leave out failures, sound like every project is successful
  • c2.com wiki
  • “less wrong” web site

What makes programming problems fun?

  • like solving a puzzle
  • Sudoku solvers can be more fun problems than sudoku puzzles
  • Fun to not work within an existing codebase
  • “That’s what I do for work”
  • Demonstrate mastery
  • setting own goals
  • refactoring?

Best invite to LC

  • Bring a great idea for people to explore
  • Friendly people, coffee
  • exercise for my brain
  • light switch (or lens) for your thought process
  • thinking about metacognition

August 14, 2013

Who is worth following, and how do you know?

– Who is saying original things?
– Curators are still valuable as navigators
– People who rephrase and clarify can be valuable too
– similar problem to cites in academia

What non-tech skills make a team work well?  How can you encourage them?

– Some people seem to “smooth out” the team
– Can you self-disclose?
– Know when to trust
– Responsiveness

Having a concrete job offer vs deciding to wait for better?

– Are you finding your next job, or are you finding the last job you will ever have?
– Define “good enough”
– Know where you want to improve
– Will this job help you achieve a goal?
– Geography?
– Hiring bonus?
– research on glassdoor, etc

Organizational Antibodies

– Sometimes people resist change as a defensive measure
– Sometimes people are upset because their cheese is being moved
– Some antibodies are appropriate
– Governance is a common antibody to resist agile

Hiring senior vs jr developers

– Fresh blood
– fresh perspective
– can help in succession planning
– Give people responsibility then live with them.  Struggles and failure are great teaching and learning opportunities
– “Junior” is not “cheap”.

AgilePDX community building

– How do we build a community?
– Why do we build a community?
– networking
– meet outsiders
– movers & shakers vs watchers
– The “in” group is it’s own worst enemy.

Balancing Creators & Elaborators

– Code that shows an idea vs code that we can depend on
– Deleting code can be a great embellishment
– Pair a creator with an Elaborator, can enrich both
– TDD can help to creators to work together

Architecture and Culture

– Conway’s Law
– Can you use architecture to drive cultural change
– sometimes you need to hire a contractor who is expert in where you want to be

Working with allies outside of IT (HR, Facilities, etc)

– Go to them early, establish communication
– People don’t know everything that others do, don’t know how their needs impact other departments
(Facilities will have time & budgets, HR doesn’t realize how long it takes to do pert reviews, etc)
– See what other’s objectives are, see you your needs can help them achieve their objectives

How many reverts is too many?

– Be bold
– Knowledge emerges
– What moves you forward?
– What gets in your way?
– Tolerance of mistakes
– Maybe too many things are in flight
– responsiveness
– service recovery vs service consistency