Blog Archives

Railsconf 2015 – Being a human, Atlanta, Race and community

This is my third RailsConf, having attending them in Portland and Chicago.  I have found the Rails community as mostly open, people generally easy to ask questions off, and a good range of talks.  Railsconf are well organized conferences, they feel professional and evolve each year.

Rails conf

This year the courses seemed to concentrate between the beginner and the intermediate with occasional spikes into the advanced.  A lot of the course titles were a little abstract and thus encouraged you or discouraged you (depending how tired you were) from reading the actual description.

It was noticeable this year the number of women that attended (i.e. a larger number) and equally notable how few Blacks there were attending the conference.  There were a lot more talks about how software developers are human and soft skills.

The main thing I get from the conference is the people I meet, the conversations I have, the things I learn from attendees.

Keynotes

I felt all four were really good and worth attending and worth watching when they become available.

DHH Rambled a bit, but got to a good point that Rails is a backpack to build a medium sized company like Github or Shopify.  He took on the criticism about Monolith architecture and termed the phrase Majestic Monolith and ‘integrated systems’. Again this created some great lunchtime and evening conversation.  We also talked about two features in development for Rails 5 Turbolinks 3 and Active Cable. His talk.

Sarah Chipps talked about her journey.  I love that she gave up part of her talk time to some students and their journey to coding and drones.

Aaron Patterson did his usually trolling and then talked about the areas he is now working on – some great stuff on controller and integration tests. I love that he walks us through the process, I learn each time he does. His talk.

Kent Beck did an amazing talk about what he had learned over the last 10 years about how to be a developer at “ease”, not lazy but productive, challenged and accountable. His talk.

The Confreaks railsconf 2015 youtube channel has these talks in them. And they have their own list of talks here.

Talks

I found that day two and day three had more topics I was interested in. Here are some of my favourites:

1795499_10155456889030545_4691949337144728183_n

I heard some good things about:

New things at the conference

Rails core team

Each year the conference improves 🙂 I am impressed with how well organized overall the conference is for a non-profit organization relying on volunteers.

  • The theming of topics was really good and helped participants navigate talks
  • The Rails core team talk was very informative
  • Having many big boards with schedule on, was great
  • Having a mobile app was very useful
  • I think the notice board was a lot bigger
  • Lightning talks had a lot of talkers
  • Separate page for sponsored parties.  It would be good to have this one page for all the after parties.  Often they get booked really quickly but only the people in the know.

11188303_10155456889290545_2428863269288886589_n

11169786_10155456889405545_5336339072540946363_n

Old Things and still good

Scholarship

Railsconf has a scholarship scheme which gives free tickets to a number of people who are coming to the conference for the first time and might otherwise be able to.  I love this.  I was a scholar in my first year and have being a guide in the last two.  I think Ruby Central is awesome to provide this.Lightning talks list

Lightning Talks

Are a great way for people to try out presenting or were not able to be fitted onto the whole schedule.  I would suggest moving this to a morning, they are good but often get tagged on the end of the day and maybe a little tired.

Guide

This was very useful with both the schedule and the map. Meet the team is a nice touch, maybe add what role they are playing at the conference.

Labs

I loved this, I feel having more would be great, I suppose I miss the fourth day!

Venue – The Mart

Of the three RailsConfs I have attended, this year there was either a lot of noise pollution (e.g. Bang Bang, or the equivalent to a freight train going over your head).  In the main room there was a lot of echo, if you managed to avoid the really big pillars.  In the smaller rooms, there were several issues with the projectors not being powerful to counter the lights and no one knew how to turn the lights down. All of that said this was the best WIFI hands down.

Sorry this was not a great venue.

many people

Food

The first lunch was a little light. The second and third lunches were really good. The snacks were all gone by the time I got there, though there was fruit 🙂

Was it worth the trip?

Conferences are essentially a social experience, as most of the videos/decks appear online, thus the most valuable part is the people I meet at conferences. I wonder what the future of conferences is, with all the content being streamed, will they become totally virtual or in fact will they become more social.  The problem with big conferences is that you can get comfortable with sticking with your team or people you know and not meet new people. For me this is what I get:

  • I meet new peers and mentors
  • Discover new perspectives
  • Discover how others solved a similar problem
  • Share what I know and become a useful part of the community
  • I can ask questions in talks to clarify my understanding
  • Sometimes a talk will teach you something new, or you learn to communicate something complex in a new way or you realize that you know this topic.
  • Find people you want to work with
  • It was not my favourite year for talks

But I am an extrovert, I will actively introduce myself to a lot of people.  That said it tires me out!

This year I sent three people and myself (from Vancouver, BC). There were some great talks, but more average talks then I had seen in the past. I feel the social aspect is one of the areas we could evolve and make the conference even better. It is also what I think will keep bringing people back. For the social members of my team the conference was good, for non social the talks were not compelling enough on their own this year, in part due to the level of expertise and in some cases because of venue distractions during the presentations.

Team

Ideas for next year

