How rails has changed how I seek for a job

December 10th, 2009 by comment narwen

For nine years, I have developed for the web. Over the years I’ve programmed in C, C++, Python, Java, ASP, PHP, Perl, and most recently, Ruby.
Since my first job as a developer, I’ve never looked for a new job: all of my job transitions have come through friends or co-workers.

In mid 2007 I was happy working with Perl. One day a friend told me about a Ruby on Rails job. Back in 2007, Rails developers in Brazil were rare. Because of that, the employer was seeking someone who fit the company instead of someone with Rails experience. That was great for me!

After a pleasant summer, the new job’s charm wore off and I decided that I wanted to move on but continue to program with Rails. Finally, I left my job.

When I started to send out resumes I soon realized that Rails’ culture fundamentally changed the way that a Rails job search functioned. In addition to the traditional resume or CV, Rails jobs demanded to know about Working With Rails, LinkedIn, GitHub, Twitter, personal blogs and sites, discussion forum posts, participation in open source projects, and a multitude of other online presences. These new demands made me realize that I hadn’t been cultivating a comprehensive web presence, which is not uncommon for female programmers, in my experience.

At first, this realization was disturbing. Though it’s still possible to get a Rails job without a vast web presence, I was upset to realize that I hadn’t been adhering to this best practice. It was particularly jarring the first time I was unable to answer these questions to potential employer.
The practice of software development as a craft is constantly reinventing itself and this includes the processes around job seeking and reputation building. Despite all of the hours, projects, languages, and jobs I’ve previously invested in, I now realize that I need to adapt to this new developer reality of being social and visible with my work in order to win back my standing as a desirable developer and potential candidate for a Rails position. The details of how I’ll implement that strategy will be the subject of an upcoming post, but I look forward to the possibilities ahead.

To read in portuguese.

ˆ Back to top

Pair programming Issues

November 11th, 2009 by comment narwen

“Pair programming is a software development practice in which two programmers work together at one work station” http://en.wikipedia.org/wiki/Pair_programming.

pairing

I’ve worked with pair programming at just 1 company for 9 months, the results were both good and bad.

During the time when you are pairing you share your computer with another person. You also share your virtual life details, such as:

  • organization: how you organize your documents, projects, music, etc.
  • choice: which applications you use and how you use it, like: themes, hotkeys and configurations.
  • skills: typing velocity, how much you know about the application that you’re developing.

Off course, when these pairs get along with each other sharing information becomes productive.

The one billion dollar question is: “What happens when the pair does not get along?

not_pair

If both people aren’t open to learning with from the experience, the day by day can become difficult.

Pair programming doesn’t work when one party feels the result could be better if the work was done alone. In this case, pair programming is an intrusive and negative experience.

Some people doesn’t understand this situation. To make it easier to understand I usually like to compare pair programming to driving a car and having someone beside you.

First case: Going by a known path.

Imagine you’re going to a party, you’re driving your car and you know the way to go there. Beside you is someone, a friend or just an acquaintance.

If you have some doubt how to get the place or make some mistake this person can help you, suggest a better way or street.

When you arrive in the party you’ve learned something or at least both of you have had a great time together.

Second case: Learning new path.

Now, imagine you’re going to another party. Beside you is another friend or acquaintance.

During the way you ask for some help. That person helps you as best as possible.

When you arrive in the party you’ve learned a good path and both had a great experience.

Third case: The beginning of the end.

Now, imagine you’re going to a party, doesn’t matter if you know how to get there. Beside you have someone again.

You are driving but now this person prefers to do the driving. If you make some mistake that person says “It would be better if I was driving.” or “If I was driving it wouldn’t have happened.”. What would you do?

Probably both of you arrive at the party in a bad mood and will try to avoid sharing the same the car again.

Maybe if you were in the car a debate would start. But, during pair programming you’re in a company and some words wouldn’t and shouldn’t be said.

Think about it, before sharing your computer with someone.
It’s better to both if you enjoy it.

pairing

PS: Thank you Desi for reviewing this post. I’m a english learner and Desi have been helping me.
PS1: To read in portuguese click here.


ˆ Back to top