I'm a Web Developer and Entrepreneur out of Washington DC.

2009 in Review: Extreme Highs and Lows

Posted: January 1st, 2010 | Author: Zvi | Filed under: General, SkeevisArts | 1 Comment »

2009 was a year to remember, without a doubt.

The Highs

2009 professionally was an amazing year, as it marks my first full year of running my own company, fulfilling a dream I’ve had since I was a kid. The people I’ve met, lessons I’ve learned, and amazing products we’ve collaborated on have been a daily inspiration for me. 2010 will be spent working on my own products, help others devise and built theirs, and in general, crushing it. As I’ve learned through experience, the sky is the limit.

Of course there are other good things about 2009 – my first vacation to Mexico – and actually unplugging, my first cruise, and quality time spent with friends and family. And of course, nearly four years with some crazy lady from New Jersey.

The Lows

Personally, 2009 was tragic as my loving father, David Band, passed away in March – a scenario that one never wishes to happen on anyone, or thinks would happen to them. We all miss him. I’m not going to dive in to what we had to deal with, what we’re still going through, and feeling, as it is a bit too private for an online forum. All I can say is that we are so thankful for our family and friends through this tragic time.


Freelancing Lessons Learned: 1 Year of SkeevisArts

Posted: December 4th, 2009 | Author: Zvi | Filed under: Entrepreneurship, SkeevisArts | 2 Comments »

December 4th, today, marks a pretty big day in my life.

Since I was in middle school, skeevisArts was the moniker I used for any “professional” work I did (back then, I used the professional label pretty loosely).  Skeevis was my nickname back then, and considering that I was doing mainly creative work at that time, skeevisArts was appended to everything I created.

But on December 4th, 2008 – I began my journey as a full time freelancer, finally turning the dream of skeevisArts into a reality.

I’ve learned so much, met so many amazing people, and been lucky to do some pretty incredible projects – especially considering how “fresh” I was. Sure, I had done a decent amount of freelance work before, but nothing compared to the experience of the past year. When I compare an “average day” – which no entrepreneur ever has – to what I had experienced just a few years ago, when I was still full time at unnamed-ginormous-government-contractor…. its beyond comparison.

DISCLAIMER: When I was working at aforementioned consulting agency and dreaming about freelancing full time – and doing a bit of it on the side – I read… a ton. Everything I could get my hands on via social media – blog posts about lessons learned, war stories of entrepeneurs, Top X tools you need to Y… I consumed it all. Everyone was willing to hand out advice. Let’s face it, most of the content out there is regurgitating information found via other sources, mindless unfounded banter just to generate page views, or just monkeys mashing at keyboards. I don’t want to be any of that. Instead, I just want to reflect upon the lessons I’ve learned, primarily to cement them in my own head, but also hopefully, that someone out there will find it useful. This isn’t a definitive list of “Steps to take to Master Freelancing” or “Why it’s so hard to start a company” or any BS like that. This is solely what I have learned for myself. This might be completely useless to you, it might be just what you needed. Take this advice at your owk risk.

Here we go.

What I’ve Learned, In One Year of Freelancing

1. Do Amazing Work. Duh, right? I couldn’t stress this enough, and still have to remind myself of this every day. First off, there are so many other tasks and activities you have to deal with – new business, accounting, new business, partnerships, new business, internal projects and processes, new business, project management (and did I mention new business?) – that sometimes the actual labor is second tier, rushed through, or put off to the last minute. No. Amazing work is all that matters. The money will come in once that is taken care of.

1b. Do Amazing Work. I am blown away on a weekly basis by how much crap there is, especially stuff put out by other freelancers. I’m disheartened that some people would actually put this out, and that clients would pay for it. But, this is also an opportunity. If you come in doing good work, clients will instantly see it, latch on to you, and – best of all – be willing to pay nearly any price for that kind of quality. 1/3 of the work I do is replacing another developer (or team of developers).

2. Find What You Are Good At. Outsource The Rest. Just because a client is hiring you to do a project, doesn’t mean you’re expected to do all of it yourself. They’re paying you to get to the finish line.

3. Every Client is Valuable. When I first started, I took any client that walked through the door. I still keep in touch with them to this day, and it’s paid off – even if it’s at a lower rate, doing smaller work (example: I still do IT work for a couple small businesses at an hourly rate a fraction of my current rate). Just because a bigger, better, client has walked through the door, doesn’t diminish the importance of every single client before it. (I know, at this point, a lot of this is “duh!” stuff. I’m only saying it because every day I see more people who don’t think this way)

4. Don’t Mess Around (Too Much) On Payments - Invoice promptly. If the project isn’t a rush project, wait until you get the deposit. If you’ve set generous terms, and the client is still behind on paying you – alarm bells should go off IMMEDIATELY. I’ve learned this lesson a couple times already in a year.

5. New business is the lifeblood of a company. Don’t underestimate how much time it takes to process this. While so far I’ve been successful enough to build a business solely on word of mouth, I still end up spending 1/5 of my week in new business phone calls and meetings, writing proposals, and negotiating terms.