Its not just our code base that needs to evolve and grow, the conference does to, here are some thoughts/ideas/suggestions that may improve the experience.

1. Making the conference more social

You can see all the talks online, why attend if not for the social aspects?

  • Publish the attendance list. As people register, ask them Name, Company, Title, length of time coding, and what they want to get out of the conference.
  • I suggested a couple things last year in my rails 2014 blog and rails 2013 blog 
2. Upping the quality of the talks
  • Coaching for first time talkers, from communication experts, education experts and experienced presenters (I will volunteer for this)
  • Learning style guide – help speakers think through the styles to make easier for all to absorb
  • Feedback for each talk by participants to be fed to the speaker, this would be great in mobile app
  • Room instructions – How do I turn lights down/up, who fixes the projector
  • Pretest room for computers and projectors
  • Hands on masterclasses and workshops with very experienced people like Metz and DHH
3. Interview DHH

This would be even more fun if it was Aaron Paterson who did it..

4. Grow the conference committee to include people who have sole responsible for:

Scholars champion – Have a person own this and evolve it each year. Make sure there is a table that scholars can go to and make sure they have space to see the keynotes, check on the beginners track to ensure the content is actually beginner friendly.

Connections champion – Work in ways to help other newbies/lone travellers meet others. Be the person who can introduce people to other people.

Presenter Experts Volunteer Pool – Ask the community to apply to help out first timer presenters and those that would like a sanity check pre-conference and in-confrence.

5. A non interruption space and a “singles” want to meet people space

Most of us occasionally need to work/code get shit done.  Maybe we could have a space when we have power and can code without interruption or sound sshhh. And then another space where I will code/play/experiment but happy to be meet people, in fact please interrupt me. Its kind of like a singles bars, in that it is easier to approach people, making it a bit easier for all.  You could have board with I would love to speak to people about x and here is my twitter handle (in case I am not in the room at the time you step in).

Atlanta

Great food and calming accent.  I also visited Martin Luther King jr. centre and Human Rights Centre were emotionally overwhelming as well as educational.

Race

Martin Luther King jr.

There was a stark contrast between the Race of the attendees of the conference a lot of white and some others, against all of the people who served the food and drink who were Black.

Rosa Parks

As a community I think we are welcoming.  Bootcamps seem to help those with money.  Ruby Central offers scholarships (reduced ticket price to free) for all minorities and those with little money, which is awesome.

I feel the lack of certain communities in software development is not just a Rails/Ruby problem, but wider.  I wonder what we can do as a wider community to add more to our diversity? We are after all in the hometown of Martin Luther King, Jr. Is it an issue of poverty, education, role models or something else. How do we make it better? If there is a software community that could consider this and maybe make it better – I think it is the Rails community…

Roles people play

railsconf 2014

Chicago

Overall I enjoyed this conference more than last year. I am now 15 months along my journey into Rails/Ruby.  I considered whether my enjoyment was because I understand a lot more rails and ruby, of course that is a part but not the only part, the people, the sessions and Chicago all made a contribution.

There were many amazing talks, good workshops and I met a lot of people.  I thought all of the keynotes added value to my thought process.  My favourite talks were from Sandi Metz, Sam livingston-Gray and Adam Cuppy.

I am adding all the resources I find to the bottom of this post, including photos I took of the job board.

You can find the keynotes here http://www.justin.tv/confreaks/videos and here is an amazing set of photos from railsconf https://www.flickr.com/photos/justingordon/sets/72157644405839722/

Be warned I will keep updating this page! Agile page production 😉

Prequel – The day before

Getting to Chicago I flew in from Vancouver, BC.

Guide and scholar

Last year I was a scholar so I was given the opportunity to attend for free RailsConf 2013 because I was a student and a newbie to rails.  This year I wanted to help a scholar and be a guide.  This started the night before the conference starts where you are matched with your Scholar and you get to know each other.

After we headed to Howells and Hood, couple blocks away it had over 100 beers on tap.  Jeff Miller (from Enova, they are hiring) also bought us a couple rounds of drink and introduced us to Enova the company he works for in Chicago.  The drink and debates were passionate, we talked about each others path to Rails, where juniors can get jobs, the things you should learn at the beginning of your career, tech interviews and who was employing juniors.

Day One – Tuesday

Breakfast, apparently the most important meal of the day. We found Yolks a good breakfast place which was located just a couple blocks away.  It had a great menu.  I ended up eating breakfast with a couple randoms and a team from (NextGear Capital).  I was impressed in the diversity of this tech team and they are on a hiring spree.

Yolks, Chicago

DHH keynote

I enjoyed the talk, he was passionate, direct and funny. I am also a believer in free and open speech, though there are topics that challenge this belief such as hateful on sexist/racist/homophophic. This talk was none of this but it did challenge the “common way of thinking”. I wonder if he opened too many fronts at the same time?

“The TDD experiment has failed, it just makes us all feel guilty, but tests are important but they do not have to come first”

