Surviving as a Junior software developer

If it helps, you are never ready, you will never know enough, and the key is knowing how to cope with that.

At the beginning you may have no idea or a vague sense how to solve the problem, you will look at the feature and Google it. You will write code and may even get it working and over time, hours or days it may get ripped apart and rebuilt. Sometimes you will part of the conversation, other times you will come back to find its all changed.

In my first couple weeks I had some amazing moments as I solved problems and got the feature marked off the list, or I discovered that little thing that was stopping it working.  I also has some truly awful moments, where my code was ripped apart in front of me, sometimes without comment and other times with two senior developers responding to my questions with condescending responses or worse I was just simply ignored.

Climb to intermediate

Here are some of thoughts and learnings I gained from my first couple roles as a junior software developer:

Read the error message!

The most frustrating thing for your colleagues is when you ask a question and your testing suite or your log  is already telling you everything you need to know.  Have you read the errors and if not understood them have you googled it? Yes actually copy the entire error message and paste it in the search bar and press return. Do you know where all the logs are?  No, hunt them down. It is also true that some error messages really are not helpful, infact they appear to lie, just look through the stack trace..  I record the really abstract ones, in my computer notebook with the solutions.

Code Reviews & Pull Requests

If these are not happening, ask for them, if they are denied look for the next job.  They are fastest way to grow as a developer, whether you be a junior, intermediate or senior you will learn a lot by others reviewing you code. And you will learn a lot from watching others get and give feedback. Yes some people are dicks when giving feedback, maybe you should give them feedback on their feedback (you might even help out their friends and lovers! being able to give feedback is crucial for all human relationships). Innovation and learning comes out of exposing your code and being vulnerable to feedback.  The best Pull Request comments, point out the issue and then explain why it is wrong (you may need to train your seniors to put the why, telling the why, is difference between being treated as a child or an adult). Do not become a parrot and copy and paste, understand why it is wrong, you will learn and grow faster.  I also have the habit of reviewing my pull requests on a weekly/bi-weekly basis to see what errors, if any, I am repeating, to target in my next afterwork homework.  The next extension for this, is to put your code open source and then allow the world to help you improve your code..

Pair Programming

There is even a better way to learn, yes pair coding it is like having a sports coach who is giving you constant feedback, and you get better.  This is awesome from a learning perspective. Not only will you learn about the code but you will see how your colleague use their tools as well, which will may give you some productivity tips (or vice versa).  Also you are likely to cut problem solving down by 50% in terms of time. This is not just a technique for juniors of course (its great for on boarding and teaching your organization code style).  All of that said this scared the hell out of me when I started, I thought I can not remember all the syntax and options.. Until I saw that most seniors/intermediates would without a thought Google the function or command to see what their options are. I learnt that is not important to remember everything, but to remember that you can.. Now I am less scared.

Build out your augmented memory

Whilst watching most seniors, they would often lookup old projects to see how they had done something in the past. Whether it would be a Google Drive, Drop Box or even GitHub they would keep most of their old work.  Another trick I saw was the use of notes for each task or type of task e.g. on Mac they would have a Note (or Evernote) on RSpec and have all the matchers and examples, or all of the startup scripts for spinning up a new node, etc. The point to be clear is you will not remember everything, so have it somewhere useful for you, in fact your memory just becomes the index of what is possible and where you did it last. Also for the tasks that you need for setting up your computer, the environment and creation of an App, I store all of these on Github, to help me not forget a step, and also to keep my personalized setup (colours, BASH paths etc) somewhere, here is mine. You never know when you computer will die, or need to be erased, or you just get laid off!

Separating self worth from your code

Receiving feedback from colleagues can be tough.  And some developers can be very cold how they deliver it.  I even had a couple experiences when “seniors” ganged up to give me feedback, and frankly it was pretty painful to receive.  When I asked why and tried to understand I got cut off and then “shussed”.  I walked away from the situation and then learned not to ask a question to a couple developers at the same time. That said if someone is a dick to you, you do not have to return it. Be the adult, because today they could not be.. You want as much feedback as you can get. So you will need to toughen up a bit, process and work through their comments, and when you do not understand either research it until you do, or ask.

Asking when you need help

There is a balance between asking too few questions and too many.  On one hand you may take too long to solve a problem and build that feature –  on the other hand you may well “piss off” (make grumpy) those senior to you.  This is tough, my general rule is to ask if you cannot figure it out after 40 minutes.  In my first job I think I did not ask enough, I know I would have grown faster if I had.  That said when you are interrupting someone who is in the zone, it feels, well, difficult. Also when they are in zone they often look grumpy, constipated or are frowning and generally look unapproachable.  You will learn the clues on their face over time on when to ask.  Of course my personal view is when my colleagues ask me for help, I will always help.  I have this crazy notion that collaboration is fun, yes even face to face!

