You Are Who You Work For

Posted in: Customer Service, Software Development Team Leadership

At some point in the past you made a choice to be an employee of the company you now work for. By accepting to work for a company, you implicitly take on everything that the company stands for. The success of that company is also your success. The failure of that company is also your failure. The policies of that company are now also your policies, because those policies are what are responsible for that success (or failure). You cannot take a piece of the success as your own (like a paycheck), without also taking on the policies as your own. If you don’t agree with a policy, you either need to accept it and move on, or get it changed, or you need to find a new employer. The one thing you cannot do is stand in front of a customer and claim that you don’t make the policies therefore you are not responsible for those policies – this stance is feeble and disingenuous and customers see right through it.
Continue reading »

JavaOne, Oracle Develop and Oracle OpenWorld Keynotes

Posted in: Enterprise Java, Software Development Team Leadership

Here are two handy links for trying to sort out where you want to be if you are trying to juggle attending these 3 conferences in parallel (like I am).

The JavaOne and Oracle Develop Keynotes can be found here:
http://www.oracle.com/us/javaonedevelop/keynotes-144366.html

The Oracle OpenWorld Keynotes can be found here:
http://www.oracle.com/us/openworld/keynotes-143370.html

The only conflicting Keynotes are on Wednesday morning at 8am when there is both an Develop and an OpenWorld keynote. I am interested in seeing the Develop Keynote as Ryan Martens from Rally is speaking, however Michael Dell is speaking at the OpenWorld Keynote, who I would also like to see. Might be a game time decision.

Bad Code, Craftsmanship, Engineering, and Certification

Posted in: Software Development Best Practices, Software Development Team Leadership

Robert C. Martin, during his keynote at QCon London 2010, tried to figure out why there is so much bad code written. He offers advice on writing good code talking about a bad code example, Boy Scout rule, functions, arguments, craftsmanship, TDD, continuous integration, pairing, small cycles, patterns, engineering, certification, and other elements contributing to qualitative code.

http://www.infoq.com/presentations/Robert-C.-Martin-Bad-Code

How Great Leaders Inspire Action

Posted in: Consulting & Entrepreneurship, Software Development Team Leadership

One of the best TED talks I have seen in a long time. Simon Sinek talks about how companies like Apple can be so successful when compared to their competitors.

Scrum Anti-pattern: Outlier Pigs

Posted in: Software Development Team Leadership

In the Pig and Chicken analogy for Scrum participants (Jeff Sutherland explains Pigs & Chickens), the Pig is the one who is required to make the biggest commitment and put his proverbial skin in the game. For the Pig, it is an all or nothing proposition. They either meet their commitment or they do not, there is no gray area. However, many teams fail to get this level of commitment from their Pigs, or don’t even ask for it in the first place. This is the genesis of the Outlier Pig.
Continue reading »

Scrum Anti-pattern : Prioritizing Stories Within Sprints

Posted in: Software Development Team Leadership

The prioritization of Stories is a core practice in the Scrum agile development process. In fact it is probably the single most important responsibility of the Product Owner – making sure the Product Backlog is prioritized properly to maximize business value (a.k.a ROI). However, there is a common anti-pattern that I see regularly in which the Product Owner and the Delivery Team act complicitly to establish a priority order for Stories that are being committed too within a single Sprint. The need to do this comes from a negative place and it has dramatic consequences for the Delivery Team.
Continue reading »

How I Hire Programmers

Posted in: Software Development Team Leadership

There are three questions you have when you’re hiring a programmer (or anyone, for that matter): Are they smart? Can they get stuff done? Can you work with them?