I have to say I am happy when I see tests! They are not as common as we would like to think.  It makes it easier to understand, refactor and onboard new people. But DHH really was talking about the need to do it first and when done so could lead us down some architectural choices that are maybe to helpful for the overall plan. His analogy of guilt and diets in describing TDD was very good.

“We are software writers and only occasionally software engineers”

I like the analogy of being part software writer, it makes me consider more seriously the need to refactor your code.  When I write emails, I often get the main points together and then keep editing and deleting.  This comment made me reflect on not thinking of them as two separate “things”.  As someone at the beginning of their software career this was a helpful analogy as at this time I have written a lot more English than Ruby.

I also wonder if it makes access for women easier?  I read a good study – Breadth-Based Models of Women’s Underrepresentation in STEM Fields – An Integrative Commentary on Schmidt (2011) and Nye et al. (2012).

Relative strength of math and verbal abilities and interests drive science, technology, engineering, and math (STEM) career choices more than absolute math ability alone. Having one dominant aptitude (e.g., for mathematics) increases the likelihood of a strong self-concept in that domain and decreases the likelihood of equivocation about career choices in comparison with individuals with equivalent mathematical aptitude who have comparable strength in non-math areas. Males are more likely than females to have an asymmetrical cognitive profile of higher aptitude in math relative to verbal domains. Together, these two points suggest that the academic and career pursuits of high math ability males may be attributable to their narrower options among STEM fields, whereas females’ more symmetrical cognitive profile means their math and verbal interests compete in the formation of their ability self-concept and, hence, in their broader career choices.

My take away is we are in a competition, with other careers to encourage women to join us in software development.  If we are open to new ways to think about ourselves, this may or may not help.  Just a thought..

I wonder if this (the wider use of titles) is a good way to introduce different types of software builders into our community?  After all with all these bootcamps, new types of people will join our ecology, what will they have to teach us and how do we support them?

I think we need different type of software builders on the team and having at least one computer engineer/scientist is an essential  foundation. I should declare my undergrad was Computer Science. In my experience with teams, diversity is generally a good thing. Some of the best developers I have met do not have a background in Comp Sci degree, but instead have a Music degree. I also find teams with a mix in sex and culture are able to solve the bigger problems faster.

The better the readability/eloquence of our codebase will make on-boarding far easier for junior and senior alike. And if there are tests too, on-boarding becomes even easier!  We need the artists and the scientists. After all the ruby/rails community will have to include a lot more people to have a healthly ecology.

Simplifying Code: Monster to Elegant in N<5 steps by Tute Costa (@tutec)

This was a good workshop and started really well, working through five of the refactor patters.  I pair coded with my scholar. This was fun to help her understand more fully each of the steps. And in teaching you learn better ways to explain abstract concepts..

 http://www.slideshare.net/tutec/simplifying-code-monster-to-elegant-in-n-5-steps

Lunch

The hotel is right on the river/canal it was good to get some fresh air. I learned that Chicago dyes its water in the canals to get the green colour.

Ruby Coding Dojo by Carlos Souza and David Rogers

Here I stole a hour of this workshop (workshops covered the time of several sessions) before I headed for the next session which I wanted to see. The thesis was that practice was essential for software builders, just like it is for sports people and musicians.  That they spend more time practicing then actually doing.  They use the Dojo as a way to practice their code. Not too different from Ruby Koans idea, but they showed it as pair programming.  I like it 🙂

Concerns, Decorators, Presenters, Service Objects, Helpers, Help Me Decide! by Justin Gordon (@railsonmaui)

I think he needed more time for this talk, this would have been a good workshop.  He gave a scenario and then a solution.  This was very helpful.  His notes are comprehensive and he has included all of his slides with a repro and a branch for each example.

https://github.com/justin808/fat-code-refactoring-techniques

Mutation Testing with Mutant by Erik Michaels-Ober (@sferik)

A good and clear talk. About the use of Mutant Gem which tests your tests

https://github.com/mbj/mutant

Keynote – Farrah Bostic

This was a funny talk about some of things we may have forgotten after a couple years as a developer. She believes that a customer-centric approach is essential to designing innovative products and services. I am paraphrasing some of her thoughts:

Professional obey the laws and amateurs break them

Be nice to one another, take the time to explain to other non-developers. Stay inclusive welcome people to your community. Do not become like the Java or PHP community.

Are we approaching a code inequality, where it is good for you to be a senior and me a novice? Is it a goal for me to keep you in a position as a novice

Structure inequality is a bad thing for our society. Inequality creates fear.

Technology is in a magical place.  But are we talking about good magic or the dark arts? Or people who will be tolerate of us muggles and be nice to us and not scare the hell out of us and this “evil” technology. The question I have for you is whose side are you on? The Dark or the Light?

Your opportunity is to become customer centric coders.

Keep the good intentions and match with good behaviour, this is what attracted me to the rails/ruby community

No empty read me docs

If community/team matters to you will be surprised by this talk http://www.justin.tv/confreaks/b/522183251

Dinner discussions