Growing your knowledge base

Sorry but you are going to have to do homework! Most non-developers have no clue how much you have to learn and then how fast it is outdated.  My solution for this was to do between two and three hours every night, then maybe a longer stretch on one weekend day.  But there is always one day completely off.  When you are hungry its hard to forget that you are actually running a marathon and not a sprint.

This is a marathon not a sprint

That thing called work life balance at the beginning of your career is frankly bollox (bullshit for non brits).  That said you should make time to rest and not think about code.  Reflection will allow you to actually learn the big stuff or that thing you could not connect at first, to spring understanding on you (Bong).  The unconscious mind is a very powerful learning machine, it needs sleep/dreaming, a different context and maybe something creative, like music, painting to be fully powered up.  Yes and exercise, dammit, it also helps. And if you are NOT single, consider those that will love you a lot longer then your job or career even, yes that includes you dog (or cat), plan that time. And if you are single, you are more likely to die or suffer a nasty disease, so make time to meet someone and live longer..

Watching other developers code

As with all learning, you will have strengths in some learning styles.  As a developer you will have to pimp all the styles.  I try to mix and improve all my styles. If you watch someone who has many years, you will not only learn their style in coding, how they write, refactor, and maybe even test. You will also learn how they use their tools and this can just make you a lot faster. Peepcode did some fun play by play videos that allows you to see some of the experts code.

Knowing your code and improving it

Every week I look back at my some of my code and research similar problems to see if I could refactor it.  I sometimes look for web applications that solved the same problem and see how they approached the same problem and I consider the why, benefits and drawbacks.  I go through my refactor book and look at my code and question it.  I find the creation process can be different to an editing process, it sometimes seems a lot easier.

Working on one thing at a time

I found early on I would try to solve the whole feature in one go rather then breaking the problem down into is component parts.  Now I divide the feature into a number of tasks and complete the tasks one by one (I even add them to Pivot Tracker or write them down on a pad of paper!).  This allows my brain to be wholly focused on the problem at hand, rather then holding the whole code in my brain. I find I chew through tasks faster, consider out of the box solutions more often as I have that spare RAM to consider them.  I also find if I draw it out, I consider the connections and external parts to a greater level.

Commit often

For every feature I now create a branch. After each task is done I push, well sometimes pull push depending on the time scale. First you will get mini morale boost, secondly you have a backup, third others can see what you are working on. AND fourth, if you need to rollback it is better to do it if you have many hooks to choose from.

Asking Why?

Children do it far more and they learn faster.. And if that other person cannot explain, go and work where they really understand and love to explain..

Relationships are important

There is a direct connection to strength of your relationships and the opportunities that will come your way. Invest in the people around you. Do the right thing by people, even when it all goes wrong.  Those people are far much more likely to recommend you for your next job.

Features and front end

Completing a feature will gain you kudos, and adding something that clearly effects the customer experience will gain you support from those that support customers and help the sales team.  Having allies in all camps will help you be more resilient (keep your job) in a downsizing and will likely help with endorsements and recommendations. CEOs tend to protect developers who produce more the observable changes i.e. new button, skin, more responsive, etc.  Where as the CTO will tend to protect those who write good code and write good tests.

Have Plan B, C and maybe a D

You are the bottom of the pile, when layoffs come, you are the first in line.  Protect yourself have a Plan B as this is very likely if you are working at a real startup.  Go to meet-ups, get to know your local community, make connections with developers, so if you do get laid off, you have people you can reach out to, so you can find your next opportunity.  Having an active blog of what you are learning helps you reflect (so learn better) and you will build a following over time.  Also work on some projects that you can put out there, so they are public on GitHub, if you feel comfortable to work on open source do.

Should I be a developer?

You may ask yourself this sometimes. I certainly asked myself this at times, when you may watch others craft so easily. Then I find myself, looking for an expression for fun, I find myself impatient at not knowing, well everything, I dream about exploring other code.  Over time I found myself reading the source code rather then a blog piece explaining it, I started to understand more and more code, I find that I want to go back and refactor that hash search removing the [:id] and put in a fetch(), because it fails loudly. I spend breakfasts with other developers exploring what we know, what we have forgotten.. oh it appears I have the bug, no not the bad one but the one you are bitten by… I notice it has being several days since I got stuck and had to ask for help and instead I am asking for opinions.  Do I know everything no, can I find a solution, yes :-)

Do you have any tips?

 I would suggest you blogging your own journey, it will help you remember what it was like to be a junior and when you take juniors on yourself you can help them with your blog post and also remember not to be a dick ;-)

 

Visual overview of Ruby on Rails


rails_breakdown_v4.1

Please give feedback

Version 0.1 – credit Brooke and Eric