6. E-mail is not the lifeblood of a company. I’m still fighting with not checking e-mail every five minutes. Learn more from Jared on this, he’s the expert.

7. Rigidity will only lead to frustration. I’m at the point where, when I wake up in a day, I have no idea what I’m going to work on, unless I have a scheduled appointment. This is how I best function personally, as far too many things change in a day, to have a strict work plan. Keep an eye on your deadlines, get the work done, but know that every day, unforeseeable items pop up.

8. Surround yourself by people smarter than you, more dedicated than you, and more connected than you. Strive to be like them, every day.

9. Networking is crap. If you want to get business from people you’ve met, you have to do more than just the business card swap. Get to know them. Have lunch with someone every day. Follow them on twitter. Spend more than 30 seconds with them at a conference. 100% of the work I get is from word of mouth, usually kicked off by someone I know. 0% of the work I get is from a business card in an ever-growing pile on my desk.

10. Learn something every day. Stay on top of what’s going on. Clients may be paying you for what you know right now, but you’ll also need tomorrow’s skills and knowledge someday as well.

10b. Bring something new to every project. It’s far too easy to get into a rut of doing the same kind of project, for the same budget, over and over again. I keep myself on my toes by always trying a different technique, framework, or feature in everything I do.

11. Educate your clients. One of my tenets that I convey to my clients is that I want our professional relationship to be a learning experience, for both of us.  I clearly state that my goal is, once the project is complete, that they’ll almost never need me for that project, barring major changes.

12. Project management is incredibly important, but the hardest to quantify/charge for. Clients won’t just leave you alone until the work is totally complete. Be prepared to spend a lot of your time answering e-mails, taking phone calls, and in meetings to discuss what you’re doing, defend your approach, and talking to anyone you’re requested to speak to. Nicholas suggests tacking on a set percentage for project management on top of estimated labor charges.

13. Strive for a good work/life balance. Yes, I’m still easily working 80 hour weeks, but I’m happy with that balance at the moment. I still find time to spend time with Alex, see friends, read, watch all my TV shows, and play DJ Hero.

14. Project minimums are important. I say this because often times, the smaller the project, the more work it tends to be. Ask any freelancer about that $500 project that ended up taking them a week to complete. Work for full price, or give it away for free. The area between that is where it gets hairy.

15. Find time for personal projects. If you have your own product startup in mind, or just want to work on some personal projects, make sure to set aside time for that every week.

15. Enjoy it.


BarcampDC3 Wrap Up

Posted: November 18th, 2009 | Author: Zvi | Filed under: DC, Entrepreneurship, Post Graduation | 6 Comments »

Thanks to Nick for catching me doing what I do best… checking e-mail.

A big thanks to the organizers and other sponsors of BarcampDC3. It was a great experience for everyone, and it’s hard to believe that this is the the third one, organized by essentially the same group of people.

Startup Metrics for PiratesJared dug in depth one of the most important concepts of the “Startup Metrics for Pirates” methodology organized by Dave McClure – converting and retaining users. One especially helpful tool to come up was Google Insights for Search, that I will immediately start using.

HTML/CSS Tips + TricksRussell led the most useful session on HTML/CSS tips + tricks – little bits and pieces of advice to really perfect your technique. First thing Monday AM, I was already using some of his lessons, posted online here.

Android Development – THE GREATEST TALK EVER GIVEN BY ANYONE EVER. Gyuri and I led a developer-focused session on beginning Android development. Gyuri gave a basic step by step tutorial on building an Android application, while I dug into the code for MeetroDC, an application for checking DC Metro times (Bonus Round: I open sourced the code)

Twilio Development – Two developers from the DNC gave an overview of how they used Twilio to rapidly spin out telephony-powered applications during election time. This evolved into an open discussion on possible future applications that can be built, given how easy it is now with these APIs available to developers.

FreelancingJosh and I finished up the day by leading a session on freelancing, both moonlighting and full time. We had a great dialogue amongst experienced freelancers, newbies, and those just interested in learning more. The conversation started out dominated by legalese and fear of being “caught” – but we then focused on some of the true important topics – billing, project management, and communications. I’m thankful for everyone who came out, and especially to those who attended just to put in their 0.02. We could tell by the questions being asked and the wide eyes that this was inspirational and helpful for all involved (it certainly was for me).

As the first BarcampDC was my first foray into any kind of professional community outside my then-employer, it’s a great experience to come back each year, see how the DC community has grown, and see how I’ve progressed in my own journey. If you had told me two years ago, that I would be completely out of the government contracting world, running my own thriving business, working on multiple products, and a regular contributor to these events… I would have laughed and kept walking.


BarcampDC3 Coming Up

Posted: November 13th, 2009 | Author: Zvi | Filed under: DC, Entrepreneurship, Geekery | No Comments »

It’s hard to believe that a little over two years ago, the first Barcamp was held – being my first foray into the DC tech community. It was a life-changing experience, as it’s where I met all the people I work with on a daily basis, inspire me, and genuinely consider my friends.