As often happens a random group of hungry people got together at the end of the day to eat. Our group was a mix of sex, companies and levels.  A number of the scholars(novices) asked why are there no junior roles advertised.  Comments included:

  • One senior asserted that he felt other seniors were scared of loosing their “prize” position of being able to claim high wages and move jobs easily if they wanted to.
  • Another felt Seniors are lazy and do not want to take on extra “human” work load, of coaching a junior.

It started a passionate debate which was good to hear. We talked about GitHub and is it sexist?  We of course we talked about DHHs talk.

Day two – Wednesday

Yolks 2

Yehuda Katz keynote

Why we abstract and reduce complexity

  • We are not unique, we want the same things, we tackle the same problems
  • Software development is not a science
  • Laws are not good things
  • We build on abstractions and makes us better
  • Shared solution, we build progresss
  • It’s all about managing complexity
  • These tools allow you avoid complexity
  • Start at level 23 rather then 6
  • Area of experimentation (new levels) are where the debates are had and then it will become part of shared solution
  • The higher stack the less complex work
  • Rails has succeeded in building our stack out, it has reduced the complexity, it allows us to concentrate on the business

Deploying Rails is easier than it looks by Ben Dixon (@TalkingQuickly)

This was a good introduction to deployment of a Rails stack to a VPS.  Ben has a book Reliably Deploying Rails Applications

His stack was:

  • NGinx – web server
  • Unicorn – app server – zero time downtime
  • PostgreSQL – database
  • monit – monitoring – its tiny
  • chef solo + knife(Server Provisioning)
  • capistrano 3(Deployment Automation) rake app

Reading Code Good by Saron Yitbarek (@saronyitbarek)

Form a reading club to regularly read ruby code.  Her presentation had great visuals and also a way to spend up your learning of Ruby.  Whilst her talk was aimed at novices and juniors.  “Book Clubs” are a very good way to explore management/leadership and frankly any topic.

Panel Discussion: The Future of Rails Jobs by Obie Fernandez and Panel

A couple statements from the panel:

  • Employees are more interested in the team, and product over money
  • If you are junior apply to any level of post, smart people match on personality and the ability to learn
  • Average pay for intermediate 80,000 to 90,000 US
  • Fear of too many bad skill levels due to boot camps

Tricks that Rails didn’t tell you about by Carlos Antonio da Silva

I did not go but heard good things

https://speakerdeck.com/carlosantoniodasilva/tricks-that-rails-didnt-tell-you-about-at-railsconf-2014

How to be a Better Junior Developer by Katherine Wu (@kwugirl)

This had some interesting perspectives about the approach you should take with the rest of the team. How to use your skills as a non developer to support the developer team.  But stay on target to become a developer.

Panel: Teaching the Next Great Developers by Noel Rappin

This looked at different perspectives of how we are currently educating the next generation of rails/ruby developers i.e. bootcamps.  It covered the lack of developers.

If supply does not meet demand, demand will go elsewhere.

This comment stuck me with and a couple stories were told about funded Startups unable to recruit rails developers choosing different stacks to build their “stuff”.  I have encountered this personally as Rails developers are too hard to find, a few companies have asked me would I consider learning Node.js.  I will have to explore this further. Jeff Casimir @j3 had some great comments:

If someone asks you to code on a whiteboard, ask them how to do I run tests?

If your company does not spend time bringing in junior/apprentice devs they are going to lose.

After there was much conversation of the Bootcamp phenomenon.  A good number of the Scholars for this years conference had come from Bootcamps some with lengths of 2 months others 3 months.  There were a good number of strong opinions of this phenomenon, I share a few of these here:

  • Some feel that bootcamps are producing a “novice” level of software developers, not yet junior
  • That some feel that these bootcamps reduce the quality of the rails community
  • That the bootcamps with a certain apprenticeship of least 3 months are the best
  • That some exaggerate their “employment” opportunities/success and it should be measured if the boot camper is still in their job 3, 6 and 12 months later.
  • That some bootcamps are filling up all the “junior” spots in companies leaving non-bootcamps juniors grasping for straws.
  • Some companies are cycling through 3 month apprenticeships
  • Some felt they could reduce the pay offings as they “flood” the market.
  • That the quality of bootcampers is very mixed
  • That bootcamps are bringing more women to our ecology
  • That with the standard tech interview most bootcampers fail due to lack of understanding of Algorithms, Data structures and use of Ruby.
  • That we build frameworks, to handle complexity, Rails should bring people in who should not need to be a computer scientist.
  • That they exist because the education institutes do not teach Rails/Rails, leaving the only option to learn with others being bootcamps.  With startups and business driving the demand for rails as a fast prototype framework.
  • Some felt it was a good thing and whilst painful for the community, we will evolve/adapt and it will help the community step up in numbers and mature.

Evening

Chicago Diner – Great vegan food.  No I am not a vegan, but this was the best meal I had this week. You should go!  Then we hunted down an Ice cream shop, Margies felt like going back to 1921, BIG helpings

Margies

