Yesterday I sat on a luncheon panel for the Chattanooga Technology Council with ~100 attendees representing most of the larger business in Chattanooga. The topic of discussion was Mobile App Development in the Enterprise. A growing topic amoungst most larger business. This was to provide attendees with a forum to learn more about what it takes to tackle the inevitable wave of mobile in the enterprise. The different areas covered where:
- Talent Acquisition
I spent a lot of time, maybe too much, on what non-tech companies should do to attract development talent. These companies have great ideas on what they would like to do with mobile applications, but are having an extremely difficult time acquiring talent.
Below is a summation of my opinion on what it takes.
You Want the Crazy Developers
Here’s To The Crazy Ones. The misfits. The rebels. The trouble-makers. The round pegs in the square holes. The ones who see things differently. They’re not fond of rules, and they have no respect for the status-quo. You can quote them, disagree with them, glorify, or vilify them. About the only thing you can’t do is ignore them. Because they change things. They push the human race forward. And while some may see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world – are the ones who DO ! – Apple
First Rule of Business is to Know Your Competition
You have a great idea and one of the first things you do before attempting to execute it is analyze your competition. I find it interesting that companies haven’t learned from their competitors on how to not only attract, but recruit talent. It is no secrect that iDevices have created a paradigm shift in not only how to we consume content but the way that businesses communicate with their customers and run their operations. Being a mobile, specifically iOS developer, today is like being a rockstar in the 60’s. The demand for our talents is unprecendted in a generation. Most large companies may have large budgets and 401k’s, but they still can’t fill these positions.
Let’s explore why.
Free to Choose
It’s all about choices, and we have a lot of them.
Whether or not you feel there is a “tech bubble” or not the fact remains that, as of today, the entrenpuenal environment is at its nurturing peak. Everything from bootstrapped app ideas, to city sponorsed startup accelators, crowd-sourced funded projects and finally national legislation that is incentivising those with business ideas to pursue them.
Anything West of the Mississippi
The list of top-notch, cutting edge companies that are recruiting mobile developers and engineers is too long for this article.
This doesn’t include the obvious one’s like:
But the end result is the same. You’re company sells paper products….they have cult like followings, fanboys, goats that cut the grass, lots of natural light, amazing whiteboards, free food/beverages and pool tables.
Sample of Google’s office pictures
Not everyone has the time, talent or resources to be, nor hire fulltime a dedicated iOS developer, but that doesn’t mean the grabbag of ideas doesn’t exist. Finding interesting contract work is as easy telling your local bartender, “Please sir…may I have another”.
Recognize the Creative Force
There is still this stereotype/assumption, that I wish would die a quick death, that developers sit in dark basements, with no windows, and a cooler full of Redbull scared to actually speak to warm-blooded human-beings. This is nothing further from the truth. Just take a look at all the different language and technology meetups, conferences and even a whole developer community movement, Appsterdamn.
We are social creatures who enjoy open dialogs, large whiteboards and gatherings of like creative minds. We don’t want large cube walls and flickering flourescent lights, rather open space with LOTS of natural light. We are not wrench turners, but a creative force that will take your abstract idea and create a beautiful product or service. All we need are the tools and atmosphere.
Sample of creative tech office pictures
Out With the Old and In With the New
So what does it take for corporate America to attract the talented, creative, engineers to work for them?
Developers are throwing away ties faster than women burned bras in the 60’s. I know it seems junvenille, but this is the standard that has been set. I can’t think of 1 company outside of corporate America that has a dress code. Suprise most of the talent is there. People should feel comfortable when they go to work. Hell, they spend most of the day there so why wouldn’t you?! If I was a VP of Finance at a bank I would wear a suit and tie. That is the appropriate attire that has been dictated by the profession and I honestly believe people should fall in line with that. The culture for developers and technology are t-shirt and jeans. Your company will probably need to fall in line with that.
More so than the dress policy, your company’s “work hour” policy needs to be evaluated and probably revised. Some developers are night owls and do their best work from 11pm to 5am. I myself, do my best work early in the morning, starting at 7:30am – 3:30pm and then from 8:30pm to 12:00pm. However, if I am on a streak of progress that carries me until the wee hours of the morning then I’m not coming in at 8am. Forcing them to come in between 8am to 5pm does nothing for your company or employee. You should allow that employee to work those hours that provide the best output. Providing this type of flexibilty allows for not only a happier employee, but more times than not, better productivity and an increase in the number of hours worked for the same salary.
Even with the best office enviornments there is nothing like a change of scenary. Especially if there is a big milestone coming up, with a tight deadline, being focused is paramount. Allowing your devs to actually be offsite to work is a huge incentive.
For example, in the next few months I plan, on my dime, working from here for 3 or 4 days. Result will be epic.
I wrote a whole article on benefits and experience of working remotely. Below is my viewpoint on why most remote work policies are wrong and outdated.
I have strong opinion that, in general, as a country, managers/HR are still stuck on the notion that if they can’t see you work then you aren’t. If they let you work remotely then you will spend the entire day watching TV, drinking, playing HALO while taking the Lord’s Name in vain. The truth is that the same people who are great/productive employees on-site will have the same productivity at home and vice versa. Individuals who screw off while working from home are the same people who are wasting company time on-site. It is a personnel issue.
I don’t mean paying for a post graduate degree. Offering these are great, but traditionaly universities are waaayyyy behind in the rapid changing pace of technology, design and development. You should not just encourage and support your developers to attend meetups, drinkups and conferences, but make it MANADATORY. One weekend, evening or a 20 minute coversation over a nice old fashioned could solve problems or generate new ideas faster than you can say grand central dispatch. These types of social interactions and mini-classes can’t be understated.
If you tell a potential developer candidate, especially mobile, that they are going to have to work with Microsoft, SOAP or spreadsheets on shared drives that are FTP’d to an IIS server you’ll probably be looking for a decent developer for a loooong time. While it is an undeniable, and unforatunate truth, that most large companies are powered by MS servers or SAP the medium to aggregate, format and secure this data doesn’t and shouldn’t have to be. The best solutions for data aggregation middleware is going to be Linux based servers using Python, Ruby or PHP and utilizing a more flexible datastore(s) such as Postgres, MySQL or any flavor of NoSQL. The best desktop solution isn’t Windows it is Mac. It is futile to argue otherwise. Trying to dangle a Windows branded “carrot” in front of your a potential candidate has the same effect as bring a live skunk in the room. He/she will run.
Show Off Your Problem Solving
Developers, the one’s that you want at least, love to solve problems. Just because you are power company or insurance company doesn’t mean you don’t have cool problems to solve. Whether that is improving effciency with business operations or finding a better way for customers to self service their accounts. Who would have thought working for a municipal power company would be cool? On the surface it seems like some corporate factory, but trying write software that intelligently reroutes power to customers based upon a smart grid is about as cutting edge as it can get.
Protecting intellectual property is important to every company. In most cases it is your competitive advantage, but you create a lot of attraction when a potential candidate does research on your company only to find that you have open sourced some of your functionality or a piece of software. Once again, this is part of a developer’s DNA to share ideas and promote open source.
Encourage Side Work
Isaac Newton said an object in motion will stay in motion unless acted upon by a equal or stronger force. When applying this principal to humans, and in this context developers, staying in constant motion means “more of the same” and we fall into doldrums of stagnation. Our minds, creativity and problem solving skills become extremely routine, and thus out of date compared to our collegues. As a company culture, you should encourage side work to be that equal or stronger force which keeps our creative Midi-chlorians in over-drive.
If anything, this is free R&D for most companies. It is inevitable that concepts and applicaiton of ideas discovered during this side work or free time work themselves into the tools that are used in products/services for the company.
We Write Software Not Manuals
Companies need to get rid of this obsession with paperwork, documents, etc! A few white papers, “readme” files, or web pages, to get developers started with new concepts is fine, but hundreds and hundreds of pages of documents to describe every nuance of how your software is supposed to work is ridiculous! Just write the software as soon as possible, then iterate and iterate, until you get the first release out the door. The business world thinks getting things down on paper leads to quality, but all it really does is delay the software cycle and lower the quality until the very end of the process.
Source: Stan Harris (If you are reading this you should take his advice)
Only Thing to Fear Is Fear Itself
What has been proposed above, I am pretty certain, is every corporation’s nightmare. It is a paradigm shift to existing company culture or what has been deemed “the way things are done here”. I completely respect that, but you will never execute your visions in technology and specifically mobile development. Mobile and SOA are going to be the conduits of business for the next 20 years. You can and will be successful by instituting these changes in company policy and recruitment. The reason is due to the fact that you will attracting the best and brightest men/women/young/old to create something amazing for your company.
Developers want to make great products and they want to do it in an environment that fosters innovation, creativity and know that their skillset is valued.
P.S. We do all drink Redbull