Confessions of an In-Demand Developer: How Too Many Job Offers Helped Me Craft My Own Coding Consultancy Company
As a young coder in my home country of Brazil in the 2000s, I never complained about having too many projects to work on. Life was good, and every new development contract I took on boosted my confidence, portfolio and bank balance.
It wasn’t until years later, in 2011, when I sold my first SaaS company and relocated to the Silicon Slopes of Salt Lake City, Utah, that I got a real taste of just how much demand there was for high-quality coding talent. A recent Huffington Post article makes finding coding talent in Utah sound like a walk in the park compared to what goes on in more congested hubs, due to the steady flow of bright-eyed and bushy-tailed graduates coming out of those hubs' local tech colleges.
On the contrary, based on my experience, businesses in my area have been crying out for experienced developers who can hit the ground running on more advanced dev projects. As such, I chose Salt Lake as my new base.
For a time, I was inundated with job offers. I had so many interviews that I struggled to make time for them all. But none of those offers resonated for me.
So, instead of jumping at any of the very generous propositions coming my way, I ultimately decided to use my experience to handcraft my own business model to tackle the real problems in the industry at the moment, both for the developers and the clients trying to hire them.
That's how, over time, I lost interest in being hired but, like an agent behind the lines, continued to say yes to interviews specifically so I could go into companies to gather information about my potential market.
Here are three ways I used all those job interviews to help me develop my own coding consultancy, which could be useful to aspiring entrepreneurs in other businesses too:
1. Use interviews to assess the real needs and demands of employers.
Normally, in a business interview, it is the candidate who is being assessed and analyzed. However, I decided to turn the tables and use interviews to gauge the different needs and demands of the companies searching for talent.
After all, successfully finding market fit for your product or service is a life-or-death situation for any new business venture.
As social entrepreneur Steve Blank has said, real customer discovery involves a lot of listening, not talking. Job interviews offered me a wealth of information crucial for developing my own business. This ranged from the development skills that were most in demand to the pay levels companies were willing to pay for a single developer versus a team of developers.
Interviews also helped me highlight common pain points and concerns companies had. For example, it became apparent that companies were hesitant to bring on whole teams of new developers rather than hire individuals for specific tasks. The reason, I learned, was that, when dealing with outside developers, companies typically ended up spending too much time training and managing those outside teams.
Worse, this expended time and energy and often didn’t translate into positive results, putting companies well behind schedule on their product road maps.
These revelations provided me an important lesson: Companies don’t want to hire developers whom they need to manage; they want to hire problem-solvers who, themselves, can take control of a project and make it work. As such, my company now hires only senior developers who can take the reins of development projects and work together with the client to increase his or her company's productivity and deliver real results.
2. Use interviews to highlight talent shortages -- then look to your own networks to fill them.
The "hacker" community is very tight-knit. When you're an experienced developer, over time you gather a contact list -- from college, from development courses, community events, meetups, co-working spaces and previous jobs. It's a list most HR departments would kill for.
And, thanks to social media, and sites like LinkedIn, it's easier than ever for those developers to keep in touch with people wherever they end up in the world.
While there is a steady flow of rookie talent coming straight out of coding schools and colleges, these junior developers need to be closely managed. Coming across veteran talent who can hit the ground running and in the process bring junior developers up to speed is much more challenging.
On more than one occasion, when I was offered a paycheck far higher than what I'd previously been offered for the same role, I couldn’t help but smile. I'd be sitting there, thinking, X would be just as suited to this specific task as I would, or Y just successfully completed a similar project, or Z could manage this project easily. I was smart enough to keep these thoughts to myself, but those experiences taught me a valuable lesson: I already had the network these companies were looking for, and I could use it to my advantage.
However, I did have the problem that the lion’s share of my contacts were people located thousands of miles away -- in my native Brazil.
3. Look south of the border.
Despite the scare-mongering that goes on about supposed tech talent shortages in Brazil, my homeland boasts various local tech hubs that account for roughly 1.5 million ICT employees. And the future looks bright, given the country's startup- and IT-supportive government.
Another advantage is the presence of outside players, like TCS, which has recently expanded its digital education program, goIT, to Brazil, and has signed an agreement to provide training in computing technologies to upwards of 92,000 youths in Sao Paulo alone.
But U.S. companies are leery of hiring remote foreign development teams. Remote hiriing raises issues of communication, quality control and the need to manage teams remotely across multiple time zones. Also, individual remote developers simply don’t work as well as those paired up in dev teams.
I realized that by setting my sights on Brazil, however, I had access to a larger talent pool of senior developers than I could have mustered in Utah. I just had to find a way to make U.S. companies comfortable working with them.
In order to facilitate this cross-border collaboration, I somehow had to teleport self-managing dev teams from Brazil to the United States. I decided to go for the second best option: bringing on the highest level of talent, putting them in the same place and then teleporting the U.S. companies offices to them.
To do this, I set up a campus in Brasilia that resembles the campus of a large tech company in the United States in every way. It has the same technology, same open-plan office spaces, same internet speeds, same rest and recreation facilities.
When you have talented senior developers working together to solve problems in the right environment, it really doesn’t matter what country they are in. I now split my time between Salt Lake City, interacting with clients, and Brasilia, making sure my developers have everything they need to do the best job possible.
4. Use interviews to work out whom you do and don’t want to work with.
The dream of any small-business owner is to be able to pick and choose which projects they work on, and which clients they work with.
By sitting through countless interviews, hearing the needs and demands of countless tech employers, over time I was able to work out exactly which types of projects and employers best suited me, and which would be most profitable in terms of time, profit and results for my potential teams. Not every development project is the same. Different development technologies and tasks require different skills sets. Different clients have different rules, regulations and stipulations.
Thankfully, nowadays, the internet offers small businesses the chance to be competitive. Dan McGinn, a respected Fortune 500 business management consultant, argues that the internet age has caused a power shift, allowing individual players access to a playing field once dominated by large corporations and governments. “The genie is out of the bottle, he wrote on LinkedIn. "More people have more ability to engage and create today than ever before.”
By using interviews to research the landscape, assess demand, size up talent shortages and analyze the amount of time and effort needed to undertake a number of projects compared to the potential returns, I realized I could start a small company, make a good profit and work on my own terms for the people I wanted to work for.
I put myself in the position of firing clients, instead of being the one to be fired.
Nowadays, for the "on-demand generation," this model isn't suitable just for coding, it can also be applied to many different careers, from accounting to app development to legal assistance. So, before you jump head-first into the next job position you're offered, why not play the long game and see if there is a business opportunity there for you? After all, who doesn’t want to be their own boss?