Evening discussions

We talked about our journeys to rails this was interesting most had come from a different background i.e. not computer science. From the people I met at the conference about 50% were actually from a Comp Sci background (A good chuck had also dropped out).  Most told me one of the strongest reasons they choose Rails/Ruby was the community and how helpful they were.  The journey seemed to be Rails and then fall in love with Ruby.  We also talked about our worst tech interviews, wow I thought I had some interesting experiences.

Day Three – Thursday

Comedy in software – Baratunde Thurston (@baratunde)

Without a doubt the most humorous keynote and the message was do not make boring software, find ways to be unique and humorous with it. Use your error messages in a fun way. If you need a bunch of good laughs you should watch this keynote

Cultivatedwit.com

All the Little Things by Sandi Metz (@sandimetz)

Without a doubt the best talk at the conference.  Essentially she took a long IF/ELSE monster and converted it from procedure to real object oriented code.

  • Small methods are good
  • Refactor large if statements into case with methods
  • Tolerate duplication until you find the right abstraction
  • Squit test – look for bends and see types are near each other
  • Are you going to write procedures or trust objects?
  • Inheritance is good when it is, shallow and narrow and for leaf nodes
  • case is for business logic, not choosing classes.

I need to read Sandi Metzs’ book she is also currently writing a Rails book, here is the keep me informed email page.

Pair programming with my scholar

She had a blog setup but could not get her CSS to work and was confused about the different stylesheets what they met and when to use them. And what are all these extra extensions are e.g. erg and scss. And she wanted to get bootstrap up and running. We covered

  • Assert pipeline
  • File name extensions
  • What is sass and setup up some variables for her colours
  • Quotes the difference between ‘ and “
  • Bootstrap
  • First bootstrap button

Let the drinking begin

Happy hour in the exhibit hall, this was good but lacking due to no seating.  Which just encouraged us to go to Code climate drinks 🙂

Caipirinha

Day Four – friday

Taming Chaotic Specs: RSpec Design Patterns by Adam Cuppy (@codingzeal)

Frank this was an awesome workshop.  I learned a couple really good things from it.  A really backed room.

  • Pattern 1: start from minimal valid object (test to true)
  • Pattern 2: control values with ‘let()’
  • Pattern 3: Permutations using ‘context’
  • Pattern 4: Descriptive naming
  • Pattern 5: Extracting common behaviours

Pattern five was a real eye opener 🙂

https://github.com/CodingZeal/skinny

Tales from the Crypt by Aaron Bedra, Justin Collins, and Matt Konda (@abedra @mkonda @presidentbeef)

This was sketch where the team walked through a bunch of security issues. I think I have to watch this one again on the video and take notes this time.

Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies by Sam Livingston-Gray(@geeksam)

http://www.cs.colorado.edu/~ralex/papers/PDF/OOPSLA06antiobjects.pdf

This was a beautiful talk.

Key note – Aaron Patterson (@tenderlove)

A homourous round off by Aaron, with some balance to DHHs’ talk. You need to watch both DHHs’ tale and Aarons’ to fully enjoy. His thrust was in part that we need science in our community. Concluding with his 3 years of work on Adequate Record essentially speeding up, by 3 times certain ActiveRecord queries. His last act was him merging/pushing his amazing work.

Conference Reflections

The conference was well run and organized. There was some great speakers, great debate and lots of awesome people. Thank you smile

  1. First day novice track– There should have a newbies/novices track i.e. next steps for boot campers on the first day.  Maybe with the 10 things from computer science you need to know, or how to use Active Record, or The 10 differences between a junior developer and intermediate, how to survive tech interviews.
  2. Get the community informed earlier – Maybe next year the rails conf team could state that they are interested in building a couple tracks and ask what “we” think should be in the track. Lets move the conference from waterfall to customer centric Agile 😉
  3. Find out what we(the community) needs – Have a way to vote on topics, and then advertise them and take offers.  I think that either the way the rails conf team should get to decide, rather than a popularity vote, but new ways of engaging people in what topics and what workshops, I think would produce some interesting results.
  4. Level Tags – Hacking rails was delivered as a junior session.  Maybe it would be worth considering adding tags to each session stating the levels that will be covered. The Novices track without a doubt had greater percentage of woman in it.
  5. Keeping our community “good” – Maybe we should have a community track next year, if this is one of assets how can we keep it, evolve it and stay welcoming.
  6. Humour – It was really smart to have the humorous keynote on day three today, it gave me energy.  I am also going to build a resume, to help me find people I want to work with based on their humour.
  7. Food – The food, it was well, meh, with the exception of the last day. For snacks please consider nuts and fruit, less of the sugar crash afters.
  8. Space – Some of the smaller rooms, felt very packed and lacking of air.
  9. Jobs – A bigger jobs board and maybe one for people looking for jobs.

T – Shirts Competition

