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.
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.
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.
I see you have a poorly structured monolith. Would you like me to convert it into a poorly structured set of microservices?
— Architect Clippy (@architectclippy) February 24, 2015
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.
I found that day two and day three had more topics I was interested in. Here are some of my favourites:
- Good education talks included Sandy Metz on Nothing is Something (talk) followed by React.JS by Michael Chan. I call them educational because I learnt something from them.
- A great comparison talk on Processes and Threads – Resque vs Sidekick by James Dabbs
- Interesting journey/scaling talk on High Performance APIs in Ruby using ActiveRecord and Goliath by Dan Kazlowski and Colin Kelley
I heard some good things about:
- Ernie Millers‘ Humane Development
- Bending the Curve: How Rust Helped Us Write Better Ruby by Yehuda Katz, Tom Dale
- Playing Games in the cloud presented by: Nadia Odunayo
- Why we’re bad at hiring (and how to fix it) presented by: Kerri Miller
New things at the conference
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.
Old Things and still good
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.
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.
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.
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.
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.
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).
Great food and calming accent. I also visited Martin Luther King jr. centre and Human Rights Centre were emotionally overwhelming as well as educational.
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.
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…
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.
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
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.
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.
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
- Verbose server header
- Binds 0.0.0.0
- Logging SQL values
- Versioned secret tokens
- SQL injection
- YAML serialisation
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.
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.
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
Keynote – Yehuda Katz
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
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..
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
Free drink and food, good for networking and deeper conversations.
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.
Day 3 -Wednesday
Back to Mothers for French toast covered in cornflakes
A bit disappointing… but nice photos.
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 🙂
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
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
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..
- Nick Quaranto – OpenHack
- Dr Nic Williams – Deploy your own Heroku with Cloud Foundry
- Chris Morris – Technical Intimidation
- Jon McCartie – Purposeful Code
- Bryan Helmkamp – Code Climate
- Andrew Harvey – Teaching an old dog new tricks
- Senthil Nayagam – Mobile Testing with Robots
- Miles Forrest – Cloning the Seattle Ruby Brigade
- Benjamin Fleischer – MetricFu is back!
- Adam Cuppy – “You’re doing it wrong!”
- Hector Bustillos – MagmaConf great things happen in mexico
- Hector Busitllos – The unofficial RailsConf schedule App
- Mario Chávez – Logic programming
- Mike Virata-Stone – Guard your forms with class, or any other selector: guards.js
- Ryan Smith – Rails logs to metrics
- Dylan Lacey – Giant Hamster Touching – Test Native Mobile Apps with Capybara
- rking – Pry Power: Test Speediness Edition
- Ivan Storck and Brook Riggio – Remember the n00b
- JC Grubbs – Programming Apprentices
- Brad Wilkening – Smart User Adoption Analytics
- Jeremy Green – Gemlou.pe – Easymarklet and SimpleDB.
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..
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.
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.
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 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!
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.
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.
I went home after buying more books from Powells and some DocMartins..
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:
- 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.
- 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.
- Have a local server with all the code needed for workshops, assume that the ISP will not provide, have plan B
- Have a list of presentation mentors, who can support the building of presentations both for main conference and lightning talks
- Have some advanced talks which they are presented on the web pre conference and the actual conference sessions get deeper or have debates..
- Make fruit available through out the whole day, better to be fruit powered then fat sugar things
- 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?
- Have some real advanced workshops that maybe take 3 hours to dive deep on something. We need to grow our experts to 🙂
- 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!
I am super excited for the future 🙂
Straight from my 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