CALL TO THE RAILS COMMUNITY
I’m not asking you to abandon all conferences – I love attending events – but it’s time for us to step away from the habit of blindly dropping $500-$1000 on events after tickets and travel and do some thinking about your conference attendance. Some of these events are outstanding and you should continue to attend but some are mediocre, poorly organized and I have a better idea for your $500.
This year I challenge you to skip just one so-so event you’d normally attend then take the money you would have spent in just one conference and pour it into your community. Here are some ways to give back now that you’re a superstar Rails dev and encourage new Ruby/Rails developers:
- Use that money and time to sponsor a Barcamp or local tech workshop teaching high school kids to code. You can buy lots of pizzas or bagels for a Rails workshop.
- Buy coffee for a series of meetups – plan one every other month to start. You may think no one in your area cares about Ruby or Rails, Sass or Haml but share your story with one or two and word will spread quickly. Everyone can share something.
- Look for community events and Barcamps within a 300-500 mile distance and use that money to drive & attend as many as you can.
- Pay for a ticket to a must attend event for an aspiring dev. Help them experience an outstanding conference they might otherwise miss.
This is why I wanted to support ConvergeFL rather than attending a conference in a larger city. Northwest Florida is not known for technology but there’s no reason it shouldn’t be. I’ve attended several local meetups in the region and can honestly say the content presented in user groups is on par with information being presented in larger areas.
I’m appreciative to Unmatched Style for investing in areas like ours because they are encouraging an area that typically doesn’t have access to major conferences to get inspired to create, build, and learn. Read more about what made ConvergeFL awesome
It’s just one event. Pour into your community. Spark a change. Discover untapped potential.
As part of my reflection on my own conference activity I wanted to highlight those I find outstanding.
Fresh Look at ConvergeFL
This year one of the conferences I chose to attend was ConvergeFL. It was in Tallahassee, FL where you wouldn’t normally find tech conferences but I was absolutely blown away by how much I enjoyed this. Why did ConvergeFL stand out?
- Served an area where tech events are not traditionally found (Love this)
- Powerhouse of people I admire like Bermon Painter, Jina Bolton,
Chris Coyier, and Cameron Moll
- Reasonable conference expense
- Intimate, accessible environment where you could talk to & friends or the speakers themselves with plenty of time to meet, collaborate, etc.
- Well organized. With Unmatched Style – it’s not their first time at the rodeo so they know how to plan an event
- Imax & the Challenger Learning Center – How often can you say you’ve been to a tech conference in an Imax Theater – the venue was cool.
- Inspiring & instructional – not only were talks inspiring but I walked away with lots of new resources in my dev toolbox.
After you’ve started customizing your own code (not a tutorial’s), next you need to find more than one developer friend and try to get some code review. Just as we all have different clothing style, music preferences, or regional dialect, developers have different coding styles and approaches to problem solving. Here’s how to make the most of code review.
If you are receiving review:
Don’t take it personally. Keep it in perspective, sometimes professional developers forget what it’s like to be in the learning role. Here’s the type of feedback you may receive and how to respond:
- Disconnected -They respond with vague reference to your code but nothing helpful. Ignore this, be gracious and move on because they are probably just really busy or unsure how to explain new things.
- Scholar – will have a “textbook” style response with exact statements of fact straight from the latest documentation. Make a note of the resources they point you to and start to use those before your next review.
- Edge Case - they lean toward suggesting you use the trending gem or technique regardless of whether or not it’s been time tested. Ask them to explain, or even demonstrate, why this is a better solution or what conflicts they’ve encountered using it. Pay attention to blogs or feeds they follow, they’re staying current.
- Perfectionist – They will insist on a particular format for everything from logic placement to variable naming even if your code works. This is actually of great value to you and the key is making sure they expand on the benefits. Why is a particular naming convention important? Why does the logic refactored to another location matter, etc.
- True teacher -They will be a well-balanced blend of all the above. The key is that they explain WHY without a condescending tone. They’ll avoid fancy concepts you haven’t learned and build on foundations you already know. This is rare.
If you are a developer providing code review:
- Be kind - It’s unsettling to expose your code for scrutiny, especially as a beginner.
- Be patient – Did it take you some time to learn new concepts?
- Be understanding – I’ll guarantee you’ve made a mistake in your coding or forgotten something even as a professional. This is a code review not a blast session
- Explain – my friend Jesse does a great job of this. Make sure you tell the person why the correction is important or the feedback doesn’t have much staying power. Jesse’s feedback includes phrases like
“It’s nice because it gives us a couple helper methods ….”, “This means we can… “, or even explains:
here’s what happens with the code snippet you have, here’s a way to do it more efficiently, and why that’s preferred. Now that is effective code review.
In addition to completing all the basic tutorials and polishing up your ruby, one of the best things you can do to move from novice to professional is to build the “ultimate” project. You can call it whatever you want (dummy app, practice project, experiment) but the point is to have an app where you can demonstrate new skills, try out new gems, completely mess up …. and the world will not fall apart. I still use it when I want to try things out.
Here are just a few things I tossed in (& sometimes removed) from my ultimate project that I think you should try:
- Authentication – you probably covered this in your tutorials but try something new like OmniAuth Identity instead of Devise or better yet try building your own.
- Nested Forms
- Search Functionality – Things like Thinking Sphinx, MetaSearch, etc. but whatever you’ve used, try another type of search
- Decorators and Presenters – check out the Draper Railscast
- Payment Proecessing – I’ve now had real world exposure to Amazon Flexible Payment System, Paypal, Braintree and Stripe. Hands down if this is your first journey into online payments start with Stripe. Braintree would be my close second choice.
- Administrative Function - I’ve used Active Admin on 3 projects (super easy to use & customize) or practice building out your own
- Something Social - integrate with Facebook or Twitter, try implementing with OmniAuth for these
- Image Uploaders - mine used paperclip then I tried carrierwave both were straight forward
- Geolocation Function
- Observers and Mailers
- TESTING - I’ve utilized Rspec and the traditional Test Unit and there is no question, for me Rspec is the outstanding choice. I find testing with Rspec to be intuitive, easier to work with and dare I say enjoyable. If you enjoy writing the tests you’ll be more likely to implement thorough test coverage to keep your app healthy.
Previously I reviewed Railscasts and even though it’s not my very first stop for brand-new beginners, with the basics behind you you’ll certainly want to revisit this resource for growth as a developer. I can’t think of a more practical, enjoyable way to build your skill set than to work through the concepts Ryan presents. Toss them in your ultimate app and customize them for yourself. He provides source code as well so you can see how the feature is implemented in the app itself if you get stuck.
The pro subscription is MORE than worth it. He’s given an amazing gift to the Rails community. Honestly I’ve thought a lot lately about how different learning Rails would be without Railscasts. I don’t even want to imagine it. Well done, Ryan.
I’ve had a few people ask me in recent weeks why “3AM Rails”?
When I started to learn Rails I had a full-blown career in another industry that took up most of my daytime hours, then family and community obligations took up the evenings and weekends. This left very little time to learn Rails. At the time I had a newborn so I was already up feeding the baby at 3AM every day.
It dawned on me that this was the perfect time to study, code, watch Treehouse videos, etc. so I made a decision that every day (even after the baby outgrew early AM feedings) I would wake up and study Ruby and Rails from 3AM to 5AM. This gave me 10 hours a week minimum of study time before I started my day and went to work. So the documentation of my journey was named … 3AM Rails.
In recent months I’ve had the privilege of peeking “behind the curtain” & observing coding practices of developers like my friend Steve, whom I’ve admired for years and some I’m just getting to know. The elements that make them amazing at what they do is not some mystic code that you do not have access to.
Sadly, the disconnect between budding rails developer and a master at rails is that beginners in Rails think there’s some magic hidden method senior developers bury in their code that lets them transform logic or defy the ruby as we know it. Jeff Casimir stated “It’s all just ruby” and he’s right. Dig through the Rails code itself (Steve does) and look at the methods. Yep, it’s ruby. I’ve held senior developers on a pedestal for ages thinking they were performing voodoo on code but the bottom line is when you get to look at the actual code it’s all ruby.
Coding with my friends Steve Bristol and Jose Boza made me realize they run into issues just like we all do. They have to work through hiccups occasionally when they find some element of a gem that’s not quite working the way they need it. Yes, it’s probably a bit more advanced than the blogs and shopping carts that are pushed in all the Rails tutorials but the key thing to remember is it’s still all just ruby. No magic – no hidden secret language – just ruby.
Some of the best advice I can give you if you feel like everyone has a grasp of the Rails concepts and you don’t is that it’s probably not Rails, it’s probably your understanding of Ruby. I can not recommend enough Eloquent Ruby by Russ Olsen. Something Jeff suggested to me some time ago and was absolutely key to really understanding.
I’ve been reading a lot of blog posts and tweets lately reference the death of Rails, how horrible it is, or how much they hate the fact that it has “become what they said it would never be”. To be very candid – I completely understand. I’m moderately new to Rails, not necessarily to programming, and have already been frustrated by managing differences between Rails versions. I’m even more frustrated trying to explain to customers why they may need to upgrade code when their PHP app has been working flawlessly for what feels like decades (actually only years). This doesn’t even touch on hosting issues, gem and temperamental server issues. It exhausts me thinking about the time I’ve wasted.
The bottom line is this: As frustrated as developers may be, the skill that makes you an amazing developer is the ability to solve problems, think logically and adapt, regardless of the language or framework.
So how do you combat the rise and fall of the latest and greatest shifts in technology?
1. Read, read, read – follow blogs of experienced developers you admire
2. Actively learn new skills, ALWAYS – no excuses, you have the time
3. Be Flexible – comfortable will always be easier, be fearless (as Steven Bristol says) about making mistakes and trying something new
4. Connect with others – If you are having trouble with something new chances are someone else is to
5. Be Thankful – Remember there was a time when we programmed with no Rails framework, no PHP, no Internet
6. Celebrate new accomplishments - If you learned Rails in the first place pat yourself on the back – you’re ahead of 75% of the people who start to learn it and never do.
I grew up in a time where we wrote programs without the internet and solutions weren’t readily available so I appreciate the labor that Rails, CakePHP, and other frameworks do for us. When I learned COBOL & C++ I used the same skill set I used to adapt to PHP and now Rails.
Hate on Rails if you must (trust me, sometimes I do) but remember it’s a tool and ignore all the drama. Is Rails dead? Who Cares! Your only options are to adapt, try something new, or write with your own structure. There will always be something more trendy.
If you’re just getting started on the journey to learn Rails or new to development you may not be aware of the people that make the community what it is. This week I’m featuring my “Heroes of the Web” (no particular order) – People extending kindness beyond what is expected and giving back in extraordinary ways. These are the players in the web community to follow.
Allan Branch and Steven Bristol
You can see what they are up to at Lesseverything.com
I wanted to create a separate post for each of them but it’s hard to recognize one without recognizing the other. They are the guys behind LessEverything.com and LessConf [amazing conference, shame on you if you're not attending]. They are the machine behind LessAccounting along with other projects. Lately they’ve been teaching others about how they achieved their success through LessMoney workshops and the e-book that will be coming out soon. Steve and Allan are definitely Heroes of the Web because they have a way of encouraging those around them to just be more amazing people.
Steve is involved with Ruby events at home and abroad. He has selflessly given his time and advice with sincerity and generosity. When I was stuck on a particular environment issue he even went so far as to screen share with me early one morning on my time schedule. Not many people who would be willing to alter their day just to help someone. That’s just the kind of guy he is. He was the catalyst that sparked the change in me to reach the Rails checkpoints I have.
Allan has rallied the tech community in his town by helping to establish a creative co-working space, offering free workshops to help build tech skills for those in the community, and has an infectious way of making those around him feel like they can do anything. He is a giver and would offer anything he could to help others become a success. Allan was really the first person in the Rails world to give me some guidance and pretty much said whatever I can do to help you accomplish your goal, I’m there. I’m amazed at the extra mile he goes to in order to help those around him. I can honestly say I don’t believe I’d be where I am in the journey were it not for Allan’s kindness.
Thank you isn’t enough, Allan & Steve. Many, many people I’ve encountered echo the same sentiment. In small and big ways Steve and Allan are impacting individuals and startups alike. Keep your eye on the Less guys - they are the real deal and make the web community a great thing to be a part of.
If you’re just getting started on the journey to learn Rails or new to the development you may not be aware of the people that make the community what it is. This week I’m featuring my “Heroes of the Web” (no particular order) – People extending kindness beyond what is expected and giving back in extraordinary ways. These are the players in the web community to follow.
You may recognize the name from previous posts about Jumpstart Lab (one of my favorite resources for learning Rails), but Jeff is involved in quite a bit more than that. He is currently leading the training for Living Social’s Hungry Academy, speaking at various places like LA RubyConf, SpreeConf, and Ruby Nation. His presentation style on video and through written material is unassuming and easy to understand. What you may not realize is that in addition to training and speaking he is giving back to his local community benefiting small business and students through projects like codenow.org
When I had the opportunity to participate in online Rails training with Jeff I jumped at the chance. We had a scheduled meeting and due to crazy unforeseen circumstances the other participants couldn’t join us. I fully expected Jeff to suggest we reschedule because his time is valuable and I didn’t think it was worth continuing with only 1 attendee. Instead he said, “Let’s get started“. I had such respect for him because he kept his commitment when he was justified not to. Throughout my self paced study he continued to make himself available for questions as I see he does with lots of other participants through github, twitter and other social exchanges. His background in education is evident as he, like many traditional educators, gives continuously. - Thank you Jeff Casimir
Keep your eye on what’s happening with Jumpstart and Living Social – Casimir is helping to make this an amazing community to be a part of.
If you’re just getting started on the journey to learn Rails or new to the development you may not be aware of the people that have make the community what it is. This week I’m featuring my “Heroes of the Web” (no particular order) – People extending kindness beyond what is expected and giving back in extraordinary ways. These are the players in the web community to keep your eye on.
First up: Ryan Carson
Ryan is the founder of Carsonified , the team behind awesome events like Future of Web Apps, Future of Web Design and Think Vitamin (now my beloved Treehouse ). One look at their values and you know this is more than just a business for them. Ryan is passionate about cheering people on and if you read an email from him or get any of his newsletters you instantly feel like you could be best friends.
When I was getting started with my Rails adventure Ryan was instrumental in helping me establish a good footing. He was generous and kind towards me when he didn’t have to be. I started learning with Think Vitamin and he encouraged me to go for it. He didn’t say “Oh, let my staff know if you need anything” – He said, “Give me a shout, let me know how I can help”. That message comes through in his communication with everyone!
As I look back at everything that has happened in the last year I recognize that this personal connection and encouragement came along at just the right time for me. Thanks so much, Ryan Carson that really meant a lot. People of the web keep watching because Ryan and the Carsonified team are making the web an amazing place to work.
More on 3AM Rails