Version 0.2 – Made full size, made core library labels bigger, bold text and strengthened lines – credit Andrius and Trevor

Version 0.3 – Make it clearer , between the different core libraries – credit Chuck

Version 0.4 – Get the capitalization right for Classes and Modules – credit BLITZCRUNK123 (Reddit). Have also added more and defined the difference between capabilities and Class/modules.

Version 0.4.1 Make it clear what the version is for- credit _jeffJohnsonsBookEmp  (Reddit)

Actions speak louder then words

A person, company, organization community can be judged on its actions and behaviours not its intents. Especially when the shit hits the fan. Its easy to be nice when the world is all good. Behaviours, the culture under stress shows the real capacity of the leadership.

Becoming a junior rails developer

So I looked for a tech cofounder and infact found almost three. Then a friend who was a developer said they would be happy to “play” and see what comes off it, if we paired (pair programming) as it would be fun, and if he was going to use his non-work time he wanted it to be fun. I agreed this was a better approach, building alone is hard (Thanks Phil)

Becoming a coder, again..

This set me off in a two year journey to become a developer. I took two evening classes a week (about 20 hours a week) and over two years worked seven days a week. In all I did 13 courses (including HTML, CSS, JavaScript, AJAX, XML, SQL, MySQL, PHP, JAVA and System Design).  I started with an intense HTML course and worked my way through the whole stack from front end to back end.

a few of my coding books

a few of my coding books

Rails..

I wanted to learn Ruby and Rails, all along because  I want to build prototypes for my startup (Professional You). Yet there were no local courses. I prefer learning with others, its good to have a peer group. So in Jan 2013, I booked myself on RailsConf 2013 and gave myself a deadline to read and complete Learn Web Development with Rails prior to the conference. I was introduced to a start-up (Thanks Jessie) and started working with them two days a week as a junior rails dev.  I learned a couple things about myself,  I was not good at asking questions from the lead software developer as I was worried about taking them away from their tasks (as they were under a lot of pressure from their boss) and we worked remotely, which is not ideal for a junior. I also found testing before coding was very difficult, in part because I needed to know rails better first.  Additional good Rails book that helped in my journey were  Rails 4 in action  Rails Anti patterns , and Peepcodes Videos on RSpec.

Ruby

It becomes clear that rails does so much and its BIG, but the better your Ruby knowledge, the easier working with Rails, no shit. There are times you have to build your own model without Active Record and connect to APIs.  Everything becomes a little easier, your code gets tighter.

I tried the Well Grounded Rubyist book, whilst I understood all the concepts it was too much without having not built Ruby Apps first. Most of the online Ruby course were interesting such as Code Academy, but they failed to stick in my head, one exception was a course on Lynda called Ruby Essentials, which frankly was brilliant (Teaches the basics and the gets you to apply them in a Ruby App). After that I tried the Ruby Koans . The hard part about coding is trying to remember it all, understanding I think is easy but holding it all in your head is hard.  One senior developer said to me you do not need to remember everything just remember you can, then Google it. The more times you use it the easier it will be to remember. His other tip was to store all of his projects on Google Drive, so he could use it has augmented memory.

Training that actual gets you build an application, I found to be more useful and gave me extra value, rather then little bits of code. Looking at how other developers tackle the same problem is also incredibly useful.  Peepcode did a bunch of Play by Play videos, which taught me a lot about how they solved the problem and I also learnt how to use different tools.

Learning about software development..

There are a bunch of tools and “behaviours” (ways of working) that you have to learn, some of this comes from you just coding, but some you need to spend a bit of time working on i.e. Git (or other version control)

  • Re-learning Unix and BASH i.e. Terminal on the Mac
  • Trying out different tools, BBEDIT, RubyMine and finally Sublime
  • Getting comfortable with version handling i.e Git, how to use GitHub
  • Where to find the bugs for debugging, using irb, rails console, understanding the logs and the stack trace
  • Where to find the information that will help i.e. online manual, google, stack overflow, google groups
  • How to tackle the actual problem, when to step away and take a moment
  • where to ask a senior and not annoy them (still working on this one)

Ready?

You are never ready, its just a matter of choosing the time, finding the courage to be vulnerable and going for it.

Its seems surprising that some of the best times in my life are when its has gone so wrong, you really discover the other people around you in that moment the good and bad.  You could wait to be that perfection and never make a move. I knew that two days a week of coding after working the other five was tiring me out, but I also knew I liked to code, I love problem solving.  That said I had yet to build my GitHub profile, most of my work was private, most of my student work was very specific, so not a complete web application but do this on this page. Whatever, It was time to go full-time. Lets see what happens..

Advertising myself..

The best way to get what you want is to simply ask

