I am pretty vocal about what I think makes the kind of great programmer a manager should hire. A great programer is more than someone who has computer science fundamentals under control and knows how to write lots of comments in smartly modularized code. These skills are, so to speak, merely the cost of admission. I am on the record saying that a great programmer needs to be passionate and needs to hang out with the right people.
When it comes to PHP, I meet my own criteria. I am very passionate about PHP, and I follow and hang out with the best minds in the PHP world. Before I go to bed each night I search around on Github for new and interesting PHP libraries. And I get giddy waiting to see what Phil Sturgeon and Taylor Otwell are going to do next. Until recently, however, I did none of these things in relation to Javascript—a clear sign that I was not a great Javascript programmer.
Which is why I never should have hired myself. About a year ago I Googled around looking for a new Javascript framework because Jquery just wasn’t adequate. I reviewed all of the possible candidates, including AngularJs. None appeared to meet my design goals so I came to the conclusion that Cloudmanic Labs needed to write our own Javascript framework. We ended up investing thousands of dollars worth of time to develop CloudJs, and we are pretty proud of it. But there’s a catch . . . wait for it.
Recently I began putting in extra effort to become as connected with the Javascript community as I am with the PHP community. Frankly, I wanted to start promoting CloudJs as we got closer to launching version 1.0, but also I had become pretty passionate about Javascript. While hanging out around the Javascript watercooler I kept hearing about the AngularJs framework that I had dismissed. When I finally dug into it, I realized that AngularJs and CloudJs are essentially one and the same—except that AngularJs is far more mature. And so, because there is nothing that CloudJs does better than AngularJs, Cloudmanic Labs is going to adopt AngularJs.
It turns out that if you do it right, just standing there can be pretty powerful. Think Wonder Woman: chest open but not puffed, legs apart, head level, one or both hands on the hips. Assume that stance and your body will release hormones that make you feel confident and calm. It’s sort of like putting the proverbial cart before the horse: instead of allowing your posture to merely reflect your emotions, you can use it to elevate your mood and generate the self-confidence you need to navigate stressful situations. Because even born leaders like yourself have off days.
Striking a super hero pose might sound silly now, but it can save your bacon the next time you have to pitch an idea to a difficult client, deliver negative feedback to a coworker, or plead your sorry case to a judge. Social science researchers at preeminent business schools (like Harvard) have identified the primary hormones associated with so-called expansive postures as testosterone, which correlates with dominance and a willingness to take risks, and cortisol, which is related to stress. When you gotta deliver, you want your testosterone high and your cortisol low.
The physiological effects of holding a commanding pose for just two minutes last about 20, but the benefits of fine tuning your posture in general are immeasurable. Your mother always said to stand up straight, and she was so right. Your carriage changes your self-perception and influences how favorably others perceive and respond to you. Adopt an expansive posture and you will seem more credible and attractive. But overdo it by going all stiff or alpha primate and you will have exactly the opposite effect.
I am a pretty bleeding edge guy when it comes to technology. In fact, as the manager of Cloudmanic Labs I am willing to invest to upgrade our systems with the newest technologies before building additional features or products. To be clear: with respect to deploying code into production bleeding edge does not mean buggy alpha software. Rather, it signifies employing novel but tested libraries, technologies, and design patterns.
The major counterargument to being bleeding edge focuses on end users, who typically don’t even know which technologies products are use. Why replace the old technology with bleeding edge technology if users don’t care? I say this argument is short sighted. When users adopt new software, they hope to use it for a long time because switching can be annoying. But developers who allow complacency to set in and fail to keep up with technological innovations will one day wake up and realize that updating their product is nearly impossible. Advancing software to the next generation is not an easy task and the technology changes blindingly fast. Therefore, if you are not on the bleeding edge you are late.
Does offering phone support make a difference? It does—but not in the way you might think. At Cloudmanic offering amazing customer support is a top priority. If you want us to do backflips we intend to try. Why, then, do we not offer phone support? The bottom line is that phone support costs a lot of money. Many of our peers do offer phone support—and their prices are at least double ours. It really comes down to this simple fact: because 98% of our customers never require support we don’t feel that it makes sense to raise our prices for the 2% who occasionally do.
In the very beginning we had to make the tough decision to provide support only via email (and sometimes Twitter or Facebook). We stand by this decision. We understand that email is not some users’ preferred way of receiving support, but we have not yet encountered an issue that we could not resolve with a customer via email.
Is your work style get-it-right or git-r-done? That is, are you more process oriented or results oriented? If you’re habitually the former, chances are you pay for your obsessive tendencies with time. Remember that task you were totally sure you could bang out in one hour? The one you labored over for six? How did that happen? Sure, the final product was a marvel of perfection (or so it seemed at the time), but was it worth it?
They don’t say time is money for nothing, and tumbling down the rabbit hole without regard for the relative importance of a task is not a profitable business model. But is it really just a matter of poor time management? To avoid a time warp, some experts advise that you start by identifying the components of a task and budgeting time for each. This advice might be sound in theory, but it can be difficult to follow. To wit: I tend to set time limits and then blow them successively. One hour mushrooms to six because the finish line keeps moving. This tendency is not, however, entirely due to a pathological inability to accept that good is good enough.
It’s also partly the result of a tenacious devotion to quality. Great ideas do not form on command, after all. And occasionally I need to take the time to address a knowledge or skills gap. Sometimes good might be good enough for the job, but not for me personally. In such cases, the additional time spent is by choice. If I think getting something just right is important and I have the time to sacrifice, I will ignore the insistent tick-tocking of the clock. True, the extra effort might not be readily apparent to others or immediately rewarded, but the value of developing my abilities and doing my best is intrinsic.
In web design I see modal windows misused repeatedly—though, admittedly, this is just one man’s opinion of improper use. (Or is it? read on...) But I should begin by clarifying three things. First, a modal window appears within another window, something like this:
Second, while Cloudmanic products do use a few modal windows, most reflect poor judgement on our part and will be phased out over time. And third, there is a time and place for modal windows—some examples are described below. Nevertheless, I submit that 90% of the time modal windows are misused.
Why Modal Windows Are (Usually) Bad
Modal windows are useful because they delimit a space in which
the user performs one or two simple tasks. The unpleasant side effects,
however, are often not worth it. Here is my short list of why you should use
modal windows sparingly:
They’re clunky.
Most developers neglect to think about different screen sizes with respect to
content. For example, if the modal window content requires scrolling, the
screen displays both the modal window scroll bar and the browser scroll bar and
your wheel mouse behaves differently based on where the cursor is. Yes, the
browser scroll bar can be disabled, but doing so has never felt natural to me.
They’re not
mobile friendly.Modal windows are almost always difficult to manage on
mobile devices. They’re slow to load and slow to hide. Unless the developer
does tons of testing, the content can get wonky—such as when when the onscreen
keyboard pops up.
They require a
lot of developer time. Developing a modal window requires extra effort
because the association between the parent page and the modal window page must
be maintained. And developing modal windows for a modern ajaxy type web
application is especially complex.
They’re disruptive
and cause angst. The appearance and disappearance of a modal window
disrupts the screen in a big way, forcing the user to refocus. And if, when the
modal window disappears, users do not refocus on the correct area of the parent
screen, they might wonder if anything even happened. Users need good visual
cues to confirm that a change has occurred. The idea of modal windows causing
Cloudmanic users even such micro forms of angst bothers me.
Like most people I ask myself regularly, “What is important in terms of my career?” Typical answers include salary, benefits, type of work, location, hours, and the like—but recently I concluded that angst is my top concern when it comes to crafting my career.
Often, working conditions cause a lot of angst. You might have a difficult client. You might be managing a difficult employee. Your coworkers might drive you nuts. Your workload might be too much. Your deadlines might be too tight.
Sometimes angst is minor and other times major, but angst in any form can lead to stress, lack of motivation, and unhappiness. Why would anyone want to spend 8+ hours a day working in any state other than utter delight? Of course, some might say that a workplace where everyone is free of angst is a fantasy. I respectfully disagree.
Removing angst from the workplace has to come from two places: management and employees. Management needs to foster an angst-free workplace, and employees need to stand their ground and not allow the work environment to cause them angst. That said, simply ignoring things that cause angst is not a solution I would recommend or tolerate at Cloudmanic Labs. Instead, you must identify angst and destroy it (carefully, of course).
How Do You Build An Angst-Free Workplace?
Every workplace is different. Every manager is different. Every employee is different. Therefore, no one solution can work for every company. The best advice I can give is to encourage every member of the team to be the guardian of their own angst. For example, if the way tasks are assigned to you is causing angst, consider the possible alternatives and collaborate with your managers and coworkers to enact a solution.
The Cloudmanic Team is stoked to announce that Skyclerk just
got better and cheaper. And here’s the best part: in most cases you don’t need
to do anything except pay less than you were paying before. Lucky you! Let’s take
a moment to investigate the details together.
Better how?
We know how frustrating it is to make a decision when you
have too many choices. We also know that your business accounting needs change
over time. Because we are squarely in the simple is better camp, we have simplified
our pricing to a free plan and a paid Premium plan that includes unlimited
monthly transactions, unlimited contacts, and unlimited storage to meet your
business accounting needs whether they are small or big. And soon the paid plan
will include 50 scans a month to help you go paperless and stay organized.
How much cheaper?
A lot cheaper. For example, if you had the $99 a month
Infinity plan, you now get the same service for only $15. At that crazy low
price Skyclerk is one of the cheapest online accounting systems—most of our
peers start around $30 for an unlimited plan. In most cases the change to the
new Premium plan happened automatically. The exception—yes, there is one—is
that if you had a plan bundled with shoeboxed.com, the choice is yours. That
is, you can keep the bundled plan at the previous price by doing nothing. Or
you can unbundle and switch to the new $15 plan by emailing support@cloudmanic.com.
I am very pleased to announce Evermanic has arrived!
Simply Put
Evermanic is the fastest way to capture recurring notes on the go and store them safely into Evernote.
Or, If you like to know the nuts and bolts
Evermanic is an iPhone application that allows you to set up profiles (templates) for the notes you know you will be taking over and over again.
For example, Bob might keep track of meals with clients taking photos of the meal receipts. These receipts might have to be stored into a particular Evernote notebook and tagged in a particular fashion. Bob might even want the same note title for each receipt. All these are pieces of information that compose an Evermanic profile. Once he has configured his profile (template) with the characteristics of his choice he is ready to go.
Next time Bob is on the go and wants to file a meal receipt, he simply selects the profile, snaps a picture, and puts his phone back in his pocket. Later, when he opens Evernote again, his meal receipt will be stored just the way he likes it.
In general, I tend to use top-quality products. This might not be for all things in my life (just look at my car) but it is true for most things that I really care about or use on a regular basis. I tend to seek the best of the best. Lately, I have been noticing a new data point in my decision making process: price.
I can think of several specific examples when price was a tipping point that made me use one product over another:
I really like my Android Nexus 7 tablet. In fact, I am in love with it. However, when I compare it to the iPad, I sort of wonder why I love it when the iPad is so much more loveable. When I compare the two, I realize that I’m more drawn to the iPad. Yet I own a Nexus 7.
I’m also in love with GitHub (such a great service). Side-by-side, GitHub is a better product than Bitbucket in all accounts. But I find myself using Bitbucket more.
I am madly in love with Linode. It’s a far better product than Digital Ocean, but more and more of my needs are migrating to Digital Ocean.
In all of these examples, I’ve found myself actually using the less expensive product. If price wasn’t a factor, I would only be using an iPad, Github, and Linode.