Monthly Archives: February 2013

Iterating is a Life Skill

My wife and I are trying to sell our condo. It’s been on the market for three weeks and we’ve had three showings so far. On the first two showings we got the following (and only) feedback:

“Client wants something not facing a busy road”

Our condo is facing a fairly active road, it’s well traveled, but I would say it’s only really busy at rush hour and our condo sits far enough away we don’t pick up any significant road noise.

Also, a quick Google Map view of our address shows that we’re on the road, if that’s a problem, then why did we get the showings in the first place?

jackie-chan

The solution suddenly occurred to us while we were discussing the feedback

Have the potential buyers come in through the back of the condo rather than the front

It makes perfect sense, by having buyers come in through the front, the road and traffic noise was making the first impression, not our condo. Buyers were being assaulted with road noise before even setting foot inside!

For the third showing, we cleaned up the garage and cleared off the patio and had buyers come into the kitchen (which looks great). The feedback from the buyer didn’t mention the road noise at all.

The art of iterating: making a small change, testing that change, then gathering feedback, is a powerful tool for technical projects but I think that was the first time it really dawned on me how powerful it was for day-to-day life.

The tricky part is of course measuring and recording results from your iterations. This can be especially difficult for life projects, although with the power of mobile devices and better instruments we’re closing in on measuring all kinds of things, especially our own bodies. It’s like having Dr. McCoy’s medical scanner in Star Trek:

Not an expert on Klingons, but I think we know how he died…

I’m curious if anyone has any similar anecdotes of using iteration in your life. Let me know in the comments!

When Testing isn’t Testing

Let me ask you if this sounds familiar. You deploy a feature or a site to your customer’s staging server and send them an email letting them know that they can begin testing. After a day they email back that “Everything looks great!” and you deploy the feature to production. A day after that, your inbox is flooded with frustrated emails from your client how “everything’s broken and nothing works.”

What happened? Didn’t the client just say everything was great?

Yes they did, but unknown to you, their idea of testing was vastly different than your idea of testing.

Here was your customer’s “test”: One person in the office opened up their browser, checked to see if the pages matched the comps from their graphic designer, maybe edited a few fields and clicked “save.” They did that once, and they didn’t check edge cases, different browsers, or go through all the features you discussed in the requirements document. Then they sent you an email, “everything looks great.”

Now they’re getting angry emails from their users about how it won’t let them save in IE 6, or Firefox, or how the print margin on the printer-friendly view are off, and they’re asking “didn’t you even test this stuff.”

See the problem? When you told them that there was a “testing” phase to the project they assumed that you did all the technical testing, all they had to do was do a final sign off that everything was in the right place and looked the way it should.

Testing is an overloaded term, what you consider testing (finding bugs, checking if features work the way they’re supposed to, checking different browsers or operating systems) is different than what your customers consider testing. Your version of testing is Functional, while their idea of testing is Verification. A customer considers testing the same way they see approving a print ad or a piece or a design. If what I see on the screen matches what I expect, then it works.

They have that expectation that because they assume it’s your job (the developer or implementer of the project) to do the functional testing while it’s their job to verify.

As with most things in freelancing, this can be solved by properly setting the expectations with the client in advance. You have to make it clear that the testing phase of the project includes functional testing by the client as well.

Test Plans are great for setting this expectation, you don’t have to make them overly detailed but include the following for each test.

  • A number to identify the test in emails/bug reports
  • Steps on how to perform the test
  • Edge cases for each test (like trying to save blank forms)
  • The expected result of each test

You can work with your client to define the tests, but remember you’ll have to lead the charge on this (after all, you’re the technical expert).

I like using Test Plans for large, complicated projects and big feature releases, especially with new clients. They may seem like a pain to set up at first but believe me, the hour it will take to create a test plan will save you and your client a lot of pain and suffering post-production.

PS – Oh be sure to factor creating the test plan and managing the testing phase in your quote. But you know that 😉

Green Acres

To everyone currently working a 9-5 job, I’m going to say something to you that might surprise you (although I suspect might not surprise other freelancers or startup founders):

I envy you sometimes and there are days were I dream of quitting and going back to a salaried job at a company.

Guys you have it easy. Really! Look around your office, take note of the people you work with and what they do to make your job of writing code easier. Accounting, Janitorial, HR, Project Managers, DevOps, QA, IT, Marketing, Sales, Account Managers, think about how difficult your job would be if all those positions were gone and everyon

Before I quit my corporate gig I took every position that wasn’t engineering for granted. I took vacation time and having coworkers to pick up my slack when I went on vacation for granted. Back then I didn’t realize that knowing how to build something, while difficult, is a lot easier than knowing what to build.