Just before christmas 2013, I sent out an email to the Ruby meetup group in Vancouver, BC. The discussion space often has recruiters looking for rails developers, why not flip this and advertise me!  I did not expect much of a response..

—–

Subject: Looking for a Junior Ruby on Rails job

Hello :-)

I hope you are having a great day and not too bored..

I have computer science degree and most of an MBA. I have played and succeeded in many other careers like communications and being a politician. And I have learnt that I love to create. So I went back to school (BCIT) to refresh my computer skills and learn web applications, after two years I have done a bunch of evening courses with an average grade of 93%. For the last 6 months I have being learning/coding Rails/Ruby on my weekends for a local startup. I have also attended a bunch of Rails/Ruby conferences in the US on my own dime.

Full-time I have being working for Apple as a Genius/IST Support. I know crazy right working 7 days a week for two years.. I am now looking for a full-time software development role with an emphasis on Rails.

You will find all the good stuff in my linkedin profile -> ca.linkedin.com/in/ericbrooke/

Continue having a great day :-)

Eric
—-

In all I got 80 responses, over a four week period (40 within 48 hours). There were 42 real jobs going, 20 were long term contract, 8 short term contract. 10 were you are the first developer, no not good, go employ a intermediate or senior developer! Leaving me with just 17 companies to talk to, after researching each of the companies, I spoke/emailed to them and then did 14 actual interviews. After which I cut it down to five after second interviews I cut it down to two..

Finding the right team to join..

You are the apprentice and you are looking for master/mentor/teacher/coach/facilitor not a boss, not the brilliant programmer whose ego is big enough for you both.

A couple principles for me:

  1. Those that asked for me to do code test prior to having a first human to human conversation, I did not continue.. I am not your code bitch.. or your slave, talk to the human in me first
  2. How much they truly bothered to explain who they are as a company and their intended culture, mattered to me.
  3. You need patient senior developers who are willing to coach and that their bosses will give them the time/leeway to coach
  4. That you will learn a lot from developers who have different styles and roots, prefer different languages and frameworks
  5. I need to grow and learn fast, how are you going to help me get to intermediate?
  6. Seniors that have being teachers or parents tend to be better at explanation. Just a theory at the moment.

Interview

I want to work with awesome people.

Be they smart, emotional intelligent, creative or just different. The most laughter at work I have had are with teams of such diversity, with so many forms of intelligence, not just the academic kind. I am going to be spend a lot of time together, consider it a road trip, we will get angry, sad and laugh together. The culture, the people that I work with is important to us all. For these people I will have lasting loyalty, forgive and move on, push the boundaries to ensure there is a future and learn every fricking thing I need to learn, take time out of the rest of my life to make my colleagues life easier. So if you send me a coding test before, we know, we like each you can frankly go @@@@ yourself.

A good interview is a collaboration of us exploring each other.

[updated] Questions to ask -

  1. Have you ever had any juniors before?
  2. How do you review code?
  3. Do you use pull requests?
  4. Do you state why the code is wrong in the pull requests?
  5. How will help me growth fast, so I am no longer a junior?
  6. Is there flexibility on which projects/teams I work?

Technical tests

Understanding your capability is hard and is often judged on so many irrelevant things

There are few jobs where you are ask prove you can actually do the job before you actually do it. Some tech interviews felt like you were expected to put out on the first date.

The best I had were conversations and tested practical experience, not theoretical mathematics. The actually best asked we to describe what I know and then sat me down at a computer asked me my favourite coding tool loaded up an example application. They asked where would I find a routes file, explain these routes, where do they take me, asked me to follow the whole path what was load etc. After if I want to add this to the app what would you do? “feel free you access the internet”, explain what you are thinking? The sneaking bastards even had a couple “bad” things in the code to see if I would notice. So I did not mention them until I was about to leave ;-) That was my first job offer

The worst started with theoretic problems to write pseudo code on the board… Funnily enough they started questioning my pseudo code. Some people see an interview as a way to prove their intellect not understand yours.. Have you forget who is interviewing here, you, er no both of us.

For people who did their computer science degree a long time ago or learnt on your own path; I recommend this book Think like a Programmer by V. Anton Spraul.  The most stupid, abstract, non-relevant questions I have every being asked in any interview were all in technical interviews. And folks I was an elected politician.

Testing the “interviewers”

I have learnt more from people, when I have failed or needed help.

So every job interview I find something to fail at and see how the interviewer copes. I will also ask my interviewers how they will cope with my failure and how they cope with theirs.  I will always ask at the end of the interview what do you like and not like about me.  I learn so much from their response.

The type of organization to work for..

If I am going to work on something, I need to care..

Go for an one domain company, startup or for an agency style..