Aaron Swartz
(http://www.aaronsw.com/weblog/hiring)

Should You Use Recruiters?

Posted in: Consulting & Entrepreneurship, Software Development Team Leadership

There has been a good debate on the Los Angeles Java Users Group mailing list this week about working with recruiters, both from the job seeker side and also from the employer side.

In my career I have worked with recruiters on both sides of the fence and I think the argument boils down to the same issue no matter which side you are on – working with good recruiters is a good idea and working with bad recruiters is a bad idea. Apologies if you were expecting something more earth shattering!

Many recruiting houses are simply glorified keyword matching services and they all function almost identically. If you visit their offices you will find a large room with two large tables, one designated for “Hardware” and one for “Software”. All the folks around the Hardware table are working to fill Hardware related positions and the Software folks are doing the same for Software positions. There will be 4 to 8 folks at each table, each with a computer and a phone permanently strapped to their head. At the end of each table will be a large white board with the “Hot Jobs” listed with the keywords to try and match, plus salary and commission rate (not surprisingly the higher the salary and commission rate, the hotter the job miraculously becomes). The main purpose of the folks at the table is to process the highest number of resumes as is humanly possible (from active job board postings, from their DB of past resumes etc.) and bring the resumes with the best keyword match to the top of the pile, then do a bare bones phone screening interview (ie. does the person actually exist) and then pass the pile of resumes off to the employer. The employer then has to process the resumes all over again, screen out 80% of them because while the keywords are there, there is an obvious problem elsewhere and then interview the other 20% to find out if any are even close. Most of the time you can achieve the same results as an employer by paying the fees to monster.com and doing the search yourself – it might even be quicker.

But as a job seeker you do need to be in contact with recruiters because many positions are never posted widely/publicly (at the request of the employer). In this scenario the employer is engaging the recruiter to get at their pool of contacts that are hopefully pre-screened etc., some of which may not even be in the active job market, but are known to the recruiter. This becomes increasingly true if the position being filled is higher up the corporate ladder (manger, director, VP etc). However, a bad recruiter will waste a lot of your time if you are not careful.

As a manager, these keyword matching recruiters are the bane of my existence and 50% of the reason I never answer my phone at work (the other 50% of the reason is software sales guys, but that is another post). The endless cold calls just trying to present me “a really exceptional candidate” they have found or “just wanting to know” if I have any open positions. These guys are really the sleazy used car salesmen of the IT industry.

As a job seeker it will be pretty obvious if you are working with one of these houses. Firstly if you ever get a phone call in response to a resume you submitted and it sounds like the person on the other end is sitting in a room full of people talking loudly, then they probably are. I have even been asked to hold the line when talking to one of these guys and while I was waiting I could hear another recruiter at the table talking to another candidate on their phone about the exact some position!

One of the other classic traits of these organizations is their incessant need to keep the job seeker and the employer at arms length from each other – the theory being that they need to control the communication stream so as the employer and the job seeker don’t reach their own agreement and the recruiter misses out on a commission. This is a symptom of the fact that the recruiter and the employer are not closely engaged with each other and do not have a strong working relationship. This also just hurts your ability to present the best of yourself to the employer. You are the person who knows your skill set and experience the best, and yet you are letting a recent high school graduate with 2-days in house training represent you. Another tactic is for these houses to take your resume and rebrand it with their logo and add their contact information and remove all of your own contact information. This involves a cut-and-paste from the resume you submitted and invariably ends up in a less than professional looking document. Just wait until one of these guys takes it upon themselves to actually edit the content of your resume “on your behalf” without asking you and you will very quickly realize that these guys are probably hurting rather than helping your job search.

Also, just be a little wary about the employer if they are using these kinds of companies. Its probably not a deal killer for you as the job seeker, but just pay close attention to what else your employer might not be paying close attention too.

But! There are good recruiters too, they are just a little harder to find.

I have worked with good recruiters on both sides of the fence as well. From an employer perspective a good recruiter who knows your industry and knows the local talent pool can be invaluable. They can help you shape the job description and salary of an open position to align it with what is happening in the rest of the industry and so attract the type of candidates you want. They can find candidates that are not in the active job market because they have built up a high quality contact list of candidates they have placed in the past or have met during prior searches etc.

These recruiters are usually smaller shops with a smaller focused recurring client base. Many work on a mix of retainer and actual placement fees, so they are not all about placing as many people as possible, they have an incentive to establish and keep long term relationships with employers by providing exceptional candidates.

From the job seeker side you will have to do your research to find these kinds of good recruiters. They probably won’t be posting hundreds of jobs on monster.com because they simply are not filling that many positions at one time. All of the ones I have dealt with in my job searches have found me, not the other way around. When they call you, the background of their side of the conversation will be quiet, because they are not working in the bull pen, they actually have an office! They will likely want to talk to you for a while and have an actual conversation. They will want to determine if you are an all around good candidate, not just a good keyword match.

If you are presented to an employer by one of these trusted recruiters, you are going to be going into that interview with a lot of credibility already on your side. Plus you already know you are one of just a few folks that are going to be interviewed, because that is what the employer is paying for – to not have to do hundreds of interviews.

So in the end, a good recruiter is someone you want to be in contact with, no matter if you are an employer or a job seeker. A bad recruiter on the other hand can waste a lot of your time and also actually hurt your chances of finding a job or filling your position.

The Cult(ure) of Netflix

Posted in: Consulting & Entrepreneurship, Effecting Change, Software Development Team Leadership

Great document, in slide format, that is purportedly an internal document from Netflix that defines their company culture.

There are a lot of big ideas contained within, and many are not widely accepted as the norm, so no doubt this document will spark a lot of debate. However, debate is a good thing, because at least people are thinking.

Culture
View more presentations from reed2001.

Agile Open California – SoCal Gathering in September

Posted in: Software Development Team Leadership

Agile Open California is a coalition of agile practitioners and advocates with an intention to provide an opportunity for learning, networking and growth to the Agile community in California and others who are interested.

Using the Open Space Technology framework, we hold Gatherings where sessions are self-organized around topics important to the participants. We invite you to take this opportunity to share your experiences, test new ideas and learn what other practitioners are thinking and doing!

http://agileopencalifornia.com/index.php?option=com_content&task=view&id=19&Itemid=46