The Time We Looked For Work as a Software Development Team
Part of this story is a common one. Established company in an industry undergoing major disruption hires developers to innovate back to viability. Management lacks clear vision of what that means and so chops and changes (not pivots, that’s something else) technology strategy several times. After two years of hard work there is nothing to show for it, so the developers are blamed for not building the right thing and let go.
But that’s only part of the story, the corporate one. The human part of the story is a bit more interesting. The team was composed of eight full stack developers, primarily working in Ruby on Rails and CoffeeScript with AWS serving it all up. The group was lively, intelligent, incredibly collaborative and built scalable, well tested software. We were good at solving problems together, appreciated each other’s company and enjoyed coming to work. We had spent nearly a year prior to the redundancy building a hypermedia API that never saw the light of day. We were professionally demoralised but still appreciated the chemistry (and targeted hiring process) that had produced such a capable and functional development team. So we decided as an experiment to see what would happen if we made some calls and tried to find work together.
Our expectations were pretty low. One of the devs summed up our chances of success as “improbable” and it seemed a fair assessment, but figured it wouldn’t hurt to ask considering how great it would be if we could stay together. We made a pact to attempt group recruitment but to let go of it if it got too difficult or messy.
I started by contacting a bunch of folks to see if anyone was interested. As a team of eight with a strong network in the Melbourne tech community we were able to access about a dozen phone numbers and email addresses of development managers in companies with solid reputations. We were pleasantly surprised at the universally positive responses. During the initial conversation some managers were hesitant and others like Zendesk immediately saw the value. However all of them soon got excited about getting a full stack team who worked well together with a strong focus on process and quality. I also imagine that since the cost of recruitment is so high managers are happy with the direct approach as it saves them a packet.
I followed the first contact with an in-person or Hangout conversation to discuss the breakdown of the team, individual skills and to answer any questions they had. We also discussed the realistic possiblity of their company being able to offer the entire team a position - as our goal was to try to stay together this was initially one of the key criteria. Only one of the companies was unable to consider offering the entire team positions and that was more a matter of timing than anything else.
From the initial dozen we then selected six companies that best represented the kind of technology, culture and product that we wanted to work with. As a team we met with each of them so they could showcase the kinds of projects, tools and processes we could expect working for them. Each of the meetings were different depending on the culture of the company - some over lunch, some in boardrooms with presentations and some at the pub. They were a real boost for us as we got to make some new connections and gain an appreciation for how valuable our team was on the open market.
From there we had another team-deciderer session to narrow down the field yet again. Going through a job application process as a software developer is time consuming and difficult and we thought doing it for two companies would be enough to give us the options we wanted. This decision was a hard call as all the enthusiastic people I talked to were doing interesting tech in culturally healthy, growing companies. Fortunately the team were largely drawn to the same two and we applied to Zendesk and Envato. Both of these companies saw the value of hiring a cohesive team and both were keen to try a customised process that would allow them to efficiently understand the individual strengths of such a large group. Zendesk were also very focused on the value of the team itself and wanted to see how we worked together to break down and solve problems.
At this stage both companies were keen to know if we were an all-or-nothing deal. While the initial motivation was to stay together as a team it didn’t seem reasonable, given that we were applying to two companies, to require each company to make offers to everyone. Especially since we were already clear within the team that each individual had to make the best decision for themselves as to which company to accept an offer from. There are just too many variables in accepting a new job and to require some members of the team to take less attractive offers just to stay together was not something any of us wanted to do. This of course was the happy path plan where we all got at least one job offer. There wasn’t a contingency plan for what happened if we didn’t. I was confident, given what I knew of the team, that they’d all get at least one offer. I was also procrastinating making difficult decisions till if or when we needed to. All the companies we didn’t apply to were more than happy to hear from us if we didn’t find the right fit elsewhere, so that was something to fall back on if needed.
The interviews were gruelling and taxing and exciting as per usual. There was definitely a bit of a safety-in-numbers feeling though as we were all going through the same processes together. And for Zendesk we spent a day engaged in a hackathon-style interview as a team, being observed by their employees to see how well we collaborated and built a project. After the interviews we had to wait a bit longer than normal as evaluating eight devs was more time consuming than just one, but within a week we had offers.
Of the team of eight all were offered roles at Zendesk and most also received offers from Envato. Four engineers chose Zendesk as being the best fit for them. Three engineers chose Envato as being the best fit for them. One engineer decided to decline the offer and stay on at the original company for a couple more months to get a redundancy package. I’d have loved to keep working with all of the guys and I’d have loved it even more if everyone had walked away happy, but from my persepective it was a success, albeit a qualified success.
Managed Expectations: It was a definite benefit that we didn’t have any concrete expectations around what would happen and how. There were so many variables in applying and being offered jobs, many of which were totally outside our control, that if we’d had an idea of what should have happened we definitely would have been disappointed.
The Power of the Team: So much of the stress of looking for work is alleviated when looking together. We got to pool our professional contacts, practice job interviews, get feedback on code submissions and go into interviews with buddies in the same position. We were less stressed going into the interviews than we would have been as individuals and therefore got to show more authentically where our strengths are. It was also clearly a great value proposition for companies looking to hire developers so getting in the door was easier than it would have been if we were looking as individuals.
Growing Networks: We all got to meet a lot of smart, interesting people. This cut both ways as the managers working for half a dozen companies all got to connect with a group of engineers. I’ve already recommended some of these companies to friends looking for work, and I’m sure the invisible capital of this increased network will benefit us all for years to come.
Total Lack of Privacy: Looking for work as a team means that every part of the process is open to scrutiny for all the other members of the team. If you get a good code review everyone knows, ditto if you get a bad review. Same goes for salary offers, assessment of skill and job offers themselves. I don’t know all the details of my colleagues offers, but I have a good idea of who got offered more and who got offered less and who didn’t get offered at all. If you are the kind of person who doesn’t like these kinds of details being exposed this may not be the way to go. Likewise not all of the team received offers at both companies and this was immediately public news. This kind of rejection can be much worse in a group than just having to be experienced alone.
Inconsistent Results: Only some of the team were offered positions at one of the companies. Between the two companies the assessment of skill of the individual team members varied dramatically. As both companies were trying new, abbreviated interviewing techniques they didn’t necessarily give the developers the time to show what they could do to best effect. As these results were public to the team it felt pretty bad for some of the devs to get a quite high assessment by one company but be ranked as much less proficient by the other. If we were interviewing as indidviduals this would be far less unpleasant than having the judgements broadcast. Both companies have reflected that they would improve the interview part of the process were they to do this kind of hiring again.
Salary Negotiations: This was where the process got hard as some team members received offers at or above their expecations while others felt they were shortchanged. As one of the team pointed out it would be hard for an employer to agree to a negotiated higher salary to one yet refuse to negotiate upwards for the others. If there is a presumption that an increase for one means an increase for all then increases are less likely.
Communication Fail: I failed to proactively discuss communication requirements before we got to the all important interview and offer stage. So information was given to me that should have gone to the individual team members first, and I passed that information on without enough sensitivity to the needs of others. This is private, potentially upsetting information and should be strictly between the potential employer and the candidate. If the opportunity ever arises again the first thing I will formalise are the individual requirements for group vs direct communication.
Would We Do It Again?
Of the eight engineers seven would do it again and one would not. Of the two companies that we applied to both would do it again.
If you decide to try it and you want to know more feel free to leave me a comment below. Or if you’ve been part of a team recruitment process I’d love to hear about it.