Domain companies tend to give you a position and you have to earn your right to grow, the structure tends to be more rigid, yep be a junior for three years. You get small parts of a big cog. But you would learn about scale to a higher degree. And maybe they may have systems/coaching/mentors/learning plans in place to accelerate growth of juniors. That would make sense would it not?! not one on my list.

Startup, happy to take the risk but you have to love it and I did not love any of the startup offers. Also they tend to lack the numbers of senior developers you can learn from.

I went agency i.e. build prototypes, because I wanted to work on a lot of different products in different domains, I felt I would learn more faster, and so far that is true comparing my growth to my friends. With prototypes you have to do the beginning a lot and then you finish, and then you do it again, there is opportunities to grow in each project.

The job I took

It felt like a conversation between curious people.

It started on the phone, progressed to face 2 face and then there was a take-home coding test. They were good questions that I had to think about. The whole process felt open, unstressful, they trusted me and I trusted them.

I asked my boss what does he look for?

“People with a wide life experience who can clearly show they can learn”

So far it is pretty awesome I get to work with three seniors who have different approaches and the diversity is already teaching me a lot.

Updated

So after two and half months I got laid off.  They removed the Junior developer position (it affected two positions), and I was the least experienced, through out the company).  It was a reminder whilst you can test the people you get to work with.  Their bosses can change their mind.  So in future I will look at the leadership and their records.

the need to reflect on yourself

Mirror

I am a workaholic (I never feel I work hard enough), there used to be a few things that make me pause and force me to reflect such as illness, love, friends, mentors, etc. Sometimes these “interruptions” are random and infrequent and may not occur for several years.

Life has taught me to occasionally pause and consider who and where I am.

Every year now I review my life, I considering all aspects and what I need to change or not. At work they would call this a performance review.

You in the end, are the only person you have to live with throughout your life, you need to stay in touch and avoid too much drift. A little drift is good because it can allow you to reflect and consider new paths.

I use the following categories to help me breakdown what is important.

These are my personal ones that have change throughout my life, you may have different ones, over time you will find that they will evolve.

1. Love

Is there enough love my life in terms of relationships, friends and family? Are there people in my life that cost more then they give/gave? Am I giving enough to them? Do I Love myself? Does your “friend” spend more time talking about themselves then asking you how you are? Who helps you out when your are sick? Who calls you out on your stupidity? Of course these questions are reversible? e.g. are you a good friend to them?

2. Purpose

Am I working or playing towards something? Am I just floating? Am I happy with my level of progress?

3. Community

Am I giving back? Am I mentoring, teaching or helping others grow. Am I paying attention to politics and the communities needs?

4. Evolution

Am I still the same person or have I evolved? Am I growing and learning? Am I pushing the boundaries of my personality, my knowledge, and my skills. Is there enough challenge in my life?

5. Inspiration

Do I have muses? Do I have people? Books? Music? Arts? Games? Food? Is there something refreshing my soul? Do I have moments to explore or simply rest?

6. Health

Am I healthy? Do have the body that I want? Can it do the things I want? Do I eat as I should? Do I sleep as I should? Are you snappy with friends? Do you need time off?

7. Work

Do I enjoy it? Do I have a leader who inspires me? Does the organization value me? Am I able to use my core capabilities? Is the cost of working for them matched by the value I receive? Yes I give my work a performance review – are they what I need?

8. Finance

Do I have enough? Do I have plans for when things go wrong? Do I have saving goals/purposes.

9. My Drivers

Over time you will start to see patterns in your behaviours, things or people you prefer to be around.  It has helped me understand that I have certain drivers (some good and some not) for example I am incredibly curious, I want to know why, but do I spend too much time exploring/discovering and not acting?  There are things that I sometimes find difficult to manage e.g. being a workaholic do I make sure that I have enough rest and/or vacation, is my health good?; we are all better people to others when we are refreshed.

Making it real

Often I will draw a mind map for each (1-8) and then give it an overall score between 1 and 10. If it is lower then 5 I start to consider how to improve it, by adding things that could improve the score on my mind map on the edges.  I build an action plan for the next year e.g. If I do not have enough Love, should I meet new people, do I deepen the my relationships that are good for me, or do I remove people from my life.  After completing  all the mind maps I consider the bigger picture and the inter relationships between each mind map, e.g. could I kill two birds with one stone? Or is one so high and at the cost of others e.g. Work is at 9 but Love is at 2.

Then I will consider my drivers. Some of these drivers will clash with others, how are you managing that balance? I draw an illustration for each of my drivers and consider both the good and bad of each.

Then I again I will look at the connections between all (1-9).

This is the way I consider my life on an annual basis, you may have different things that matter, different drivers that push you. I urge you to discover who and where you are and how to make sure you are in control of your life, not too much control, but enough to be heading in the direction that you wish.

Building an open source program for technology co-founders

In February I wrote a blog post about the lack of support for technology co-founders in BC, Canada.