I took health care for granted, which is why I’m a big supporter of the Affordable Care Act. Is it perfect? No, but it’s a start and it brings real reforms to a dysfunctional industry that chokes small business owners and freelancers.

I’ve thought about quitting but as soon as I do I stop and buckle down. Not because I feel there is shame in quitting, but if something isn’t working, you owe it to yourself and everyone else to quite and do something else (see The Dip by Seth Godin). The most dysfunctional thing in startup culture right now is a macho attitude of “just take it and suck it up.” We need more of posts like these to set people straight.

I haven’t quit simply because, at this point in time, running Anecka is the best thing for me. I get up to work everyday with a sense of purpose and I learn things I would never have learned by in my corporate life. The benefit of being forced to do your own sales, marketing, accounting, DevOps, QA, etc is that it broadens your skills and makes you appreciate the big picture, beyond the code editor.

If you’re planning on starting your own business, whether as a freelancer or startup founder, I urge you to talk to people who have done it already. In addition to building your peer group, you’ll go into it with a healthy expectation of what it’s really like to work for yourself.

 

Warning Signs

There’s a job posting for a developer that I recently ran across that gave me an idea for doing this blog post. I won’t directly link to it, to protect the poster, but I think it serves as a great example of warning signs you need to watch for when taking a project. Here’s how it begins:

I had previously used someone else to start the project 2 weeks ago and they just cancelled today for no reason at all and had given me nothing to work with.

Not a good start, I ask all my clients with existing websites if they’ve worked with another developer and if so, I’ll ask them why the relationship ended. A developer who drops off the planet with no warning tells me the working relationship between the client and the developer was not great. The client seemed to be blindsided by this, so proper communication while the project was in progress was not in place.

The 1st phase of the project was supposed to be completed by Feb. 4. If you can get the 1st phase done between Feb. 4 to Feb11, I will offer a bonus!! I assume work would need to be started this weekend.

Also a bad sign, the project (an ecommerce site) was expected to take a total of two weeks. This is a very tight timeline (this is likely why the developer quit, they realized they signed up for more than they could handle) even for an experienced team. Instead of returning to the customer to establish a more reasonable timeline, the poster is offering a bonus to the next poor soul! Well, at least they realize that because of the timeline and the urgency of the situation they will have to pay a premium . . .

We are a marketing company with many clients so please price out the quote accordingly as we need to mark it up a little. I’m looking for an affordable developer who I can send projects to on a regular basis. My total budget is approx. $3000 so please reply if you are serious about the timeline and budget.

. . . or not

3K for the whole project? Also check out the bait: “if you do a good job with us, we’ll send you more low paying high pressure projects.” Gee! Thanks! I think Paulo Elias said it best

Screen Shot 2013-02-05 at 10.03.34 PM

There’s second phase at the end of the month (Feb 28th), which has a lot of additional requirements and features they want added. I won’t break them down further since at that point I really zoned out.

The thing is, this might be a good project, I’m sure this project is perfect for someone. But after doing this for three years, I’ve developed a kind of gut feeling for projects (or Spidey-sense) that tells me to stay far away

I’ve developed it because I’ve taken projects like this, because when I started I didn’t know any better and because I didn’t have any idea what my time was actually worth.

Your time is the most valuable thing you have, if you commit to a bad project on bad terms, then your time will be spent on a nowhere project when you could have used that time for something else. Remember when you’re meeting with a client for a project, you should be vetting them, watch for the warning signs and run like hell if your spider-sense is tingling!

 

The Power of Peers

This isn’t my first blog, in fact kids, your old Uncle Pat has been blogging since 2004.

I used to be a private pilot. I’ve always loved aviation and in my early twenties, broke as hell and with way too much time on my hands (graduated college, no girlfriend, very few friends to hang out with) in 2004 I decided to give flying a shot.

From 2004 – 2010 I flew fairly regularly, about once a month. It was a lot of fun, I enjoyed the challenge of getting new ratings, testing my skills, up in the air just me and the airplane. I started blogging not long after I got my private pilot’s license, simply because I felt a single line in a logbook didn’t do what I was experiencing justice.

It was a lot of fun, for a while. Over time though I noticed a pattern, in that, I rarely left the pattern (in aviation, the “pattern” is the space surrounding the airport, usually 1000 feet above the ground reserved for taking off & landing traffic).  I would go on short hops to nearby airports, do some basic landings & takeoffs, and return back to my homefield. Soon, I stopped even making those trips.