I’ll be speaking/organizing on two main topics:

Freelancing

After years of moonlighting before freelancing full time for the past year under the skeevisArts brand, I’ve learned a lot, and failed a lot. Knowing that there are many others in the same position as me, as well as even more who hope to go out on their own, I figured it would be beneficial to hold an open discussion on lessons learned, and to exchange ideas and discuss issues.

Android Development

While my bread-and-butter work is web development, I’m moving into mobile application development, under the Droidee moniker. Having developed two Android applications (likely releasing in the next two weeks), I’m partnering with Gyuri to do a basic introduction to Android, and a walk through of some code.


We Live in Public

Posted: September 11th, 2009 | Author: Zvi | Filed under: General | 1 Comment »

I’ve had the chance to meet Ondi Timoner, the director, and watch the documentary. Amazing view of what our “sharing” and “transparency” can lead to.

And we built a widget for the movie!


FixMyCityDC Receives an Honorable Mention

Posted: September 4th, 2009 | Author: Zvi | Filed under: DC, Development, My Work, SkeevisArts | No Comments »

The DC 311 application I built and Zach designed received an Honorable Mention in the Apps for Democracy competition!

Read my full post at my other blog


Toggling Between Values in jQuery

Posted: July 27th, 2009 | Author: Zvi | Filed under: Development | No Comments »

I had a need for switching back and forth between two different values in a hidden input field. I couldn’t find any decent plugins to achieve this, so I wrote a little jQuery plugin to handle this.

Download here. Using it is dead simple, just pass in the two values you want to toggle between.

$("#element").toggleValue("true","false"); 

Iran and New Media

Posted: June 22nd, 2009 | Author: Zvi | Filed under: Politics, Social Media | No Comments »

Three things really stand out about the current Iranian conflict.

1. User generated content is easily able to slip through any blocks that the government puts in place over traditional media.  Journalists were locked in hotels in the dark, while a protester sitting on a balcony can snap pictures and post on Flickr/YouTube/Twitter/Blogs.

2. Instead of new media sources being used to highlight traditional media articles, the traditional media was highlighting and analyzing new media posts. Maybe thats where it’ll go in the future?

3. Anything posted to UGC sites was referred to as “unconfirmed” – which is an important aspect of print media. How does one verify things posted online? Will we rely on technical checks (EXIF data in photos, GPS location of twitter posts) or rely on the wisdom of the crowd to decide what is real?


    DC Open311 API – Ruby Gem

    Posted: June 6th, 2009 | Author: Zvi | Filed under: DC, Development, Geekery | 5 Comments »

    Background: The DC government is exposing an API for their 311 call center, to allow application developers to build open source tools to make it easier for citizens to submit issues. As part of it, they and iStrategyLabs have launched a second Apps for Democracy contest. The creative juices are flowing, and I have a few ideas I plan on implementing.

    But first things first… in order to make it even easier for myself and for other developers, I built out a ruby gem that interacts with the Open311 and Geolocation API. I know I’m helping out my competition, but it’s all for the better good, right? Here you go:

    http://projects.skeevisarts.com/code/DCGOV-0.0.1.gem

    You can also grab it from github: http://github.com/skeevis/dcgov/tree/master

    Download and install it, and you should be set. It’s fully tested using rspec, so just open up the spec folder and you’ll be able to exavtly how it works. I’ll eventually add this to rubyforge, but for now you can take the extra step :-)

    DC OCTO has a ways to go. The API is supposed to launch on July 1st, but they certainly have a lot more to do with the API, both in terms of development and documentation. The Geolocation API seems to be pretty solid. The 311 API has unimplemented (stubbed) functions, spelling mistakes in variable names, no error handling, and no documentation (the “submit” function, the most important, is a total mystery). It’s too bad that people will find this when they head to the CodeJam over the weekend, but oh well.

    Good luck to everyone else!


    Developer Day DC

    Posted: June 5th, 2009 | Author: Zvi | Filed under: DC, Geekery, Tech | No Comments »

    The Masses

    Last weekend, a few dozen developers gathered together at Viget’s beautiful offices in Reston to… talk nerdy. Out of all the conferences I’ve been to, it was one of the best. It was directly honed on developers, and all talks were targeted as such. That meant no talks about marketing, gov 2.0, branding, public relations,  blogging, twitter, or anything else social media/PR, etc. as *camps and other conferences I’ve attended recently have moved towards (I’m not counting language-specific conferences).

    I had taken notes, but Peter did a better job, so read his.

    A few key takeways:

    • Jay Virdy, CEO of Summize, kept repeating Build something simple, let the market pull you in – Brad Burnham . As soon as he accepted that, Summize turned itself into a simple Twitter search engine, and took off.
    • HTML5 will likely have standards for push notifications (a la Google Wave). Comet is a current implementation. No more of this polling shit.
    • Ruby 1.9 is a huge step ahead, but will pose problems for legacy apps.
    • Impromptu, Lily, PureData are pretty cool tools for manipulating sound/visuals, even by reading a website. Much cooler if you want to spring for a Monome

    Some link love: