How to ace our coding assignment

Dear Ruby Developer applicant,

I would like nothing more than to contribute to your success!  Here is my guidance on how to completely ace our coding assignment:

  1. Follow the instructions:  You wouldn’t believe how many candidates are disqualified by not following the instructions, or by building tons of extra features.  Show us that you can code to a shared specification.
  2. Focus on efficiency:  Nested if statements can totally solve the problem, but are not very impressive.  For perspective, I wrote nested if statements when I was learning Visual Basic in 10th grade.  Show us that you can innovate on a simple problem with an elegant solution.
  3. Write tests:  We like lazy developers, and lazy developers write tests so that they don’t have to waste time debugging code later.  Show us how you will be a steward to our technology and to your co-workers.

Most importantly, HAVE FUN and good luck!

Above all else, it’s about the relationship

Taxi Magic is hiring, and it’s an exciting time to be here!  Given all the interviews that we’re conducting, I thought it would be appropriate to provide some advice (the best candidates might find this blog post, right?)

The average candidate will try to demonstrate how their skills fit the job.  In reality, this strategy is sure to seem bland (all the other candidates are doing it).

The standout candidate focuses on what the job interview is actually about:  demonstrating your ability to be a partner.

Being a partner goes beyond saying that you’re a team player.  It’s about showing that you’re human, and that you care; You care not just about the work, but about the other humans in the room.

Alternatively, you could apply to companies that pretend that the work is completely impersonal (widget, meet cog), but why would you ever want to do that?

How to fill big shoes; the art of becoming Goliath

Imagine this scenario:  A highly admired and valued leader departs from your place of work.  Despite being much their junior, you’re asked to be their replacement.  What do you do?

 

I'd bet on the little guy!

Welcome to the big leagues, kid!

Step 1: Build a group of trusted advisors

There will be times in the coming months where you want guidance from someone more experienced than yourself.  Establish a mentorship relationship with people outside of your organization that can help you navigate difficult situations and provide perspective.  This can be as simple as saying, “I would love to soundboard with you and get your advice as I step into this new role.”  Ideally you can also establish this relationship with the leader who is departing.

Step 2:  Understand what the leader was doing, and why

The advice of multinational author and work productivity speaker Steven Covey is to seek to understand before being understood.  Try to learn as much as you can about what the previous leader was doing before they depart.  Essential to this stage of investigation is to also seek out the motivation or rationale behind each of those activities.

Step 3: Understand what other people thought the leader was doing, and why

People will naturally be a little skeptical if a David is asked to be a Goliath.  To win over your colleagues, you’ll want to demonstrate that you care about their opinions.  Further, if you’re a good leader, you will also actually care about their opinions!  Ask people what value they thought that the previous leader brought to the table, and ask what you can do to make their lives easier.  Doing so helps you to convert these individuals into your support team and allies.

This step is especially important if you’re replacing a leader that had incredible rapport.

Step 4: Do what the previous leader was doing, the way they did it

There is no better way to jumpstart your learning than by mimicking the actions of a master.  This approach to learning shows up in two of my favorite hobbies: dancing, and gaming.  The fastest way that you can learn to be a good dancer is by learning “legacy” dance routines that were created by some of the greatest dancers of all time.  Similarly, gamers can jump-start their learning by following the patterning of a top player; copy their talent tree, try the same build order, use the same cards as them, etc.

By mimicking the actions of the previous leader, you will internalize the understanding of why they operated the way they did.  With this understanding you will then have clear sight of  what can be improved.

Step 5: Change the things that cannot be sustained

A healthy way of viewing your transition to becoming Goliath is to see it as a passing of the baton.  The previous leader propelled the organization to where it is today, and as a leader, it is your responsibility to help it continue to improve.  As you live in the shoes of the previous leader, you will start to identify ways to improve how the organization works.  You will also be positioned to influence these changes.  Partner with your newfound allies and supporters, and pursue the changes that help everyone to win.

Ruthlessly seek out any and all activities that are an undue burden on your time and your teams, for these are most assuredly unsustainable activities.  This has many manifestations, but be on the look out for disenfranchised teams and team members.  Empowering your colleagues has a tremendous effect on your own ability and availability to lead.  It will also help you and your colleagues to see you as the Goliath that you are.

 

 

Taxi Magic is Hiring!

Perhaps one of the most exciting aspects of startup life is when we get to expand.  We are hiring a ScrumMaster, and I’m SUPER happy with the job description that we assembled.  Please do not hesitate to contact me if interested.

 

ScrumMaster

RideCharge, the DC-based technology startup that is revolutionizing ground transportation with Taxi Magic, is seeking a ScrumMaster to facilitate for one of its Agile teams.

The ideal candidate is a highly motivated self-learner with proven experience.   We are seeking someone who can explain the basics of scrum in simple terms, but who also has experience facilitating solutions in complicated scenarios.  Everyone at Taxi Magic is passionate about the work that they’re doing; you should be too.

Responsibilities:

  • Serve as ScrumMaster for one Agile team
  • Enforce the rules set forth by the team
  • Enforce the rules set forth by Scrum, including facilitation of its ceremonies
  • Establish and maintain an Agile dashboard
  • Coordinate across multiple teams for complex projects and integrations

Required Skills:

  • Experience facilitating Agile teams or in technology project management
  • Charismatic and humble (we are a servant leaders)
  • Demonstrated focus on continuing education and learning
  • Ability to recognize the “right” amount of documentation for a user story, and to fill in the gaps when necessary

Desired:

  • Certified ScrumMaster
  • Publication, blogging, or public speaking about Agile
  • Involvement in technology meetups and conferences