For those who have not being to railsconf, most of the companies in the exhibit hall stands have free t-shirts to give away.  They always run out of XL so there is a rush (unlike the gold rush). These are the T-shirts I would wear after railsconf.  I like them because the material is soft on my skin and the logo/text/pattern is interesting to non-developers and developers alike.  Those just with their company name are a FAIL.  I don’t mind advertising your company if it is comfortable and smart. New Relic = Datalution, Rackspace = Keep calm and code on, Sales Force = Achieve and of course railsconf 🙂

IMG_1628

A weekend in Chicago

I stayed in a hostel (The Chicago Getaway Hostel), great place has a lot of events.  The first night I went on the pub crawl and met three other railsconf attendees who I had not met before. The next day I slept and coded and then onto another pub crawl and met still more railsconf attendees 🙂 Had a great Chicago pizza at Chicago Pizza and Oven Grinder Co

Chicago Pizza

Other resources for Railsconf 2014

The job market

The ruby job market

The job board

rails2014 - job board 1railsconf2014 - jobboard 2railsocnf2014 - jobboard 3

railsconf 2013 – ruby-on-rails-conference

[updated]

Here are two place you can get the videos for the talks

There is nowhere to learn Ruby or Ruby on Rails in Vancouver, BC, unless it is a book or online. I like to learn with others. I even pushed it at BCIT and asked at every level..

So I decided I would kickstart my journey with railsconf.  This was my first Ruby on Rails conference. I was honoured enough to win a scholarship, (I am a student at BCIT )to attend the conference (which paid for my ticket).  The rest is my pocket and vacation days. I just view it as a vacation 🙂 And I need to buy jeans.. My level of Ruby on Rails knowledge is really low in fact up to chapter 6 of Learn web development with ruby on rails pre-confrence.

Badge

Sunday

I took a AMTRAK train down from Vancouver, BC to Portland, WA. It made sense train, rails.. Its a seven to eight hour journey. My theory here was I would be able to do some more study on the way down. There I bumped into about 8 others travelling down from various companies to railsconf. I got very little extra work done.

Scholarship meeting up

Sherpas

This was fun and warm meeting of other scholarship winners and sherpas.  My sherpa is Sam @geeksam . I got to meet some of the other ‘scholars’ a real mix of backgrounds and personalities .  It was good to have some friendly faces (Chuck and Miles were really helpful) in a crowd of  1500 people.  We agreed on a hashtag #rcguides.  Lots of passionate conversation was started, about how people got into rails… but we finished early. So my first night I went on a beer crawl with the hostel… I know where I went from my credit card payments..

Day 1 -Monday

There was a lot of talks to choose from, and this will be my journey through the schedule.

I need sugar

The opening Keynote was by David from 37 Signals (Rails was created out of Base Camp, which is built by 37 Signals).  His vision was that Rails should concentrate on the document driven web apps not the “GUI” e.g. Google maps. Rails 4 is about speed.  His talk led into some good explanations on how the caching is working in Rails 4. Some cool stuff.

Rails Confrence

How a Request Becomes a Response

This was part of the intro track, designed to educate newbies about the Rails framework and the community. A quick and easy introduction starting from the browser through to the database and back. It was really basic but very well presented.  There are a number of sessions on the intro track that can be found here http://www.railsconftutorials.com The wifi did not work but a smart person had a USB stick with the needed code.

Nobody will Train You but You

This was a funny and helpful talk by Zach Briggs @theotherzach, for those wanting to step up their game.  His talk showed how he managed his first year of learning ruby on rails.  His suggestions including writing down solutions he found on a piece of card.  Build up some katas and practice them, until you can do them without any reference to anything out. He suggested visiting a couple sites including Sucks rocks, Destroy all software by Gary Bernhardt.

Monitoring the Health of Your App

Presentation by Carl Lerche and Yehuda Katz stating that the average web response time is a stupid way to measure your app by.  The real world is not distributed normally. Web response are long tail, not standard bell curve. They have being working on a product to solve this problem and help rails app creators to track down the issues.  The product they are working on is at https://www.skylight.io

Rails’ Insecure Defaults

A most excellent presentation by Bryan Helmkamp @brynary (founder of Code Climate). Here are the problems and and here are the solutions and here is what rails should change. Bryan is pulling together a free ebook you can signup here http://railssecurity.com

Issues discussed:

  1. Verbose server header
  2. Binds 0.0.0.0
  3. Logging SQL values
  4. Versioned secret tokens
  5. offsite_redirect
  6. #link_to_javascript
  7. SQL injection
  8. YAML serialisation

Sherpaing

Taking a break for sessions I decided to get to know some of my fellow attendees and spend some time working through a problem with Sam (my shepra @geeksam).  I wanted to see how he broke down a problem and how he also read other peoples code. I learnt a lot.

Closing keynote

Michael Loop @rands was funny, insightful and argued the need for the Stables and Volatiles (personality types) if an organisation is to survive and flourish, his thoughts that were the meat of his talk are laid out here – http://www.randsinrepose.com/archives/2012/11/14/stables_and_volatiles.html.  What bookend or overarched, his talk with however, was a very important point – that we as a community have to be progressive, and that occasionally means leaving old stuff behind.

