Back in late 2004 when Kmart and Sears merged to create Sears Holdings, I had to wonder what one failing retail chain could do to help another failing chain. However since 2004, the one thing this new company has proven is that these brands die hard. In 2017, however, I think the answer has come back to conclusively nothing has been gained. Let’s explore.
Back in 2004, I didn’t really dig deep into the $11B dollar merger deal to get the nitty gritty details mostly because I had no interest in two failing retail chains (where I personally never shopped). Though, I already knew the handwriting was on the wall for both of these chains. It was just a matter of time before both chains closed their doors. That they’ve managed to hang on another nearly 17 years is a testament to the cash infusions from a billionaire. I digress.
After deciding to finally dig into this merger deal, however, I have come to find that this deal was instrumented by a former Wall Street darling Eddie Lampert. A wiz bang former Goldman Sachs employee who started his own hedge fund and apparently made mad cash. Though, I’d have questioned why a Wall Street darling would have any interest in the failing retail space. It’s clear, though, Lampert still has no knowledge of retail even after 17 years of floundering with Sears Holdings. Lampert pretends he wants to be the next Jeff Bezos with this investment, but is failing at this for two really big reasons: 1) Lack of innovation and 2) Lack of involvement.
According to his executive staff, Eddie spends most of his time at his home on a private island community in Florida. A community of apparently 86 residents and a staff of private police to ‘protect’ the island. Based on his executive meetings, he literally phones in his CEO job day in and out. He rarely, if ever, makes an appearance in the office.
Running a company by remote control
It’s one thing to be an individual contributor who works remote. Typically, these are task oriented jobs which can be easily monitored for task completion. However, as CEO, there is no possible way you can run a company from behind Skype. However, if Lampert had had substantial previous retail management experience, he might be able to get away with this. Because Lampert has no knowledge of retail after merging Kmart and Sears, he’s effectively flying blind. Even nearly 17 years later doesn’t automatically impart knowledge of retail. It’s clear, Lampert has no business operating this company. Unfortunately, whatever is left of the Sears Holding company is entirely dependent on Lampert for his continual cash infusions (up to $1B) which have kept this listing barge from sinking. However, some boats are best left to sink.
It’s crystal clear, when you buy into a business you know nothing about, you have two choices. One, sit on your arse and assume you’ll figure it out eventually (which usually doesn’t work). Two, dive in head first and learn everything you can about running a retail business. I think it’s a relatively safe bet that Lampert is in the former camp rather than the latter. Instead of being available and actively engaging in the day to day affairs of the business, he sits comfortably at his private island home and dictates policy from a Skype conference call. It’s no wonder this business is being slowly driven into the ground.
For any would-be business owner
As an owner / CEO, you need to be actively engaged in and have passion to drive your business forward, whatever that business is. You can’t sit behind a computer screen at home literally phoning in your CEO day job. That may work for a short period of time, but it won’t work forever. It’s clear, Kmart and Sears are both on the brink of collapse. Why? Because the merger of two ailing turned failing companies was a foregone conclusion without an engaged leader. A CEO / owner is there to drive and guide the business forward. To make the tough choices and ensure the business remains viable and becomes / remains profitable. Your underlings won’t do this on your behalf. They’ll do whatever it is to take their paycheck home, but they won’t go out of their way to run your business. That’s your job.
The takeaway from this case study is that you cannot sit on your arse and expect others to do your work for you. You need to be available in the office often to drive your business. If you don’t take your business seriously, no one around you will either. You need to understand your sales numbers, what’s selling and what isn’t. You need to make strategic partnerships to bring exclusive merchandise (as in the case of a retailer) onto your shelves at a low price as a way to drive customers into your store. You also need to be shrewd to get costs down and profits up. You need to hire a kick-ass marketing team who can bring the demographics into your store. In short, learn your business, understand it, live it, breath it and make it your passion. Own your business’s problems and own its solutions. Also, you need to think outside the box to continue driving all demographics into your establishment(s).
Yes, it would be nice to sit on the beach sipping margaritas all day or behind a gated community in a big mansion and also be a successful CEO of a profitable corporation. That’s a pipe dream that doesn’t happen. You only get that beach time after you’ve done your in-office time and made your money. Retail doesn’t just automatically make money for you. It requires active involvement. You need to actively drive new business into your business. It’s not like your hedge fund where you crunch numbers at a desk and move out bad performers. You need to be in the office driving your staff. You will need to reinvent your business, brand and ideas every so often to remain ‘the place to go for cool new stuff’. Once your retail business is thought of as a mom and dad store, your store is considered antiquated. The mom and dad demographic does make some money, but it isn’t the only demographic spending money and that single demographic will not convert your company from a million dollar company into a multi-billion dollar company.
Why phoning in as CEO doesn’t work
If you aren’t showing up to the office day in and out, you are missing critical verbal queues, having meaningful conversation with your staff and learning the problems that face your business. Keep in mind that some problems are outside problems. Like, for example, the threat to Kmart and Sears has been the internet retailers like Amazon. This means you need to spend quality in office time hammering through new plans to counter growing trends, like Amazon’s quick ship, quick deliver model… like Amazon’s Kindle services. If you don’t keep-up-with-the-joneses, your business is lost. Sometimes the problems are internal problems, like horribly outdated decor and fixtures. Sometimes they are supply chain related.
Since the merger in 2004, Kmart and Sears have both failed to change anything substantial with their store merchandising or, indeed, updating their store look and feel to accommodate new growing trends. Instead, they left their stores looking like something out of the 80s. Who wants to shop in a place with horribly dirty floors, drab coffee stain colored walls and fixtures with chipped paint and rust? Not to mention, that horrid glaring 80s fluorescent lighting job. You want to make your stores inviting and modern, not be a turn off. This is where it takes regularly entering and visiting stores to see how they look, how they feel to a shopper and how the merchandise is being faced. Then draw up plans to remodel your stores.
Being a Billionaire
Not everyone has this luxury. As with Lampert, he’s apparently got lots of money to spend. But, that doesn’t make it spending money smart. The saying, “throwing good money after bad” actually applies here. Why would you want to continue to invest more and more money into a chain not producing returns on your investment? That’s not a good investment strategy. For a Wall Street darling, it really makes no sense at all. Use your gift of understanding good investments and then apply that knowledge to Sears and Kmart. You’ll quickly see your error. It just takes an outside party looking in from the outside to see what someone so close to the matter can’t.
Can Kmart and Sears be turned around? While anything is possible, I’d personally say, “not at this point”. If Lampert had started the turn around back in 2004, he might have been able to pull this listing ship up right. However, because he has become a complacent mostly home bound recluse for many of the last 17 years, a turnaround for this venture is likely impossible with this leadership team. It’s too bad, too. Sometimes we just need to say goodbye to some beloved old brands to let newer brands take us to the next level.
Using time (and lighting) wisely
As a business owner, don’t let your business become a victim of complacency. Expect to reinvent your business every few years to not only keep your business fresh, but also to keep people coming in to see what’s new. Customers value companies that invest in making their stores better. Having a refreshed store means you care about your business. It also means you care about how your merchandise looks on the shelves. If your stores look old and trashy, so will your merchandise. If your store looks new, fresh and well lit, so will the merchandise. It’s literally all about creating the proper mood and perspective in your stores. Lighting has a huge amount to do with this. So, expect to replace old outdated fluorescent lighting with updated LED lighting concepts.
It just comes down to investing money in the right things for your business. It’s clear, Eddie has no clue where to have Sears and Kmart use the money he’s investing. Instead of just throwing good money after bad, ensure that that money is being used to remodel stores, being used to draw consumers in and being used to buy merchandise that fits with the store’s branding.
Unfortunately, both Kmart and Sears haven’t been ‘goto’ places in a very long time. That’s primarily because these chains have not focused on any one area to be proficient at any. For example, Target has revamped its 80s retail-only stance into becoming a neighborhood grocery as well. So, not only can you go to Target to get the latest blu-ray movie, you can also pick up some hamburger and fixings to go with it. It’s a well rounded shopping experience. However, heading into Kmart, for example, yields many deficiencies. For example, the electronics area doesn’t even carry video games any longer. How can you possibly operate a general merchandise store and not carry any video games?
Drive your business smart. Invest money into your business wisely. Remain focused on your goals. Most of all, remain engaged and passionate in everything you do. If you don’t do all of the things that continue to make your business a success, you may end up with a failure. Unlike Eddie Lampert with seemingly endless funds, you may find your doors shut. Though, I believe at some point soon, even Eddie’s pet project of Sears Holding will close. However, if you find yourself as wealthy as Eddie, spend your money however you feel. It’s your money. For the rest of us, driving your business smart is the obvious answer to eventual success. Though, I will say that even as passionate as you may be about your business and as much work as you may put in, there’s still the possibility that your business may fail. Predicting success or failure in any new business venture is tricky as there are so many unpredictable market forces outside of your control. For the things that you can control, you most can certainly guide your business success in the right direction and reduce your chances for failure.
While I understand the need to ask for surveys or ratings or whatever after a purchase or talking to a sales or service rep, but give us a friggin’ break constant hounding. Flat out, I am not doing them any more.
It seems that more and more places want to request surveys after having an interaction. Either they want vocal surveys over the phone after the call, place links on receipts or they want to send long and torturous Survey Monkey surveys. Worse, they are getting longer and longer and longer.. Worse, they’re getting to be so in-your-face with these requests now. These requests are way overreaching….and I’m not going to do any of them.
Yes, I’ll do them if I have a bad experience, but other than that, suck it up. I’m not doing it. So, don’t send me 2, 3 or 4 ‘reminder’ emails that I need to go and do it. Give it a rest. I’m not doing it. Worse, if you keep sending me these emails, I’m highly likely to mark them as spam, which isn’t going to help your email reputation. So, give that reminder thing a rest!
No intention of doing surveys
As the title says, not doin’ it. It’s a waste of my time to do these long survey forms that don’t really help me in any substantial way. If you want me to participate in your survey, why not give me an incentive? Like money off my next bill or a coupon for money off my next purchase? Seriously, how hard is it? If you really want me to do it, give me an incentive to do it. I’m not here to run your business for you. That’s your job. My feedback is likely to be tossed anyway. So, that 15-20 minutes I just spent on your behalf is a total waste of my time. If you want me to do them, then give me a substantial reason.
Bad service = bad review
On the flipside, if your service is awful, expect a bad review. So, you might not want to ask for them. Of course, if you actually intend to make your service better, then by all means ask. Not that I’m going to fill out a survey if the service is good. It just frustrates me when I fill out a survey and submit it to a company that has no intention of changing (Comcast, Verizon, AT&T, et al).
I get the reason for asking for these surveys, but let’s end this trend. Let’s figure out a way to get what you need in another way. Surveys don’t provide you with what you need anyway. You may think they do, but they don’t. In the end, they don’t work to improve things and, in many cases, fall on deaf ears. So, they’re pointless. For this reason and the lack of incentive, I’m not doing any future surveys and will decline them every chance. I also plan to start marking them as spam at every turn. So, I’d seriously suggest businesses start being much more careful when sending after-the-fact emails asking for completion of surveys.
Bottom line… no survey for you.
Okay, so now your business is big enough (and making enough revenue) to consider acquisitions. But, making acquisitions can be tough. Part of what makes acquisitions tough is making the tough decisions to ensure the success of the acquisition. Yet, some companies haven’t the first clue about how to make these tough decisions, especially when involving company culture.
Don’t let the company you are acquiring dictate any company culture demands
In other words, walk away from any acquisition deal where the owners demand (as part of the deal) to be allowed to continue their current company culture. No, no, NO! Do not allow this! Never concede this by allowing the acquired company culture to remain as part of the acquisition. If you do, it will tie your hands when it comes time to merge the the acquired company into yours. It all must become a single company culture or you will never make the acquisition a success.
At some point, you must merge the people and the cultures. If you don’t nip having two cultures in the bud, you’ll end up with part of the company doing things one way and another doing things entirely different. You can’t have your company culture fractured across the boundary of an acquired entity or you will never get rid of culture problems. Basically, don’t tie your hands before the deal is done.
Don’t let the acquired company executives dictate how their section will continue to operate
This goes hand in hand with company culture, but is distinctly different. Executives of the company being acquired do not want to lose their tenure, authority, position or compensation after having been acquired. Ultimately, this is not possible. And, ultimately, it can’t be allowed. You can concede this for a short time during a transition period, but you cannot allow it to remain after the transition period. If the acquired company executives don’t like it, they can leave. If you concede this point, you will never successfully merge the two entities.
This is one of the hard choices you must make. For companies being acquired, you have to lay down the law. If the person can have a role in the new company and can accept your company culture, give it to them. If they don’t have a role, lay them off. If that person can’t accept the company culture, lay them off. If they are unwilling to work within the current constraints of your company’s goals and processes, lay them off. This is a hard decision, but a decision that must be made. You cannot keep the acquired company structure and processes around in your business. If a process you’ve inherited from the company makes sense, then yes, you can integrate it. But, typically this never happens. The company being acquired almost never has more mature processes than yours.
Don’t allow an acquired company to remain located in a separate city from your business
Another hard choice, but one that is entirely necessary. You cannot leave the office open in the city where the acquired entity was located. You should dictate as part of the acquisition terms that you will close it and relocate staff who choose to relocate to your headquarter offices. While you can leave the office open during the transition period, you cannot leave that office open. If you do, you will never integrate the staff into your business. They will forever retain their culture in that office. Acquired staff must move to your headquarters or leave the company. If that’s a deal breaker, walk away from the deal.
The only exclusion to this rule is acquiring foreign entities. If you are a US entity and acquire a Japanese office, this is the only time where you will want to keep that entity in its entirety. However, in the domestic US, the rule is close the office. You can re-open and restaff an office in that same city later, but the acquired entity office must be closed as soon as possible to set the tone that your company is one culture and one team.
Don’t make the staff of the company the most important piece of the acquisition
Unless you are a staffing firm acquiring another staffing firm, you typically acquire a company for its customer base or its technology, rarely ever for its staff. You will need to keep in perspective exactly why you are buying a company… and it’s rarely ever for staff. However, if you are buying a software company, it’s probably a good idea to keep certain few key developers for at least a short period of transition time. But, do not keep them on staff forever. Once they have turned over their braintrust and code to your engineers, usher them out of the building. I’ll reiterate, you buy a company for its technology or customer base, never for employees. However, if those key employees are willing to relocate and willing to accept your culture (usually not), then you can invite them to stay. Otherwise, you should put that key staff on a 6 month contract to transition the software and documentation to your team, then usher them out.
Don’t hire executives for more than a 1 year contract on acquisitions
When you buy a company, you’re technically hiring these employees and execs blind. Sure, you could assume that the employees there did something right to get the company to the point where you considered buying it, but you may be making the wrong assumption. It’s entirely possible that the people (or person) who created the product or service has long since walked and you’re buying a shell in maintenance mode. Based on this fact alone, you should be prepared to walk everyone in the acquired company to the door. If you aren’t prepared to do this, you’ll have no hope of successfully merging two entirely different cultures. If you’re not prepared to fire every single acquired employee, you shouldn’t be in the business of making acquisitions.
If the acquired employees are not acutely aware and accept that your culture is the dominant culture, they will not fit in nor follow your company’s processes. Even if they are aware of this fact, they may still choose not to follow your company’s processes (see allegiances below). You should be prepared to let any acquired employee go quickly. In fact, you should plan to let these employees go after the transition period is over. This prevents culture issues entirely.
Don’t get lulled into thinking that a technology acquisition will save your business
It won’t. Plain and simple. If your own product or service isn’t cutting it, any company you purchase will not typically be any more successful than yours. In fact, you may find that it may make no money at all and you’ll end up (best case) giving it away for free or (worst case) shutting it all down and dumping it.
You should understand that, like any business, ideas come and ideas go. Some work, some don’t. Buying a company for software, hardware or specific technologies isn’t without risk. Sometimes you gamble and win, some times you lose. There is no crystal ball for this. But, you must willing and prepared to throw away everything from an acquisition. This is yet another tough decision, but it’s one that needs to be clearly understood. If you are unwilling to acknowledge the failure of an acquisition, then you shouldn’t be in the business of acquiring companies.
Don’t create new positions for acquired executive staff
If there isn’t a position already open, do not create fake titles for executive staff. You should explain that there is no position available for their skills within your company, at the bargaining table, and make it perfectly clear that they won’t have a role in the new merged company. Of course, you can compensate them, but they will have no job. If they won’t accept that, walk away from the deal. Additionally, don’t create co-presidents or co-CEOs or co-anything. Dual roles in your business generally do not work. Not only will your staff be confused over to whom they report, double decision makers lead to decision problems, never solutions. Additionally, you likely don’t know any of these acquired executive staff. Sure, they might appear knowledgable, but they didn’t go through your official interview processes. They bypassed that process and became your employee through acquisition. There is no accounting for their knowledge, skills, background or abilities.
One other point I should make here is about allegiance. Keeping executives from an acquisition in a position of power, especially co-leader positions, enables acquired employees to retain their allegiances to their former leaders rather forming new allegiances with your leaders. These fractured allegiances are likely to lead to more problems in the future. This goes back to company culture above. If you keep acquired staff and executives on board, you are asking for culture clash problems. This can be eliminated by eliminating acquired staff after the transition period is over, including executives.
Don’t skip the interview process for acquired staff
If you want to hire on any employee from an acquisition, force them to go through your same hiring processes as any candidate. Have your teams interview them and determine if they fit with the position based on their skills. If the staff like and accept them, hire them. If they don’t, walk them to the door. Do not blanketly accept staff from an acquisition simply because the company was acquired. Follow your standard hiring practices when considering bringing staff on from an acquisition. Make sure that that the acquired company is fully aware that every staff member will need to go through a rehire process by your hiring managers. If they don’t fit the skills needed for an open position, don’t hire them.
Don’t avoid reviewing your acquisition progress yearly
Company technologies and staff don’t always integrate nicely, especially over time. You need to review the progress of any acquisition regularly. Don’t just assume that the acquisition is working perfectly simply because you hear nothing about it. Instead, you need to go digging for information. Ask people on your team what they think of the acquisition and if it was successful. Get opinions from your team members and understand what they are saying. If your team members won’t give candid information, then ask for them to fill out a survey and offer a notes section at the end for freeform comments. Assuming the survey is truly anonymous, the employees will be open and candid with you. You need to know when company culture clashes exist. These cannot be swept under the rug.
The above is a real customer call between Ryan Block and a Comcast customer retention representative. Keep in mind that Ryan Block’s significant other had previously been on the phone for 10 minutes prior to this conversation, who then got frustrated and handed Ryan the phone. In Ryan’s quest to cancel service, the 8m 14s conversation that ensues is an amazing listen.
To Comcast’s credit, they have issued an apology to Ryan. However, the above may indicate a newly emerging industry trend that may need to be identified within your own organization. Heavy handed tactics only lead to bad customer PR and, again, the above is a prime example of ‘What Not To Do’.
In the spirit of this series of articles, this call is also a prime example of how not to run customer service within your business. Let’s explore.
Do not allow your telephone representatives to run amok
Record all your customer facing calls and review these calls daily, preferably with the representatives in question. After listening to a call of this nature, the supervisor should have pulled this representative aside and called out this insane performance. This representative should have been immediately pulled from the phones and sent back to remedial training on how to work with customers. If this behavior continues, further disciplinary action should be taken.
What’s not completely clear is how much of this agent’s behavior and line of questioning was of his own volition and how much was a managerial and/or company mandate within his local organization or Comcast as a whole. It’s clear that Ryan seems to think this behavior is not by this agent’s own accord. He believes it to be wider problem within Comcast and this ARS technica article shows that this may be true.
Do not teach or reward your representatives’ bad behaviors
No matter where this type of behavior spawned, it is not welcome in any organization. If a customer calls to request service closure, it’s fine to ask a few questions to understand the nature of the request. However, if the customer declines to answer reason type questions, simply make a note of that in your records. Then, promptly accept and follow through with the request. Representatives are not there to argue, banter, delay or in any way hold the customer hostage by not following through with the service closure request.
If your representatives refuse to follow through with the request for closure, this is tantamount to extortion. Refusing to stop service may also be illegal and may also be considered in breach of your contract. If the customer has followed all contractual obligations to you for notifications and payments and your representative will simply not stop service, you should also expect a call from a lawyer.
Do not expect your customer retention team to act like this representative
This call underlines a lot of things all at once. Once thing it clearly underlines is this conversation method is not the path to customer retention or customer satisfaction. Customer retention is about offering a deal or set of deals to keep the person as a customer. Customer satisfaction is earned supporting requests, if possible, timely. When the customer declines all offered deals, there is nothing else with which you can barter. Your retention team’s job is done. At that point, the service closure should proceed unhindered per the customer’s request.
In a memo that was leaked via The Consumerist, Comcast Chief Operating Officer Dave Watson writes:
“[I]t was painful to listen to this call, and I am not surprised that we have been criticized for it. Respecting our customers is fundamental, and we fell short in this instance. I know these Retention calls are tough, and I have tremendous admiration for our Retention professionals, who make it easy for customers to choose to stay with Comcast.”
Though he also admits:
“The agent on this call did a lot of what we trained him and paid him — and thousands of other Retention agents — to do.”
Of this behavior, ARS Technica writes:
“Comcast employees have financial incentives to act the way the agent on the call did. An anonymous reddit user who claimed to be a Comcast employee wrote that “these guys fight tooth and nail to keep every customer because if they don’t meet their numbers they don’t get paid.”
Bottom line, do not pay your representatives to act in this way.
Do not allow your representatives to bring bad PR to your company
Another thing this call underlines is just how badly a call like this can backfire on your organization. With call recording technologies, internet sharing sites and viral media, your organization can now suffer a swift backlash. If you’re trying to keep your brand relevant, popular and selling, such bad public relations can easily bring your brand down and, along with it, bad press and legal ramifications.
Do not underestimate the power of social media
Social media is the new billboard and can make or break the reputation of your business. It only takes a one or two viral backlash campaigns and your company’s reputation is tarnished for at least a year. It will take that amount of time to rebuild your company’s brand, quality and reputation. In other words, don’t expect to get any J.D. Power awards after such a negative media event. Just as one bad email campaign to the wrong set of email addresses can tarnish your marketing reputation, one bad customer service experience posted to social media can tarnish your customer service reputation and with it, your brand, products and services.
Social media is a great white shark and those teeth hurt a lot when they bite you unexpectedly.
I have recently heard that a common question among Silicon Valley CEOs towards government is, when is the H1-B allotment going to increase? Let’s explore exactly what this question ultimately means.
Foreign vs US Workers
The H1-B visa is a type of work visa granted to a foreign national to work within the United States for a specified period of time, that eventually expires and will need to be renewed. Asking to have more of these granted per year says only one thing: These Silicon Valley CEOs believe they cannot find domestic US talent to fill positions. Either that, or they mistakenly believe it’s for cost cutting purposes.
My problem with this situation is that someone in each of those organizations is telling the CEO that they cannot hire locally. This is a load of rubbish and the current limit on the issuance of H1-B visas is in place for a reason. If you are a company doing business in the US, the point is to …
The foreign visa limits are there to prevent hiring foreign workers over local US citizens (and thus, keep those wages inside the US to help the economy). That’s the entire point. If the US government were okay with letting companies hire foreign workers willy nilly, then there would be no limits on H1-B visas nor would this visa likely even exist. Instead, it is there for a purpose and that purpose is to limit foreign workers to force hiring of US citizens. This is exactly as it should be.
If you think you need to hire foreign workers, feel free open a foreign office and hire all of the foreign workers there. Just keep them there and do not bring them onto US soil.
One of the other problems that I have with hiring H1-B workers is that most of these worker’s wages get sent back to the country where that worker calls home. Most of the money is not spent in the US. So, in general, H1-B workers do not, for the most part, help improve the US economy. But, they do help out their own country’s economy by sending much of their paycheck there. This is, if for no other reason, a big reason to hire US workers over any other type of worker. This all assumes that you value your US based business along with the US economy.
Again, if you really need to hire cheap labor, open an office in that region and hire to your heart’s content. As a CEO, nothing is stopping you (other than perhaps the board of directors) from making that decision. Asking the government to grant more allotment of H1-B’s is not the answer and never will be.
Lack of Talent
If anyone on your hiring team is telling you that there is lack of talent, the real lack of talent is actually in your hiring team. Meaning, when they’re not finding people it’s because they’re simply not trying. There are people all over the US who are talented and willing to work. Yes, you might have to pay them more in some cases, but if you want good talent, you pay for it.
Is hiring an H1-B worker actually cheaper? Not necessarily. If your company is choosing to sponsor a foreign worker (whether or not they plan to get a green card), your company is in for a large number of fairly pricey and somewhat time consuming legal proceedings at regular intervals. In other words, expect legal fees and lawyers to manage this process. So, what you’re not spending on that worker’s wage goes to your lawyer to keep that person legally in this country (and your business in compliance with the law). Worse, if that H1-B worker chooses to leave the country before your sponsorship is over, the legal fees you’ve spent are lost. If nothing else, the proceedings can interrupt both yours and that worker’s schedule to meet legal deadlines. Even worse, an H1-B holder can work at your company just up to the point of becoming a citizen, making your company foot all of the bills and then they jump ship leaving you without a worker and a set of legal bills you still need to pay. It happens. It’s not pretty. You can simply avoid this by hiring domestic US citizens.
It’s called this for a reason. If Silicon Valley CEOs are claiming they need more H1-B visas, I call hogwash. There are plenty of talented US workers. The problem is not in the talent pool, it’s in the talent acquisition process. Either the job role is too overreaching, in which case you still won’t find someone or the job role is overly tiny, neither of which a foreign worker would turn down even when they’re not qualified. Considering the unemployment rate today, your hiring managers are not even trying. Meaning, because most hiring processes are severely broken, its difficult to find talent because it’s hard to spot talent. That’s why you have a 90 day new hire grace period. Put it to use. Hire people, take chances, let those go early who don’t work out. Many job description postings are looking for the swiss-army-knife of talent. For example, a guru in networking, databases, systems administration and software development all rolled into one. If your company is a startup, you might need someone like this because your staff is so small, but chances are you’re not able to hire H1-B staff that early in the company’s life.
Still, a swiss-army-knife of talent is hard to come by no matter the size of your business. Pick the role that you really need most and train the staff for the rest. Focus on the skills you find in your candidate rather than those that are not there. If you can find a database administrator separately from the systems administrator, hire two people. You still need to have the backup. If you place all of your eggs in one job role basket, when that person leaves (and they will because they’re in demand) you have a huge hole that’s, once again, hard to replace. Choose smaller more easily replaceable roles. You’ll also end up paying a high wage to the swiss-army-knife talent versus much less for the limited role talent.
Hiring Processes Broken?
Hiring managers can sometimes create some of the most difficult interview processes leaving would-be candidates unable to show they have talent because the hiring manager asked the wrong questions. Yet, given a chance, many people would not only do well, but they would excel at the job. Hiring managers don’t see the talent and then claim they can’t find talent. The HR people pass that feedback blindly along to the CEO who wholeheartedly believes he/she needs H1-B workers for all to be right with the world.
Nope. I completely advocate that you need to exhaust all of the talent pool in the US before you jump on the H1-B bandwagon. And no, hiring one Indian worker does not mean you need to hire more Indian workers no matter how convincing that first H1-B worker may have been. However, if you promote an H1-B worker to a managerial position, you need to expect them to reach out to their friends living in India and then want to hire their friends who will also require an H1-B. Your hiring handbook should be very clear on this point. You should only hire H1-B workers after you have exhausted all domestic US workers and this is as it should be.
The point is, your company doesn’t need H1-B workers. It just needs better processes to find citizens living in the US who are willing and able to work the role. If you still think you need H1-B workers, please re-read this article again and then comment on why you think so.
So, I know how much everyone love my rants. Well, here’s another one. This falls under personal security and internet security common sense. Today, let’s explore the safety of Google Wallet and it’s so-called verification system.
What is Google Wallet?
Basically, it’s another type of payment system like Paypal or Amazon checkout. Effectively, it’s a way to pay for things or send money on the Internet using Google. That’s about as simple as it gets. Who uses it? I certainly don’t nor will I ever if Google doesn’t change its ways.
Verification of Identity
Like most other payment systems, they want to know who you are. Or, at least, that the person who is wanting to use the payment system owns the card or bank accounts added into their system. However, each one of these payment systems usually does verification in similar ways. For example, Paypal verifies you by requiring you to add a checking account (i.e., routing and account info) and then adding a small amount of money to your checking account. Later, you enter those two tiny amounts of money into their verification panel and you’re all set. That’s pretty much it for Paypal. This is similar to other financial institutions like E-Trade.
Google’s Verification = Stupid
And I thought Paypal’s verification was stupid. Leave it to Google to diverge and make it even more difficult. In the verification form, Google requires you to enter your social security number, your birth date, your home address, your phone number and various other information that could easily lead to identity theft. Then they require that you submit it. Information, I might incidentally add, that is not required for you to use an established credit card or bank account for payment. After all, banks are already required to identify you before opening an account. This is the whole reason why Paypal’s verification system is enough. Paypal merely hangs onto the coattails of the bank that has already previously verified your identity when you opened the account. I digress.
When their entry form doesn’t work, they require you to attach a PDF document of a government issued identification card. Not only is that stupidly manual, who the hell know what Google is going to do with that PDF file once you send it to them? Why would you want to do this anyway? Seriously, you’re not opening a bank account with Google. You’re not getting anything out of it by sending this to Google. And, you’re opening yourself up to huge personal risk by leaving PDF documents of your identification cards floating around on the Internet for hackers to find. Seriously, what is Google thinking here?
For me, that’s a big red flag and a BIG FAT NO to Google. I have no intention of providing any physical paperwork to a private corporation. If you can’t figure out proper method to identify the user electronically, that’s not my problem.
I know that Google claims that this is all in the name of Federal compliance, but I’m quite sure the compliance laws don’t require you to verify a user using any specific implementation techniques. Clearly, Paypal is able to comply with these laws without requiring a PDF version of physical government issued identification. The reality is that Google also does not need a copy of this. That they claim that this is required to fulfill legal obligations is smoke and mirrors.
No, it’s quite clear, Google’s verification system is broken and completely unnecessary. They can certainly comply with all identity verification laws without resorting to asking for a copy of your identification be submitted to them in PDF or any other format.
In fact, while credit card issuers like Visa and Mastercard don’t forbid asking for identification when using a credit card, the merchant must still accept the card for payment as long as it’s properly signed without seeing an ID. Because Google wallet requires actually seeing your identification before using some services with your credit card, this violates card issuer rules regarding the requirement for seeing identification before purchases. On the other hand, unlike a retailer who has the physical card in hand, Google cannot see your card and whether it’s signed. But, the spirit of this rule remains. Using a method of charging a small charge to the card and asking you to check the statement, then supply that dollar amount should be enough to verify that you own that card and that you have access to statements… just like Paypal and E-Trade.
Because a lot of statements have now become e-statements online, the small charge method doesn’t necessarily verify your physical address. Though, if they need to verify your physical address, they can simply send a postcard with a code. Then, have you enter that code into a verification panel once you receive it. In fact, this is really the only method that will verify your physical address is valid.
Google Wallet’s Usefulness?
With all of that said, Google has failed to make any traction towards becoming a defacto wallet. In fact, there are so few merchants that actually use Google Wallet, it’s probably safer not to verify with Google. Being as unused as it is around the Internet and seeing as Paypal is the primary method of paying for things today, it’s too much of a personal risk to submit PDFs of your passport or drivers license to a random corporation. You have no idea where that PDF might end up. Though, it will likely end up on Google drive because Google likely requires its employees to eat Google’s own dogfood (i.e., uses its own services).
And since the risk of using Google drive is as yet unknown with all of the Facebook-like features that Google has added (and continues to add), it wouldn’t surprise me to find Google internal documents accidentally shared through a Google employee’s personal account via Google+. This would obviously be bad for Google, but it wouldn’t surprise me. That’s why you don’t upload PDF files to corporations like Google. In fact, I wouldn’t share PDF files of that type on any network drive unless it’s encrypted and passworded. Better, don’t put it there in the first place.
Companies requiring copy of a personal ID
Personally, I won’t do this type of ‘give me a copy’ verification for any company unless I’m opening a bank account, credit card or need to provide it for some specific financial transaction. Even then, I will only transact that business in person and allow the person long enough time to see the documents to get what they need from it. And no, they are not allowed to photocopy it unless there’s some specific requirement.
I especially won’t do this with companies as big as Google or Microsoft when no transaction is involved. As companies grow larger and larger, employees get more and more careless in document handling. Asking for photocopies of identification cards, social security cards, credit card faces or any other issued card is not cool and I have no intention of ever providing that to a company for any identification purposes unless I’m actually performing a transaction. I won’t do it for ‘just in case’ services that I may never use. Doing so stupidly leaves a financial time bomb out there ready to be exploited.
The most they need is the number off of the face. If a company cannot make do with what’s printed on the face of the card (by being typed in), they get nothing. Just like giving your check routing information to a company such as Paypal is like writing a blank check, giving copies of physical documents to corporations is tantamount to identity theft. I simply don’t trust corporations with access to copies of my physical documents.
Though, were Google to set up a storefront and I could walk in and hand my card to someone to visually inspect and then maybe have them swipe it (although, I’d prefer not), I’d be somewhat okay with that. But, knowing a PDF file is floating around on the internet somewhere with a copy of my physical card, that’s not in any way cool. I will never do that for any corporation sight unseen no matter who they are. Since there’s no way to transact business with Google in person, there’s no way I’ll ever verify my identity for Google Wallet.
The Huffington Post recently put up a ‘warning’ that in order to ensure ‘civil discussion’ on their own site discussion areas, they would need to verify my account. Then, they proceed to put up a ‘Connect to Facebook’ button. Note they do not allow any other ‘verification’ method than Facebook. Let’s explore why this is not appropriate.
Facebook is a social media site
Facebook is not a verification system. This system is probably the LEAST trusted site on the internet for privacy, accuracy of personal data or for any other verification purpose. Nonetheless, that Huffington Post is now requiring connection to Facebook to post comments on the Huffington Post site is clearly without rational thought. But, it does have an alternative agenda.
Huffington Post is a news media site. It has nothing to do with Facebook and, more specifically, nothing to do with my Facebook account. Sorry Huffington Post / HuffPost, not gonna happen. You can go wallow in your own stupidity. This requirement is not only insane, but stupid decisions like this can easily to lead to your own demise.
If you own a site contemplating verifying a user, don’t tie it to Facebook. Email verification is the only level of verification that you need to verify an account. Connecting to someone’s Facebook account in no way guarantees civil discussion. Connecting to Facebook is a privilege, not a right. The only thing connecting to Facebook guarantees is that Huffington Post can randomly place garbage onto that Facebook user’s wall.
HuffPost Agenda: Calling a rose, a rose
Though this situation is not rosy, it also has nothing to do with verification and everything to do with Huffington Post’s own propagandizing self-promotion agenda, that and gaining access to private pieces of your Facebook profile. It has nothing to do with verifying a user. As a large respected journalism site, if you’re going to require something like this, then call it for what it is. You plan on using these Facebook connections for your own advertising purposes. Don’t lie to us and hide it behind some fake verification process.
This is nothing more than a real-estate grab. Huffington Post is merely grabbing Facebook accounts to use for their own advertising purposes. It has nothing whatever to do with civil discussions or user accountability. No, let’s just call a rose, a rose. It is not anything other than that. Until Huffington Post does the ‘right thing’ and states the real reason why it needs all of those Facebook account connections, I can no longer trust the Huffington Post.
While it’s great that employers want to reward employees and give incentives to stay, there is the correct way and there is the wrong way. Let’s explore.
Don’t offer tiny stock grants with huge vesting schedules and cliffs
If you’re planning to offer a stock grants as ‘stay’ incentives, make it sizable. Stock programs with vesting schedules are a good thing, but not grants with tiny amounts of shares. First, it’s a waste of paperwork to give out less than $10k in equivalent shares (vested over 4 years) in company stock both for the HR team and for the receiving employee. You’ll have your team spending time on managing all of these tiny grants with no benefit to anyone. Second, most employees won’t hesitate to walk away from such grants before the vesting period ends which means even more paperwork to clean it up after the employee has left. Employees won’t wait 12 months just to get another $1-2k when they can likely pick up a 5-10% raise (and possibly even a sign-on bonus) by changing jobs.
If you want to give an incentive to employees so that they stay with your company, approve grant sizes that matter. More specifically, grant sizes that are higher than an equivalent raise. Make it worth your employee to want to worry about. For example, grant a size equivalent to 1 year of salary (at the then current stock price) with a 4 year vesting schedule. If an employee sees they’re going to get 1/4 of their salary each year for the next 4 years, that’s definitely an incentive to stay. If they don’t stay, you don’t pay. Assuming the employee is a high performer and highly valued, it is worth it when they do stay. That’s the entire point of the grant. However, issuing a grant that, at best, offers the employee $1-3k after taxes each year offers not even the best performer an incentive to stay. After all, you do want this employee to stay, right? Most great employees can easily make up such a tiny amount left behind by moving to a new job with a new company. Most people would have no problems walking away from a tiny dollar amount for a new job offer. Again, this leaves your existing employees to clean up the mess left over from the tiny little unvested grants. Note that it’s the same amount of paperwork whether you grant 1 share or thousands.
In other words, grant stock incentive sizes that make sense for all involved or choose a different incentive vehicle altogether. While you may think giving stock grants is a positive thing, employees generally don’t because of the downsides of vesting schedules and cliffs, the hassles of taxes (it will probably cost the employee more to hire a tax consultant than the bonus is worth) and when it’s too small it’s not worth the employee’s time. Be very careful when using this incentive vehicle.
Don’t send the wrong message to your employees by using the wrong incentives
In the case above with stock, you have to consider what such a small grant size says to the employee. If you give an employee a pittance grant, you’ve essentially just told them, “You’re worth $1-2k a year extra” (once they do the math). That, in many cases (especially in California), is less than the average raise. That doesn’t, in any way, impart confidence that the employee is valued… and that’s exactly what a pittance grant says. It’s definitely not the right message to send. Yes, extra money is always a good thing, but not when it’s wrapped (er.. trapped) in the wrong incentive vehicle or if it’s the wrong dollar amount.
Keep in mind that for the employee it’s all about when they actually see the money. Trapping the money behind vesting schedules and vesting cliffs is tantamount to dangling a carrot from a stick just out of reach (for a year) and then only giving them 1/4 of that carrot after chasing it for a year. If you expect the employee to wait a year to get 1/4 of a baby carrot, it better be a damned good tasting baby carrot (e.g., a substantial amount of money actually worth waiting for).
From a monetary perspective alone, $1-2k extra a year can be easily handed to the employee in many other ways. You can label the extra as a bonus, you can label it as a ‘great job’ thank you, you can hand them a live check with a personal thank you or you can buy them an iPad as a gift.
Each of these suggested alternative incentives sends the correct message. Handing someone an iPad is a whole lot more satisfying of a bonus than handing them the quagmire of pittance RSUs. In stock plans with long term vesting schedules, vesting cliffs, stock price uncertainties, waiting periods and tax disincentives, it’s a quagmire of a bonus system for the employee to navigate only to secure $1k. Don’t use stock grants to hand out $1-2k a year bonuses. Using this incentive vehicle sends the absolute wrong message to your employees, can damage employee self-worth and ultimately damage your reputation as a respectable company. Ultimately, if the employee is left with nothing for a year and then has to wait 4 years to ultimately get maybe $10k gross and suffer huge tax liabilities in the process, that’s the wrong message to send.
So, always use the correct incentive vehicles to send a positive message to your employees to keep them on board. Using the wrong vehicle in the wrong way not only plants the seed of dissatisfaction, it can lead to the employee walking away entirely.
Don’t flaunt your sales team’s wins to your non-sales employees
Your sales team is important to the success of your company. It’s also great that your sales team members, or at least some of them, are doing well to bring in those great deals. On the other hand, many companies make the mistake of continually rewarding the most outstanding sales team members with trips, gifts, dinners and other niceties. Keep this information firmly within your sales team. Do not share this information with non-sales departments.
It’s very easy for the other departments to see the sales team as being the team with all the special benefits. This can make the other teams seem as if they are being left out of the loop. Your operations team, for example, usually has staff working 24/7/365 to make sure things are working. Yet, your sales team is being flown around the globe on sales team kick-offs. This sends the wrong message to other teams. If you are going to give incentives to your sales teams, either keep it away from your other teams or figure out a way (i.e., via winning an internal lottery) to include other team members in these wins.
Again, it’s important to understand that the sales team, while important to new business and renewals, isn’t the only team keeping your business afloat. All teams need to be supported, given incentives and given the opportunity to participate in travel events when available.
Do allow employees to participate in company sponsored events
If your company is planning to do trade shows such as Dreamforce or possibly even creation of your own company annual event, allow and encourage employees from all departments to participate. Doing the same job day after day, month after month is hard to do year in and out. Breaking the monotony of the same ole same ole will help reinvigorate employees when they do get back to their job. Allowing employees to do something different for a couple of days does help re-energize people to do their best jobs. It also encourages employees to meet and work with other employees outside of their team that they otherwise would not. This allows for a much closer knit company, especially when the employee does end up working with that person they met earlier.
Don’t be ambiguous or vague about your incentive programs and make sure they are fair to all teams
If you plan to offer such incentives as RSUs, stock options, bonus plans, merit-based trips, etc, document them. Document exactly how they work, who is eligible and how each employee can become eligible. If your programs only include certain departments, make certain that when other departments become aware (and they will) that you offer compensating alternatives to those other departments.
For example, if your sales team members receive an end-of-year trip to the Bahamas for the best sales numbers, then your finance team should, likewise, be offered some kind of off-site vehicle for the finance team members who consecutively kept their DSOs down that year. Offering something to one team and not others clearly smacks of favoritism. When it is not documented clearly, this causes more friction between teams than it solves. Better, if teams are offered grand incentives, then use a lottery to allow other departments to participate in it. So, for each sales team member who wins a trip, they can bring a member from another team along and that person is determined via a lottery. Again, this should all be documented fully so there is no question about either individual or team incentive programs.
I love the idea that Zazzle represents. Quick custom printed promotional items. The theory is that you open a store, upload an image, place it onto an item and order. You can even let other people order it. Unfortunately, that’s pretty much where the idea ends.. at least with this company. Let’s explore.
What is Zazzle?
As I said, it’s basically one big short run promotional item tool. You upload your images, plop them into a garment, mug, stein, iPad case or whatever and order. The theory is that they’ll ship you the item(s) you ordered. What is reality is far different. The reason it’s far different is because this company is completely mismanaged. In fact, it appears there’s no real management driving this listing ship at all. Certainly on the surface, there appears to be the Beaver family who started up the thing that formerly was Zazzle. Now, it’s just a topsy-turvy disaster of a company that can barely even accomplish their core business offerings.
Let’s start with the absolute most mismanaged piece of this company. The content management team. This team sits around reviewing what’s been uploaded for ‘violations’ and ‘copyright infringement’. Unfortunately, the management team doesn’t ‘get’ copyright infringement at all. In fact, the law is fairly clear on the point of copyright infringement. It’s not actually infringement until a court of law deems it so. Remember, innocent until proven guilty? To the Zazzle team, however, that a company makes a claim that something is infringing is enough to prove guilt. To prove actual infringement requires a court of law, not Zazzle. Worse, this company is policing alleged infringement on behalf of companies like Electronic Arts. It’s not Zazzle’s responsibility to police any other party’s content. Each party who owns copyrighted material can very well police and ask for removal. Zazzle doesn’t need to intervene here.
However, because companies (especially Silicon Valley companies) are running so scared that they’ll even get the slightest hint of a lawsuit, they have begun acting on behalf of companies like Electronic Arts and taking down imagery that even has the tiniest tinge of violating copyrights. Unfortunately, this company’s team must be bunch of hired monkeys. They simply see the word ‘Crysis’ and they automatically assume infringement and take the work offline. They don’t read, ask questions or bother to even review the actual image itself (which is what is actually in question). No, it’s all run by a bunch of monkeys trained to click delete. See word, click delete.
Forget about disputing any monkey deletes. There’s no reasoning or rational thought behind this team. If you create a ticket to try and dispute, you’ll get a canned response that won’t even tell you why it was deleted. They’ll just point you to the terms and conditions and let you be on your merry way. In short, they don’t want to talk to you, a store owner. Consider for a moment just how stupid that is because store owners are what’s keeping Zazzle in business.
Just The Tip
The Content Management team is merely the tip of this iceberg. I’ve seen so many complaints regarding this company that they are even listed on Ripoff Report 20 times (so far). Worse, no one from the company even reviews Ripoff Report to post rebuttals or head off any of these disputes. As I said, this company is squarely mismanaged.
If you are in business, you would want to take that business seriously. By ‘seriously’, that means treating all consumer complaints as valid and doing something about. You don’t let complaints stew and fester unless you actually want your company to appear to be a ripoff.
Part of the way this company works is by allowing registered users to put up their own Zazzle store where they can market and sell custom items from within Zazzle’s inventory. This is, in fact, where Zazzle makes its money. Store owners put up content, Zazzle takes a cut on each item sold. Unfortunately, that’s pretty much where this story ends. Even if you do manage to get your imagery through the Content Management team’s monkey review, that doesn’t mean your item will really ship if you place an order. According to some complainants, the items never arrive. Basically, when you pay, you are taking your chances that the item will actually arrive.
Even worse, though, is that you spend your time, effort and good faith into placing your items in the Zazzle store. Yet there’s no promotional system or anything you can leverage to try and get people into your store to buy. You’re squarely left to fend for yourself to get people into your store. You would think Zazzle would offer at least some kind of promotional vehicle to feature stores with certain types of items. But, no. There is no advertising system available. Again, you are left to fend for yourself. It’s up to you to post on Facebook, Twitter and buy advertising space to get people into your Zazzle store.
Worse, even if you do manage to get people into your store to buy, those people could then have problems just getting their paid items.
No ‘About The Company’ page?
For me, this is a huge problem with any company trying to be respectable in its industry. If you aren’t willing to put up information regarding your management team, where that team is located, investor information, address information, etc.. it certainly looks like you’re not really serious about being in business. If you visit Zazzle’s corporate information page, you will find nothing there about the management team, investor information or anything pertinent to this company.
If anything, this lack of information says they are a ripoff fly-by-night. I know, they’ve been in business for several years now, but who knows how that’s happened as mismanaged as this thing is. However, even former employees have choice things to say on Glassdoor. The primary complaints seem to be high turnover, low pay and lack of upward movement. That doesn’t surprise me. Seems to me this is the McDonald’s of Silicon Valley startups.
If you’re a company thinking of opening a Zazzle store, you should reconsider. Attaching your company’s name to Zazzle could taint your business reputation in the long term. This is especially true if you’re trying to grow an existing business. The last thing you need is dealing with complaints from people who’ve tried to purchase from your Zazzle store only to be ripped off.
Instead, if you really do want to buy custom printed items, you will want to get them from somewhere else. There are thousands of reputable promotional item companies who create and sell printed promotional items. In fact, you can do much better in pricing on those items when you buy them in bulk. Zazzle is really to be used for extremely short runs (1-10 pieces). With short runs, you will pay a high premium price, which is quite evident in the pricing model Zazzle offers.
Instead, I highly recommend you shop around for companies whose sole business it is to sell custom printed promotional items. Promotional item companies don’t offer store fronts to people, don’t deal with content management, don’t do short runs, don’t deal with individual consumer returns, etc. No, they are solely focused on getting you your promotional items exactly as you want and shipping them directly to you. Yes, you’ll end up paying more up front for the bulk quantity, but if you’re giving the items away at a conference or event, the cost per item is much much lower. Better, you can pick the exact quality of the item you want. With Zazzle, the quality is what it is. There’s little choice. If you don’t like the t-shirt brands they are using, tough luck. If you want to buy a specific brand of polo-style shirts to give away, you’ll need to choose another company to produce your item.
So, you’re in business to write and sell software? Your business can choose from several different software development methodologies and strategies to help you get that software off the ground. You can choose the waterfall approach or use an agile approach. There are many approaches that can work, but all approaches have both benefits and drawbacks. Depending on the type of business your company is in, you need to think through how each type of coding method can affect your customer. Note that the goal behind most methods of development is to drive the process to completion, not so much to provide quality. With either Agile or Waterfall, both approaches can let you down if you’re not actively driving quality all along the way. Let’s explore.
Don’t choose a software development strategy just because you think it will allow you to complete the software on time. Any strategy you employ must make sure quality is number one or you face customer problems. Simply getting the software done and on time is not enough. Quality has to remain at the top for any software your team writes.
Don’t let your customers become guinea pigs. Software development is for your customers’ benefit. Thoroughly testing code is important. Don’t let this fall through the cracks or your customers will suffer the consequences and end up as beta testers.
Don’t employ only happy path programming efforts when writing code. Coding solely for the happy path leaves your customers vulnerable to the unhappy paths. Coding for happy path is equivalent to intentionally skipping big pieces of testing. Your customer will pay the price when they fall into an unhappy path trap. Your staff then has to respond by spending time doing data fixups, writing patches to fix holes missed and your sales/support teams will be on the phone to customers giving false reassurances.
Don’t miss crucial QA steps just because you ran out of time. If time is the most important thing when coding, then the code quality will suffer and and so will your customer. Again, do not use your customers as guinea pigs unless you like them walking away from your business.
Let’s understand more why the above is important!
The Happy Path is not happy for your customers. Utilizing Happy Path coding is solely for the convenience and benefit of your programmers in getting work done rapidly. Getting things done rapidly, but poorly is not good for your business or your customer. Happy Path software development simply doesn’t work.
As an example, imagine walking down a block in downtown NYC. You walk the block from corner to corner without any diversions or problems arising. Let’s call this the Happy Path. Now, let’s say you walk that walk again, but this time you stumble over a manhole and fall. You were so focused on the destination, you didn’t pay attention to the manhole cover that wasn’t fully closed. This is an unhappy path. Let’s say that the next time you walk this path, you know the manhole over isn’t fully closed and you avoid it. Except this time you were so focused on avoiding the manhole cover, you walk into a tree. Yet another unhappy path.
Now, imagine this is your customer. Each time they try to navigate down your Happy Path, they fall into one trap after another because your software doesn’t handle these pitfalls. Writing code solely for the Happy Path is definitely not your business friend. Your customers will become frustrated and eventually find another company with a more stable product. It doesn’t matter how good the features are, it matters that the software is stable. A customer places trust in your software, but that trust is broken when the software breaks often.
Coding for your customer
Your customer is the most important thing you have in your business. They drive your revenue and keep you in business. You should never play games with them and you should never use them as paid beta testers. But, writing code that only utilizes the Happy Path intentionally leads your customers and your company into unhappy pitfalls. Wouldn’t you rather have your team find these pitfalls before your customer does? When your customer finds the bug before you do, it makes your team and company look inept. This is never a good position to be in, especially when you are trying to establish yourself as high quality software company.
The Happy Path may only provide between 20-50% tested code paths. The other 50-80% is left to be tested by your customer while they pay for and use your product? The Happy Path only leads to unhappy customers. Instead, if your software developers test a Robust Path all along the way, your software should catch at least 80-90% of the bugs leaving very small percentage of edge case bugs for your customers to find. So, instead of having your team working on constant bug fixes and/or constantly fixing or restoring customer data, your team can focus on the next product release features. Unfortunately, customer fixups and customer phone calls over these issues are big time wasters. Wasted time that can be completely avoided by writing the code correctly the first time.
The reality is when writing software, your team can either spend their time on crash proofing code up front or spend even more time crash proofing the code after it’s already in production and making the customer unhappy. Either way, the problems will get fixed. It’s just that you, as a company owner, need to decide whether it’s more important to have happy satisfied customers or a fast development cycle. You can’t really have both. Customers become especially disenchanted when they’re paying a hefty fee to you for your service and end up beta testers. Customers are always expecting solid robust code. They don’t pay to be beta testers.
Keeping the customer happy should always be your number one priority. Unfortunately, you can’t do that if the code that’s being written is crashing and generally providing a less than stellar experience to your customers. You have to decide if you want your team to spend their time bug-proofing the code or have even more of your staff spend their time after the release smoothing out customer dissatisfaction issues in combination with bug fixes. So, not only is your sales team’s and customer care team’s time spent making the customer happy again, your engineering team’s time is being incorrectly spent having to rewrite code a second, third or fourth time to fix bugs. Depending on your SLAs, you might even be violating these by having certain bugs.
This can mean at least three times more work created for your staff than simply having your developers write robust code from the beginning. Sure, it might require a month longer development cycle, a bigger QA test cycle, but that extra time will pay for itself in having happy satisfied paying customers and fewer customer incidents. Customer satisfaction keeps your development team focused on the next feature set, keeps your sales team focused on new sales and keeps your customer support team educating users about how to use your product. Quality is the key, not speed.
Bug Fixing after a Release
I’m not saying there won’t be bugs to fix or unhappy customers. Bugs will be found even if your team appears to write the most perfect code. However, writing high quality code from the beginning will drastically reduce the cycle of bug fixing and patches. This means making sure your development staff are all trained and knowledgeable about the languages they are required to use. Introducing new programming languages without proper training is a recipe for problems. Learning a new language on the go is the best way to write bad code. Properly trained engineers will usually provide much higher quality code. Don’t ignore the Quality Assurance team’s role in making sure they have a full and complete test suite and solid full test cases. Unit testing works okay for developers, but once the code is all assembled, it needs a full QA test suite.
Also, if your feature set doesn’t cover your customer’s needs properly, satisfaction can also drop. This can happen if your business is fighting bad code rather than listening to what your customers want. Of course, this is a somewhat separate issue which I will discuss in another installment.
I want to take a moment to discuss using Java for applications. Using Java is, again, a convenience to support speed coding efforts. More and more companies want it done ‘fast’.
With more and more compressed timelines, too many people seem to think that writing software in Java is easy, quick and simple. This is a fallacy. It isn’t. While writing the code may appear simple at first glance, the whole JVM adds a huge level of operating complexity that engineers and management fail to understand or simply overlook. In theory, you should be able to deploy your .jar file and be done with it. It’s not that simple. The JVM has heap space sizing issues and garbage collection that can easily turn what seems reasonable code into a nightmare for your operations team to support and a nightmare your customers. Basically, the JVM is an unpredictable beast.
Let’s understand this better. The JVM tries to make coding simple and easy because it’s interpreted. That thinking is a trap. From a coding perspective, it does make coding a whole lot easier as there are lots of frameworks that can be used and code examples to be had. Unfortunately, nothing ever comes for free. There are always strings attached. Java does a whole lot of internal housekeeping so the coder doesn’t have to. This ease of writing the code is completely negated by the JVM itself. To help the coder to not deal with extra coding of freeing up variables and objects, the JVM takes care of all of that. But, the price paid is the Garbage Collector. So, instead, of coder doing this work in code, the Garbage Collector (GC) allegedly does this for you. We won’t even get into just how ugly and horrible the JVM logging is when you’re trying to determine what went wrong.
In reality, the GC can end up spending so much time doing all of this extraneous cleanup work that no actual code work gets done. The reasons behind this issue can range from bad java code (e.g., object leaks, memory leaks, file descriptor leaks, etc) to huge swings in memory usage (creating GB sized objects and freeing them up often). As Big Data is becoming more common place, the JVM really was not designed to properly handle Big Data objects strictly because of the overhead of the GC. That means you need to have someone who’s extremely knowledgeable about tweaking the JVM’s heap sizes, GC frequency and other tweakable parameters inside the JVM so that it doesn’t get into this condition. It also means much more precise monitoring to determine when it is in this condition.
In some Java use cases with big data, using Java may not even work. If you really need to move big data around fast, you should really consider a compiled language first.
In essence, the engineering team has now pushed the normal robust coding and cleanup work off onto the operations team to manage via the JVM container. Now the operations team have to become experts in JVM management through managing and tweaking Java to keep it properly tuned and working. Worse, they now have to understand the code to even begin to diagnose a root cause of failure. In other words, it requires your operations staff have a much higher level of knowledge about java, java coding and JVMs than when using languages that don’t require Java.
Using C, C++ or other compiled languages
Even though compiled languages can require a much longer development cycle and more explicit handling of objects, they do two things for your company: 1) Forces your development team to write better code and 2) Gets rid of interpreted languages (and containers). Even above the tremendous speed gain your application will see from being compiled, the operations overhead to manage the application is drastically reduced. Writing a UNIX daemon to handle an operational task might require a simple configuration file and a ‘service’ script to restart it. No knowledge of a JVM container, of GC or of heap sizes is required.
Memory usage is always a concern, but not in the same way as Java works. In fact, it’s far far simpler to both troubleshoot and manage compiled applications than it is to troubleshoot and manage JVM container apps. If a compiled app goes off the rails, you know for certain that it was the app that did it. If a JVM contained app goes off the rails, you don’t know if it was the app itself or the JVM container that spiraled out of control.
When a JVM contained app fails, you’re left trying to determine if it was a bug in your company’s code running in the container, if it was a bug in Oracle’s Java version itself or if it was a third party component problem. This leaves too many variables to try and diagnose at once. With compiled languages, this troubleshooting is almost always far less ambiguous and is usually as simple as ‘strace’, ‘top’ or reviewing a core dump.
Whatever approach your team chooses, quality must remain number one. When quality is sacrificed for the sake of development speed, your customers will suffer and, in turn, so will the bottom line. Some customers may be willing to deal with a bug occasionally. But, if bugs are continual and constant after every release, eventually they will go find another service. Stability and reliability are the key to making sure your company continues to succeed no matter whether your company provides an iPad app or if your company intends to become the next Google. Innovation keeps your customers coming back from more, but you can’t innovate if your team is constantly fighting bad code.