I think I “officially” quit flying when I started Anecka, three years ago. But my heart quit on flying months before; I could blame the rising cost of rent, gas, insurance (it’s shocking and sad how expensive flying has become), in reality, I think it came down to just not surrounding myself with a group of people my own age interested in flying.

I’m an introvert, which means, I get energized by ideas, not necessarily meeting new people. It’s something I’m actively working on, and I’ve made a lot of progress, however in my twenties interacting with strangers was a nerve-wracking experience for me. I also didn’t really get how important peers can be.

Keep in mind peers are different from friends (a peer can be a friend, but not all friends are peers). Peers are people you have a mutual respect for who share a common interest or passion. Peers can help kick you out of the rut, they can challenge you to fly outside of the pattern once in a while and tackle something new. The best peers will show you where your blind spots are, help you find things that you might have missed or force you to thinking about details you thought were unimportant.

On the flip side, if you surround yourself with people who don’t understand what you’re trying to do, or who find ways to belittle or marginalize your accomplishments, then it can have a devastating affect on your success. Those people are not your peers and you have to take care to minimize your exposure to them (this is especially hard if they are family or “friends”).

I’m very lucky to have learned this, I have a fantastic wife who understands the struggles of working for yourself, because she does the same thing (peer), and I’ve sought out other entrepreneurs in Columbus at events like Wakeup Startup, Startup Weekend, and VentureCafe.

Finally, I’ve learned to reach out more to strangers and make myself available. Social anxiety is a luxury that I can’t afford anymore. If you find yourself stuck in a rut (or in aviation speak “circling the pattern”) I encourage you to get out of the home office and start to find a solid peer group. Heck shoot me a message on Twitter, or comment on this post, I’d be happy to get to know you!

Clear skies

Freelancing is Deadly, Like a Chainsaw pt. 2

In part 1, I discussed a maxim in the Freelancer’s Manifesto #4, Freelancing is Deadly. Basically the gist is that if you trade hours for money, you’re going release your product later (or not at all) and never escape the vortex of working for an hourly rate. The author, Rob Whalling, even compares freelancing to working for fast food.

That said, for a micropreneur, dollars for hours is death. If you build a business where your earnings directly correlate to your hours worked then you aren’t a micropreneur. You’re working fast food.

Now, one of the reasons why I hate manifestos is that while they are great at inspiring an audience to an idea or ethos, they are just as great at bumming you the hell out if you don’t follow the everything in the manifesto exactly. Every manifesto carries the implication, “if you don’t strictly follow everything in the manifesto, then you can’t call yourself _____” (Micropreneur, Agilist, Craftsman, here).

That wouldn’t be so bad, except manifestos are also extremely weak in instructing the reader in how to actually accomplish the edicts in the manifesto. The Freelancer’s Manifesto also tells the reader that they need to: solve a problem, avoid outside financing, find a real market for their product, become a badass internet marketer, deal with pressure, manage your time, and engage with other people in public. Which is all true, but if you’ve just set out on your own as a developer or graphic designer, how in the hell are you supposed to do all this?

The answer is freelancing, work for other people in the industry / market you want to capture.  Don’t write a single line of code, or landing page, or draw a single line in Photoshop until you have hands on experience working on a project for your target customer.

This is VERY different from just taking any and all work that comes your way just to pay the bills. This is a deliberate approach to learning the market, building a public reputation for excellence in that market, building a network of customers for your product, and building up the cash you need to develop the product you want to bring to market.

If you want to feel good about yourself, just call what you’re doing bootstrapping: the act of purposefully solving business problems for a specific market by offering your services on a contractual basis while at the same time developing a product to solve those problems at scale.

Think of your freelancing clients as potential future customers, put them on a mailing list, send them surveys, send them interesting articles or blog posts you write about their business, think about how you can turn a project you’re doing with them into a stand-alone product. Use their cash  to fund your idea.

Listen, the point is, building a business takes time. You have to be in this for the long haul and you have to use all of the tools at your disposal. Don’t throw away a perfectly good chainsaw because some online PDF told you to.

 

Freelancing is Deadly, Like a Chainsaw pt 1.

Have you heard about The Micropreneur Manifesto by Rob Walling? Neither had I until I ran into this post from Dave Donaldson (@arcware). If you haven’t read Dave’s blog before, you really really should.

Anyway, one of the maxims states the following:

#4 | Freelancing is Dangerous

As you look for a way out of our job you may be tempted by a seemingly easy way out: freelancing. You might have heard that doing freelance work is a great way to break free. Maybe you’ve even taken the plunge.

Every corporate cog dreams of doing freelance work because they think it consists of working in a coffee shop with attractive baristas serving free lattes, cutting a deal on your cell phone just before logging off for the day around noon to go catch a matinee.