Space

Reflection on the day

Awesome day. The conference food was good. I love how friendly the people are. How they will take so much time to listen and suggest. Kind of reminds of the early days of Apple that friendly community that is comfortable in taking on the world but is also open minded to listen. It surprises me how many Mac Book Pros I see everywhere, the only people who seem to have PCs are government employees! The venue is awesome there is space for everything, and I mean space to code, to chat. The WIFI is awful, really awful… The conference food was good. In the end I think I met about 50 people and introduced a bunch of people to each other.  All the nights events were fully booked and a bunch turned you away. To note for next conference book all the evening stuff ASAP..

I learned about the rails community and rails itself today and I liked it all 🙂

Day 2 – Tuesday

Breakfast at Mothers @MothersBistro 

breakfast at mothers

Keynote – Yehuda Katz

Spoke of the importance of including Javascript in your architecture rather then using it as a “necessary evil” patch on. Good sassy talk.

TDD Workshop: Outward-in Development, Unit Tests, and Fixture Data

I went to this workshop but they had so many problems with setup, lack of internet access that I left. That said the notes were amazing http://www.railsconftutorials.com/sessions/tdd_tools_techniques/02_integration_testing.html

The Magic Tricks of Testing

Sandi Metz once again showed her love for bikes.Very clear presentation on what should you run unit tests on and where you should not. Here is the deck

Booths and T-Shirts

The exhibitors open up and everyone runs for t shits, I managed to get six. The hulu one has the nicest material..

T-Shirts

Designing great APIs: Learning from Jony Ive, Orwell, and the Kano model

Philosophy and principles on how you should create APIs by Jon Dahl. His points were good but he used so many other peoples indicators or thoughts it felt like watching newspaper clippings..

(i) Never use a metaphor, simile, or other figure of speech which you are used to seeing in print.

(ii) Never use a long word where a short one will do.

(iii) If it is possible to cut a word out, always cut it out.

(iv) Never use the passive where you can use the active.

(v) Never use a foreign phrase, a scientific word, or a jargon word if you can think of an everyday English equivalent.

(vi) Break any of these rules sooner than say anything outright barbarous.

George Orewell, “Politics and the English Language,” 1946

Kano_Model

Happy Hour

Free drink and food, good for networking and deeper conversations.

Reflections

Today felt a bit more abstract with the exception of Sandis talk. The conference food was good. The wifi is terrible.. pinging shows the issue is the ISP is not doing its job or the OCC has reached its limit.. Not great for a tech conference, maybe different venue next year.

All evening events booked up, went for dinner at a Grüner – german restaurant and then to Powells .. Powells I love this place

Books

Day 3 -Wednesday

Breakfast

Back to Mothers for French toast covered in cornflakes

Keynote

A bit disappointing… but nice photos.

Ruby Heroes

This was a presentation of awards to people who have helped grow our open source community or take the time to share great code. Awesome. So many people help our open source community they should be celebrated 🙂

http://rubyheroes.com/#heroes

The big room

Properly Factored MVC

Again the lack of internet kills the effectiveness kills the workshop, but notes look awesome so I will come back to this later

http://www.railsconftutorials.com/sessions/factored_mvc.html

Creating Mountable Engines

By Patrick Peak, really awesome and clear presentation about how to re-use your code and options. It showed us how to setup a simply engine.

Crafting Gems by Pat Allan

A good presentation where he did not assume you knew anything. Good instructor.  http://www.railsconftutorials.com/sessions/crafting_gems.html also learned about https://travis-ci.org and http://rubygems.org

Lightning Talks

http://lightning2013.herokuapp.com

These were awesome either 1 minute or 5 minute talks from anyone.

Here is the first 20 to give you a feel, there was 42 to in all..

  1. Nick Quaranto – OpenHack
  2. Dr Nic Williams – Deploy your own Heroku with Cloud Foundry
  3. Chris Morris – Technical Intimidation
  4. Jon McCartie – Purposeful Code
  5. Bryan Helmkamp – Code Climate
  6. Andrew Harvey – Teaching an old dog new tricks
  7. Senthil Nayagam – Mobile Testing with Robots
  8. Miles Forrest – Cloning the Seattle Ruby Brigade
  9. Benjamin Fleischer – MetricFu is back!
  10. Adam Cuppy – “You’re doing it wrong!”
  11. Hector Bustillos – MagmaConf great things happen in mexico
  12. Hector Busitllos – The unofficial RailsConf schedule App
  13. Mario Chávez – Logic programming
  14. Mike Virata-Stone – Guard your forms with class, or any other selector: guards.js
  15. Ryan Smith – Rails logs to metrics
  16. Dylan Lacey – Giant Hamster Touching – Test Native Mobile Apps with Capybara
  17. rking – Pry Power: Test Speediness Edition
  18. Ivan Storck and Brook Riggio – Remember the n00b
  19. JC Grubbs – Programming Apprentices
  20. Brad Wilkening – Smart User Adoption Analytics
  21. Jeremy Green – Gemlou.pe – Easymarklet and SimpleDB.

