<From Job Board>
Are you both a bit-twiddling techie and people/process geek? Have you lived both as a developer and a system administrator? Do the ideas of the DevOps movement resonate with you? We are currently looking for DevOps Principals, people who know both development and operations and can lead engagements to bring these groups together into a smooth running machine. We want people who see technology, process and organizational problems, are driven to fix them and along the way influence the industry to move in a better direction.
It’s about big brains not big egos
When some people think of leaders they see them working in corner offices at the top of the building. That’s not how it works here. Yes, you’ll be one of our most experienced senior people and with that will come significant responsibility for how we manage and deliver business-critical software solutions. But we don’t do heavy management or big company politics.
We are collaborators,which means you’ll be sat around the same table as project managers, developers, architects, testers and analysts, coming up with creative ways to translate concepts and ideas into practical and tactical solutions, foster innovation and maximize customer’s ROI.
</From Job Board>
Until today, I would have argued yes. I would like to think that others are smarter than me because it makes me feel like I’m humble. The problem with thinking this way is that it is rooted in our thinking. It is rooted in our educational system. It is rooted in issues where we believe we are superior to some people and inferior to others. That’s plain wrong. I’m wrong. I need to change my thinking, because I’m not better than anyone else.
So I need to ask myself, are the people around me smarter than me because they have a degree?
[Do I think that] intelligence is a fixed, innate trait, apportioned unequally among individuals and groups? Watch this and you decide. http://www.youtube.com/watch?v=CrnVuWqYj_I&sns=em
I have had difficulty picking up the concept of classes in Python. I’m not sure why, but it’s been a problem. I learned classes in Java easily. When I learned classes in Ruby, it clicked instantly. But every time I tried learning it in Python, I would come up short.
I have been avoiding Python classes for some time now.
So, the other morning, I decided that I would tackle it. Intent to consume all of the online exercises and readings, I found a quiet spot in my favourite café, grabbed my favourite drink, and made up my mind to spend the time to understand the lesson. I created the standard demo classes, like shapes and animal classes. I kept creating classes until I didn’t have to reference any material. I created objects and had the objects interact with each other. Then something clicked and I had that “aha moment”. Liberating.
Now my new objective is to grok classes and tackle the hard stuff that scares me most. That’s why I applied to Hacker School in NYC. That’s why I’m going to Hacker School this fall in NYC. I’ve finally decided to be a better programmer and tackle the stuff that scares me the most.
On Saturday I spent the day with the Ladies Learning Code’s “Intro to Ruby” workshop in Vancouver. We learned the syntax of Ruby. We built a small program that mimicked Twitter. We would post a comment and our little program would determine if the Tweet was suitable to post. If it was within the 140 character limit, it printed out to our screen. Simple. It taught us about variable assignment, lists, arrays, conditionals and loops.
I was amazed by all the ladies and the dedication in the room. Before we knew it, everyone was clicking away at their keyboards, and you could see the smiles on each of the participants faces as they realized how much fun programming was. I was having fun! You could feel the energy. I’m lucky to have witnessed the emergence of a bunch of new Rubyists. The experience was awesome!
Today, I thought it was important to spend some time reviewing the material and building on the yesterday’s lesson. I’m going to review classes in Ruby. Here’s an example I made up that I feel builds on objects IRL.
class Newspaper attr_accessor :price, :size, :publisher, :political, :independant end
GlobeAndMail = Newspaper.new VancouverSun = Newspaper.new TheProvince = Newspaper.new TheGeorgiaStrait = Newspaper.new The24 = Newspaper.new Courier = Newspaper.new GlobeAndMail.price = 1.00 VancouverSun.price = 0.75 TheProvince.price = 0.75 TheGeorgiaStrait.price = 0 The24.price = 0 Courier.price = 0 papers = [GlobeAndMail, VancouverSun, TheProvince, TheGeorgiaStrait, The24, Courier,]
And here is a mockup of a Ticket Machine class that takes the price of a ticket when initialized. The object has a few methods to add money to your balance and determine if you have enough money to pay for the ticket. Here’s the code. In the last screenshot, I’m now having success reading Metasploit code. Awesome day filled with aha moments!
class TicketMachine attr_accessor :balance, :price def initialize(priceOfTicket) @price = priceOfTicket @balance = 0 end def print if @balance >= @price puts "Here is your ticket" @balance = 0 return @price elsif @balance < @price puts "put more money. balance =", @balance end end def add(value) @balance = @balance + value end end