The real story is getting a call at 7pm on Friday from an angry client telling you that their site hasn’t been updated, or the server going down at midnight and having to take care of it while you’re on vacation.

With freelance work, you essentially trade your one boss for many—except now they’re called clients. And they don’t pay for health care or vacation days, or worry about your job satisfaction. Some won’t even feel obligated to pay you for the work you’ve done.

So while it may seem tempting, freelancing typically results in working more hours, not less. Which means it will take you that much longer to get your product launched.

Now Rob isn’t wrong, this is exactly what can happen to you when you freelance. Your crazy demanding boss becomes twelve crazy demanding clients. You client doesn’t pay for the hours you bill. You’re working on the weekends and fielding phone calls over dinner while your spouse glares at you in stoney silence. If this is your life right now, let me extend out a friendly hand to you . . .

. . and slap you hard in the face.

Because it’s your fault. Because you trained your clients to be that way. They’re emailing/calling you at all hours because they know you’ll respond, because you’ve responded all those times before. They don’t pay your invoices because you’ve placed deployed their code on their servers before you’ve collected payment. They don’t pay because you haven’t billed them for time spent fixing bugs/defects in the code, because all those times before you’ve felt guilty and fixed it “just this once.”

I’ve been there, that was me my first year and a half. I spent so much time dealing with this one client my nine month savings runway dwindled to four weeks and I was a stressed out wreck.

Until I had enough, I had to fire them and take a long hard look at what I had done wrong.

And that’s where Rob’s bleak world of freelancing hell falls apart. As a freelancer, the greatest tool you have is the ability to set the conditions of your work. You decide who to work with, how much you want to get paid (notice the phrasing, it’s what *you* want to get paid) and the schedule of when the work is completed. The best time to negotiate these terms is at the start of the project; set the boundaries at the beginning of the working relationship, and enforce those boundaries throughout the course of the project (and after). You also get to fire your client if things get to a point where you can no longer continue.

That’s what I did, I fired a client that stayed with me as I went from a part-time freelancer to full-time. I took on small projects with a faster turn around, adopted tools that would help me add value to my clients that didn’t involve a lot of custom development. I learned how to ask for a higher rate, maintenance retainers, and set a timeline for payment in installments (it’s easier than you think). I also learned to say ‘no’ to clients/projects that didn’t fit my new work style. In a year, I had climbed myself out of the hole I dug for myself and started putting money back into savings.

I began to understand something about freelancing. It’s a chainsaw, wielded correctly it can quickly cut down a forest of obstacles between you and your goals. If you use it incorrectly, you can just as quickly chop off your own legs.

In the next post I’ll talk about how you can use freelancing to help you launch your product.

EECI Talk: Extending your ExpressionEngine add-ons with KnockoutJS

Now that I have a blog like a real Internet person, here is my talk from last October at EECI 2012. If you haven’t heard, EECI is a large annual conference for ExpressionEngine and CodeIgniter users. 2012 was my first conference and the first conference where I was a speaker. Being a speaker at a conference was a great experience and I learned some important things:

  • When you’re a speaker, people are more likely to make the first move and introduce themselves. I’m an introvert, so people coming up to me to make introductions really helped me network.
  • Don’t code live onscreen, just don’t. Also lots code is pretty boring, so keep the code samples down to a minimum
  • Have a good idea of the experience level of your audience, too basic and you could lose a significant portion of your audience
  • Focus on answering the WHY in your talk, not really the HOW or the WHAT. If they’re interested, they’ll do the legwork after the conference
  • Load your deck online FIRST
  • Record the audio of your talk, you’ll learn a lot about how you speak and present.
  • Be funny, but be careful to not alienate your audience and be “edgy”

Anyway it was a great experience and I hope to speak at this year’s EECI as well. I’ve attached my KnockoutJS talk below and the audio recording. Enjoy!

My story

Yesterday at Venture Cafe, Brian Zuercher, CEO/Founder of Venuseen had a big ask for us at the table and anyone trying to build a startup business in Columbus.

Tell your story

When I started Anecka almost three years ago I didn’t have much of a plan really. I had some money saved up, a pink slip from my previous job (yes I was fired, that’s a different story), a green light from my then-girlfriend-now-wife, a fresh hole in my heart from losing my mom to cancer three months before, and a determination that I had to stop talking about going on my own and just do it.

In the past three years I’ve

A lot has happened in three years, last year I beat what I was making at my corporate job. That was the moment I figured I’d be okay. I hope to offer other freelancers & microprenuers some hope & insight on how to turn a desire to do something great into reality.