I have decided to pull together an open source program/set of courses to educate/grow/upgrade technology cofounders, to increase their chances of success in their role.  The first step will be to collect ideas/experience/wisdom from the community and then pull it into a bunch of classes that a person can work through at their own pace.  It is my intention to build it so anyone could actually run it as face to face classes, in their local area.

How can we help each other to avoid mistakes that others have suffered?

How can we help each other to avoid mistakes that others have suffered?

The idea.

Create an open source resource/courses/program that people can run in their local area to educate/grow/upgrade technology cofounders, to increase their chances of success in their role as a technology cofounder and grow into a full CTO role.

The Why.

There are many, many programs that support the business/leader/ceo co-founder but few I know to support technology co-founders.

Motivation.

To help technology co-founders avoid mistakes, learn from others experience and build the quality product

Target audience Technology co-founder of a startup (Startup levels) with the intention of building a fast prototype to prove the concept.

Boundaries

To stay platform/technology agnostic

Journey

I will start with a level one startup and build through the others

Please share this link and come and contribute to the program at https://github.com/ericbrooke/ctofounder/wiki this is a wiki in which will collect all the ideas, suggestions for people we should interview, good resources you have already found and learned from..

We need the views of:

  • developers,
  • those thinking about creating their own startup,
  • those who are in it creating their first production,
  • those who have supported technologists on their journey,
  • those who have done it several times.

We don’t care if you have succeeded or failed share it!  We need all your questions and experiences :-)

Leading your professional you

The reality for most people is you will have many jobs and careers.

My journey so far would appear to be all over the map. I started as apprentice potter, a newspaper delivery boy, a general dogsbody in a kitchen, a cook, a chef, a computer scientist, a student politician, a trainer, a charity campaigner, a political campaigner, a english teacher, a dive instructor, a politician, a cabinet member, a marketing VP, consultant, startup founder, a college professor, a tech support, and a developer.

Every job and career can teach you many things (if you are paying attention), changing either, will give you a faster track to understand the similarities and difference in different sectors and jobs. In the end by having different of jobs/careers you will see connections, innovations that others who are stuck in one role and career will rarely see..  For me I connect so many disparate things, see opportunities where others are blind and I am constantly  readdressing what others see as the “truth”, common sense or the obvious. All because they are coming from one angle or a limited few angles and I am not.

Hint when you have lost your keys stand on a chair it will allow you to see the room from a different angle that you are unfamiliar with and you will pay more attention because it is new.. I am suggesting the same thing about your career..

A job and career should fit to your needs and desires at the time.. sometimes that will be simply to pay the rent, other times it should be explore another part of you.  Choose a pathway of jobs and careers that will make you happy and that will teach you the things you need and desire, to help you with the next step.. consider it a pathway or a tree with many opportunities..

Plan your professional life.

Tree of growth

So if you change your job career regularly what about loyalty to orgainsations and businesses, fair question:

  • Public companies are often more loyal to their shareholders and the organisations survival then you, yes even if you are the founder or CEO.
  • Private companies loyalties are determined by the power structure or family relationships or funders.
  • Governments are loyal to the last electorate vote, who often vote on the last bad thing the government did, whole programs and departments are wiped out as governments change.
  • Non-Profits immediate future are determined on the economic cycle

Ok a touch cynical I appreciate, but the reality is organisations are always changing even if a bit slowly. And so should you!

Here is a couple things that helped me and things I continue grow:

1. Importance of self awareness

The more context and angles you see yourself in, the more constructive feedback you get, the more you will truly understand yourself. As you experience different organisation cultures you will build an understanding in what you like and dislike.  You will need to book sometime for yourself to reflect, process and understand.

Most people are not truly aware of what their dream job is, they even think they do, just do not know until you have tried it.  Maybe you have be driven to this point because it was what was expected of you by your family or friends or teachers. Chill, I personally do not think you have to have a job or career for life, you are not a penguin you are a human you have choices.  Sometimes having choice is part of the problem..

In my experience, there is something more powerful then the right job, its working with an awesome team.  When this happens the role seems less important as long as you are contributing to the team. Being good in your role and being proactive in learning becomes natural.

Trying out a few personalities tests will also give you some slivers off your personality, remember most of this are very superficial and a snapshot in a time and a place.

2. Fear should become your friend

We all need become unafraid of changing both careers and jobs or at least manage the fear so it becomes your adrenaline, your extra boost, a source of strength, not weakness.

You can reduce fear by planning for the change, e.g. taking evening courses, internship, work seven days a week (5 in one job, 2 in the new role), get a mentor in the role you want to be in. Take a vacation and go to a conference that concentrates on that role, check out if these people are the ones you want to be surrounded by.

