Stats:

  • I have ~70 commits in the main branch after 3 weeks (this is a little high; a lot of them are one-line fixes to issues brought up in pull request review notes)
  • The codebase is ~18,600 lines of ruby (rails), not including tests. About 38,500 lines of test code (rspec and cucumber)
  • ~80 gems in use (including test-only gems) in the main codebase
  • 1 main codebase for my team, 3-5 other codebases that I’ll probably be working in semi-regularly

General thoughts:

  • One-on-ones every two weeks is nice
  • I really like being on a team and doing work and getting stuff done
  • I prefer Slack to HipChat, but having a universal internal-chat solution is the most important thing.
  • Weekly iterations + retrospectives + planning meetings
  • No standup is ever perfect
  • For me, keeping a personal private company-internal git repo of stuff (links, todos, etc) is really useful
  • I have made some dumb mistakes in pull requests and verbally. People help me fix stuff. Yay!
  • QA org separation is a little weird
  • Someone came by, told me to put on the cape they handed me, and pose for a photo. I did. I have no idea where this photo went.
  • I have had several brief moments of feeling defensive and overwhelmed. But then I ask questions and people help me and yay.
  • corpedia training Ughhhhh
  • Volunteering at Ocean Beach happened. Pretty good for a corporate volunteering event. Well-run.
  • No 1Password license?? :(

Some retro notes:

  • “We should a more automated way of X”
  • “I would have liked to [do educational thing] more”
  • “I like pull request feedback”
  • “I like that [me] is already shipping many stories!” Yessss
  • “I wish we had better story writing for new features” I think this is probably a universal
  • “I wish we could anticipate more issues at design time” Literally impossible to get right
  • “I like that we are tackling multiple big features at once” Capacity is nice
  • “We should have [useful thing]” Now we have the useful thing

Scattered notes:

  • World in cucumber
  • Foo.method(:bar) and/or method(:foo).owner
  • sanity spec to make sure that uniqueness constraints are in sync between rails and db
  • match ‘/csvDownload’ => ‘csvMirror#download’ # fake CSV thing that returns what is posted as a CSV #routes.rb
  • list constant values helper
  • File.stat(‘path to file’).atime
  • ‘data-‘ is a custom attribute that bootstrap can deal with (in html)
  • I wish the code style doc were not last updated two years ago; fortunately no one follows it (and yet there is a mostly cohesive style!)
  • “ensure_newline_at_eof_on_save”: true, // Sublime setting for ensure the last line of the file ends in a newline character when saving
  • Cool thing: configwizard (basically an easy-play UI interface to add permissions to a git repo)
  • There are a lot of servers that I should check that I have access to
  • Cool thing: “This form is for requests for use of the Personal Growth Benefit. If you are speaking at a conference, please contact MailingList to let them know. Speakers do NOT need to use their Personal Growth Benefit for the conference at which they are speaking.”
  • Yearly goals (and tracking them in WorkDay) is pretty ludicrous. TW did it better.
  • Working with coffeescript and cucumber tests (nice to learn better ways of doing things I’ve done before)
  • Tech Design docs collection on hackpad (internal) is prett cool to read (and I have written one!)
  • There’s always that one person who reallllly likes javadoc. Not my codebase, not my circus.
  • Feaure flags, man.
  • Everyone has their own git flow
  • I use Sublime; mostly everyone else uses RubyMine
  • Doing everything by pull request is probably pretty good for total code quality… maybe a little rough on developer relations sometimes though. (It’s harder to convey goodwill via written media than verbally- at least for me, so far)
  • Docker
  • status.io
  • Vimeo
  • I got told in a 1x1 that person X had mentioned that they were impressed with me so far :) :)
  • I asked a useful question in a planning meeting and it was cool
  • Outside of a little bit of physical-blerg probably caused by shady corn showder, I’ve been feeling unusually good for the last few weeks.
  • I like the office building we’re in (although it could be a little better about not requiring that bicycles use the back elevator)
  • caching
  • formalizing a non-deterministic ordering, whee
  • I used Urban Dictionary to politely redirect a conversation that I was feeling ehhh about
  • Betterspecs
  • Stickies.io for retros
  • see irb / rails console history: puts Readline::HISTORY.to_a
  • java-style enums in ruby enumerate it
  • diversity data
  • modernizer
  • Using Fuze for standup. Meh
  • There is a “working with git” guide that some other team in the org is using that I strongly disagree with
  • iPad builds are distributed via dropbox
  • I got simplecov stuff set up and it was cool
  • the ship it squirrel :)
  • $ git stripspace < filename
  • Pressing y when looking at a file (e.g. https://github.com/tiimgreen/github-cheat-sheet/blob/master/README.md) will change your URL to one which, in effect, freezes the page you are looking at. If this code changes, you will still be able to see what you saw at that current time.

Quotes:

  • “the idea is to not throw exceptions”
  • “I don’t know what value does…”
  • sad recent commit message: “fix to get tests passing”
  • “We were not able to deploy to prod today because we freaked out” # double checking stuff is good. I endorse this.
  • “try typing…”
  • “This fixes the issue with the weird exception, but that exception is being expected in other parts of the code:” # It’s ok, we fixed it
  • “My pov is that they’re not necessary so we shouldn’t use them.” lol win
  • “a bad hack with a good comment is acceptable. :thumbsup:” # pull request review comment
  • “I’d like to mess with it although I generally am all “WHAT ANOTHER MAILBOX TOOL AUGH” :) It took me like six years to switch from elm to mutt” (re: google inbox) <3
  • “is it still broken? i just did some merging”
  • ‘When I say “input,” you say “domain.” Then I say “output,” and you say “range.” Ready?’
  • “Analysis: (describe the technical root cause of what happened and why it happened)” “We didn’t think of [it]”
  • “You found a bug in stub_constant!”
  • “so it crashed, but log rotation restarted it”
  • “having a window seat is nice except when sunlight actually comes through it” #developerquotes
  • “if we can do everything correctly in the right ways, there will no bug” lol very true
  • “thanks for the help finding the 404, my princess is in another castle it would seem” lol
  • “I see the value of tests, but… “
  • “I have built pages, communities, groups, and I have met several times with the jive developers themselves. I have pored over documentation and apis. I have not found it to be an effective content or communication tool.”
  • “this is not making me want to code”
  • “Ok so my tests work but I am just omgbbq on how to name things any more”
  • “Thanks again to everyone who’s updated the spreadsheet. So far 7 kittens have been saved.” lol
  • “something was trying to log something”
  • “This is the chaos button. We are not responsible for what features are enabled while this checkbox is unchecked.”
  • “Actually we dont have paging set up for that (in UAT) … but in fact you did it correctly and we are still ticking along” loll
  • “#todo: implement test” awww :(
  • “If they want a decimal, they can have it.” lol
  • “guys good news, I finally figured out that time travel thing”
  • “cool, now you can bask in our staging data!”
  • “there are as many bad java packages as good ones”
  • “Magic comes back to bite us” AGREED