Reflection

The conference food was good. Today I looked for some practical after yesterday abstractness and I got it 🙂 Popped out to Macys for a break and to buy some jeans.

Day 4 -Thursday

Last day a little bit sad 🙂 so need something sweet..

pancake breakfast

How to talk to Developers

Ben Orenstein loads of energy and several lightning talks. Taught us all how to sing better, how to communicate better and pitch better.

Happy people

Reflections on the scholarship

We met after lunch to discuss our thoughts and make suggestions for next year.  This was a really excellent opportunity for me and many of the other scholars thought so to.  We all agreed that we really appreciated the efforts of Ruby Central and the mentors/guides who took time out of their conference to make our journey easier and more useful.

Final keynote

Aaron Patterson was funny, sassy and even talked about rails. Lots of insight and advice. Some great stories of past mistakes, the need to consider what you publicize on security issues (tell the rails security committee and give them time to respond), how to avoid burnout, that we should look for happy moments.

The cat

The best keynote.

Aaron was born and raised on the mean streets of Salt Lake City. His only hope for survival was to join the local gang of undercover street ballet performers known as the Tender Tights. As a Tender Tights member, Aaron learned to perfect the technique of self-defense pirouettes so that nobody, not even the Parkour Posse could catch him. Between vicious street dance-offs, Aaron taught himself to program. He learned to combine the art of street ballet with the craft of software engineering. Using these unique skills, he was able to leave his life on the streets and become a professional software engineer. He is currently Pirouetting through Processes, and Couruing through code for AT&T. Sometimes he thinks back fondly on his life in the Tender Tights, but then he remembers that it is better to have Tender Loved and Lost than to never have Tender Taught at all.

There was an ice cream social.. and ice cream!

Reflections

I am without a doubt tired but the talks I went to did rally my energy, good choice of talks and speakers for the last day.

Evening

Explored The Pearl district. Lots of buzz, posh bars, not so posh bars and restaurants. For those who know Vancouver, BC it is like a more lively version of Yaletown.

MapPizza

Friday

I went home after buying more books from Powells and some DocMartins..

BridgeBlue sky

Thoughts and suggestions for next conference

This was a really good conference, with the exception of wifi access. The venue was really good with lots of space to either hide, code or meet people. The food was good everyday, very impressive for 1500 people .There were lots of amazing talks and a friendly crowd. I am very grateful that I won a scholarship to attend.  I wish to thank Sam, Miles, Chuck and Marty for making this such a great conference experience 🙂

These are just suggestions that may make it even better:

  1. Have a day before the conference start, that is for beginners and newbies a bunch of workshops to get people up and running on rails an understand the basics.  Anyone can attend or not.
  2. Ask every presenter to tag their presentation with Beginner, Intermediate and Advanced and maybe also type e.g. overview, into code, workshop. Allowing the attendees to choose smarter. Even give the option for speakers to give 20 second videos that state what they will talk about.
  3. Have a local server with all the code needed for workshops, assume that the ISP will not provide, have plan B
  4. Have a list of presentation mentors, who can support the building of presentations both for main conference and lightning talks
  5. Have some advanced talks which they are presented on the web pre conference and the actual conference sessions get deeper or have debates..
  6. Make fruit available through out the whole day, better to be fruit powered then fat sugar things
  7. Give the opportunity for people to vote pre-confrence the sorts of talks that people would like to attend.
    This may encourage other speakers who know it really well to step up,  it would also give you trends of types people coming and may encourage others who are starting to get to know rails.. and possibly even deciding if this is the language that we want to use.  It would also allow people to start interacting prior to conference, maybe even setup lunchtime or dinner meet ups to talk about topics that will not be covered on the big stage?
  8. Have some real advanced workshops that maybe take 3 hours to dive deep on something. We need to grow our experts to 🙂
  9. Have a system to rate or vote for best presentation at the conference.

What did I get out of this conference?

Some awesome new people in my life, a bunch of new people to pair program with, a better overview of rails and ruby, a bunch of things not to do with rails. In some ways I have a treasure map of Ruby on Rails now with parts in detail and big gapping holes.. but I am in a far better place then pre-confrence.

Made some friends in Portland and got to know this city a bit better, ate some great food, bought jeans (my last pair had holes worn on the knees, ankles and crotch), bought books and bought some awesome DocMartins. And the need to get some physical exercise!

Holes in knees, ankles and crotch

Holes in knees, ankles and crotch

I am super excited for the future 🙂

Last Thought

Straight from my cookie

Cookie

Other awesome posts for Railsconf 2013

Amazing visual notes  -> https://projeqt.com/jessabean/sketchnotes/4/l

Awesome notes -> https://gist.github.com/jianxioy/5498969

Top 7 learnings -> http://www.hitthebits.com/2013/05/railsconf-2013-highlights.html

Jobs advertised -> https://github.com/blairand/jobs