It is not easy to learn new skills for which you are being paid for.  You will often feel “stupid” and fustrated at yourself. Understand the basics of anger management, because your mistakes will make you angry at yourself more! Ask your partner(s), friend(s) or family(s) to keep an eye on you and help you adjust, reflect and process.

3. Choose your boss carefully

It does not matter how good you are, if your boss does not like you, the rest is irrelevent.  You must choose a boss who can be both your coach and mentor.  You are recruiting for you. You are looking for the best match for you.  Let them worry about if you are good match for them. Your interviews should be 50/50 in terms of questions, yes you asking 50%.

Questions to ask:

  1. How many of your staff have you coached and mentored?
  2. Describe to me your coaching style?
  3. Can you give me examples of your staff that have outgrown their roles?
  4. Have any of your staff ended up in senior positions to you?
  5. If I fail project how will you react to your colleagues and me?

4. Understand how to build a new network

You will not be here for ever, find out who the good people are. You have a strong advantage over those who stay in one job or company, your network will grow faster, this gives you more opportunities for new roles. Again match people on your personality, not power/influence. Look for the people you want to work with again. Also look for the people who are really good at, what you are not.

5. Understand how to learn and grow your skills fast

This is very important. Get to really know how you learn best and expand your learn capabilities. You should not, use one learning model to understand this, you use many models (they all see different things). It may require an investment on your part, in the end understanding this will determine in part your success in each job and career. Accept that your will occasionally make a mistake or even fail.

Here are some learning style models:

  • Honey & Mumford Learning Styles Questionnaire (Activist, Reflector, Theorist and Pragmatist)
  • David Kolb’s model (Accommodating, Converging, Diverging and Assimilating)
  • Neil Fleming’s VAK/VARK model (visual learners, auditory learners and kinesthetic learners)
  • Grasha-Reichmann Learning Style Scale  (avoidant, competitive, collaborative, dependent, independent and participative)

6. Grow both your leadership and followship abilities

Whilst we have media mythology that states that leaders are more important.

Leaders only exist if they have followers.

If an organisation expects you to serve as a slave for five years before you can have some leadership responsibilities move on, go work for a smaller growing organization, who offers opportunities.That said it is also important to occasionally work for larger organisations to understand how to work in one e.g. how bureaucratic systems work, how the culture of having several tiers of management, effects innovation and the impact policy decisions from on-high effect the person on the ground floor or customer facing.

In my career I have chosen to work in leadership and then not. It has accelerated my abilities in both. But it is not easy. It has taught me humility, patience, the ability to coach upwards and let others fail if need be. Sometimes you need to reinforce your roots, other times explore a branch. Growing upwards is not always the best choice.

7. Do not burn bridges

A lesson I learned from politics. You will fail, what people really respect is how you do it with humility and style and then come back and show people why you are good. You also never know who will be your allies in the future, occasionally you will have to forgive others and move on. Sometimes you will work out in hindsight it was you creating the problems.

8. You own your future

Plan your professional life. Work out where you think may want to be. Look at the skills, knowledge and experience you will need to acquire, to achieve each step. This plan should and will change as opportunities pop up. Reflect on each job, what did you like about it and what did you not. Reflect on your bosses, what was good and not, how will this improve both your leadership and followship abilities. How specifically are you going to grow, what books, courses, conferences will you attend? Which personality tests will you pay for.

Make a plan, but stay on your toes and change as you learn.

Last Thoughts

Do not let your manager or HR “talent manage” you. They care about their needs or the organizations needs not yours.  Of course listen to their advice, but check in with their motivation. Yes ask them!

Most talent management and skills databases systems are simply shit. They are limited by traditional concepts of the education you have received and the job titles you have had.  They are predicting your future by looking at your past. Idiots. Just imagine if we limited the human races future on the past, so why do we do it for every individual. Your past could be a reflection of your parents, the financial place you have come from, if you were teased at school, things that as an adult you can choose to move on from.

Even currently online resumes miss the point, how limited in expression and in understanding the professional needs of a human, even from an organisation perspective they are limited in use.

This simply waste of human potential, angers me so much, it is in part why I founded Professional You and why in time I will blow this shit into the past.

This has become my flame, the thing I will build all the skills I need towards, the types of people I will hunt for to help me with this mission. And if I fail it would be for a cause I believe in.

My path is clear, I understand the full grown tree that I need to grow, in myself. This clarity took many roles, many careers, many failures and success.

I hope this post helps you find some of your tree, or helps you on your journey. Please share your learnings, so I can learn from you :-)

Becoming a leader of an organization

So recently someone I respect has being promoted to become a leader of an organization.  I want them to be successful, so I thought long and hard if I had some good advice that I could share. Was there a good book I could recommend? Or a video?

I own about 60 books on leadership excluding the MBA stuff.  There was one that I kept coming back to me, it was a book I first read when I had just being elected to office and became the cabinet member for Cornwall County Council (UK) as Community & Culture “Minister”. This role was a real step up for me in terms of budget (71 million) and staff (over 440 spread out over many locations), where there was often upto 4 leaders between me and the frontline staff.

Eric Brooke newly elected to the cabinet of Cornwall County Council 2005

Eric Brooke newly elected to the cabinet of Cornwall County Council 2005

The Leadership Secrets of Colin Powell by Oren Harari

This book not only had a lot of wisdom in it, that we often take for granted and thus forget.  I think the best kind of leadership book is one you walk away from and think/feel I want to be led by this person.  And to make it even better I know now how I can ‘upgrade’ myself to replicate this over time.

“The day soldiers stop bringing you their problems is the day you have stopped leading them”

In the end the leaders behaviour will create a culture, so the book and video I recommended were as much about context (i.e. of this new leaders organisation, and its culture).

Another choice was the video by Simon Sinek, Start with the Why

This video ties into the need to inspire and effective leadership is about inspiration not overt control.

The book The Power of Why by Amanda Lang, had a number of factors I needed, it is written by a women who is also Canadian and the stories come from other industry sectors. Context is everything.

“Permission to dream is also permission to fail”

A book I found useful early in my career was The New Leaders by Daniel Goleman (he also wrote Emotional Intelligence).  It was this book that showed me on reflection, the different leadership styles you will apply e.g. command and control has its place, depending on the context.  It was also the book that helped to delegate with trust when moving into middle management.

Great leaders move us. They ignite our passion an inspire the best in us. When we try to explain why they are so effective, we speak of strategy, vision, or powerful ideas. But the reality is much more primal: Great leadership works through emotions..

The last book is produced by CEO of the company with probably the best customer service on the planet.Delivering Happiness by Tony Hsieh journeys through time and a mans’ growth in understanding importance of leadership behaviours and their impact on the staff and thus the organisations’ culture.

Be Adventurous, Creative and Open-Minded

My last couple thoughts come from experience:

  • That leadership is as much about vulnerability, as it is about confidence
  • That followers choose who inspires and leads them rather then manages and controls them
  • That women leaders are often better coaches then males, but the often to do not “give” territory for their coachees to succeed in.
  • That “rebels” can often be bright people who are bored, give them something to do, they could become your greatest innovators

Finally leadership is a skill that you will never master, so expect to fail, maybe even plan for it, that said we often “love” rather just just respect the leaders more who have failed and have come back to succeed.

If you really cared, you would stand for election!

Vote

Rant… to a friend.. now even more rant like.. If you really cared, you would stand for election!

“We must be the change we wish to see in the world”  Mahatma Gandhi

Nothing human is perfect. Can you imagine if you were doing your job and there was an anti-you pointing out every mistake not to you but the media. Yet that is what we expect of politicians. How many business people could cope with that, strike that, how many humans..

Then we expect them to make statements that they will stick with for several years, even though the world changes.. could you imagine running a business or a charity that way.. shit happens, the world changes, who believes predictions anyways.. when governments have to plan they have to account for everything.. everything.. no wonder it does not always work out..

But its so slow.. Making decisions in government takes time, because they care about the stakeholders, they have to listen and balance and often compromise between the different stakeholders, else its called a DIC TATOR SHIP..the real shit is sometimes the decisions is irreverent because the world moved on..

In the end the political system reflects its electors..

  1. you want to see leadership, let politicians make mistakes like the rest of, expect less of the angel and accept that we are all angels and demons trying to make choices through life.. and when you are angry tell them and why, and when you think they are awesome tell them and tell them why.. treat them like a human being.. we all need feedback and not every four years, stupid, in the moment.. Can imagine your partner giving you feedback every four years?
  2. you want to see more choice in political parties fund political parties and accept coalitions
  3. you want to see better use of your money start voting on the long term record not on the last thing that pissed you off..
  4. you do not want politicians all from rich backgrounds or at the end of their lives, then make sure they can a good salary and expenses to cover the expenses.
  5. you want com·pe·tent and well trained staff to support the government, make sure they are paid enough to pay off their education, continue to get training and maybe even afford a house!

The worst part of it is as humans we tend to remember the negative ads or the decisions in hind sight were poor (yeah fucking hindsight).. who says critical thinking is dead..

Make a choice: forgive or try something new out or create a new choice i.e. you standing for election..

“The price good men pay for indifference to public affairs is to be ruled by evil men.”  Plato

P.S. The reality of spoilt votes, is no one cares. Congratulations you have actually excluded yourself from the actual decision process, just costing the election more in the process by counting and recording your vote.

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

Follow

Get every new post delivered to your Inbox.

Join 1,187 other followers