Accounting for Startup-ers

For most start-up leaders, accounting is low on the priority list. After all, you have product, hiring and all of that fun stuff. But don’t forget: cash is king. You must understand how much of it you have so you can make informed decisions for product and hiring. 

The Good News: This isn’t the boring accounting you slept through during freshmen year. Real business accounting is actually really interesting, and when done right, incredibly powerful to help you grow your business. 

How and when do you start with accounting? Let’s break it down:

1. Start as soon as cash is involved

If you are hacking away at a software product and haven’t bought or sold anything yet, it’s too early. But as soon as you start buying or selling, you need to be tracking those numbers like a crazed sports fan pouring over Fantasy Football scores.

2. Think of it as $ in and $ out

Your business is made up of cash in and cash out. You sell and buy stuff. You send invoices to customers and pay vendors. So, that is the kind of stuff you need to be thinking about and tracking. When you write a check to pay a contractor, will you remember how much you paid them and why? Yes, if you account properly.

3. Get a new friend: Quickbooks Online

I have a close relationship with good old Quickbooks Online. This $27 per month cloud software from Intuit handles everything from invoicing to payroll to bank reconciliations. As soon as cash gets involved in your business, grab a Quickbooks Online subscription. 

4. Build out a Chart of Accounts

A Chart of Accounts is essentially a list of all of the ways that you spend money and make money. There are Salaries, Facilities, Office Utilities, Service Revenue, etc. You can use each of these broad items to categorize your revenue / expenses and understand which parts of your business are the most expensive. For example, a few items from the influnencers@ Chart of Accounts include:

5000 Salaries, 5010 Contractors, 5040 Promotional Goods, etc. The number next to each topic is just a handy way to quickly reference it. 

5. Break your business down into departments

As you grow, you’ll want to know how much it costs to sell vs. how much it costs to build product and how much you spend on office supplies. To do that, we break the business down into different departments, referred to as “classes” in Quickbooks. Your executive team should all sit down to think these classes out together because it is an excellent way to keep everyone on the same page with how the business is structured. For example, I sort the influencers@ departments into:

G&A, Sales, Service, Product, Account Management. Boom, simple. Everything I spend money on is for one of those five areas. 

6. Get an accounting mentor

When I first joined influencers@, I barely knew anything about real business accounting and our Quickbooks looked like a scene from a horror movie. Through Northeastern’s IDEA program I got connected with Ed Jaworski from SMB Partners who together with Ryan Durkin taught me everything I know about how to leverage Quickbooks.

7. Get it right the first time

Figuring out these categories and setting up Quickbooks is confusing. The worst thing to do is mess it up the first time and have to fix all of your old transactions months later. I’ve been there - it’s a scary place. Do your research, grab an accounting mentor and get it right the first time. 

For any Boston entrepreneurs who are reaching the point of needing to understand basic business accounting, feel free to shoot me an email - I’d be glad to help!


Why Business Students Make Great Developers

If there is a gold rush equivalent in the entrepreneurship world, it is without a doubt a hunt for developers. One surprising place where more high quality developers are starting to appear is in business schools. One of the best business student developers I know is Northeastern senior Drew D’Agostino.

It was the Husky Start-up Challenge (HSC) of fall 2010 at Northeastern University. Third year student Drew D’Agostino was pursuing a new website idea where frantic gift givers could find talented writers to craft a custom poem for their significant other and deliver it online. “I’m trying to figure this out in PHP” Drew explained to me as I hovered over his table during the first HSC Boot Camp. As a skilled marketer and salesman, Drew was exceptional at dealing with people but he didn’t have much experience with web development. Every evening he was camped out in the library with his laptop open, picking apart websites and hacking together a page of his own. By the end of the semester long competition, Drew had built GoRomeo.com and become his own “technical co-founder.”

Fast forward a few years and now Drew is an incredibly competent web developer with expert skills in both back and front end development. He is constantly leaning new technologies and each project he embarks on gets more impressive. In fact, he even wrote a tutorial on the subject.

What makes Drew so special is that he has a deep understanding of people before code. He can talk to customers and translate business requirements into functions. He appreciates design because he knows how important it is for selling a product. So the code he writes and products he creates all excel in both function and user experience. Most importantly, when Drew talks to colleagues, he doesn’t default to “programming-speak.” He knows how to explain technical concepts to non-technical people. This is absolutely critical: it makes him easy to work with, communicate with and ultimately trust. I’m proud to call him my friend and learn something new from him every day. 

As I continue my quest to recruit world-class technical students and grads to join the team at influencers@, I use Drew as a model. He has the ideal mix of qualities that make for a wonderful teammate and technical lead. This new hybrid developer with both technical and business acumen is going to start to become more and more desirable. While you may want to get in line to hire him, for now he is embarking on a mission to unbug the world


Complexity Killed the Cat

This time it wasn’t curiosity that did it. Complexity is a challenge, especially in business and product development. Take Apple, a company that prides itself on making things as simple and lacking complexity as possible. The iPhone has one button on the front. Customizations and “hacks” are minimally available in iOS. All of the devices look similar (iPad, iPod, iPhone) and they all sync effortlessly. People love this and pay a ridiculous premium for it. Customers want something sleek and simple. 

Now on the other end of the spectrum was the product that Kirill Klimuk and I built last summer. It had a gazillion bells and whistles, months worth of coding features and oh man was it confusing and complex. The inner workings were indeed brilliant (props to Kirill there), but the average user looked at it and said, “HUH???” That’s bad, because they didn’t end up being our user for very long.

When I was working on that product, I overlooked an important piece of advice from my friend and mentor Maria Cirino, the Managing Director of .406 Ventures. She told me something along the lines of “every feature or complexity represents a failure point in your product. You want to eliminate as many of those failure points as possible. If one point fails, the whole product can go down.” Successful products need to be built minimally: less features, less functionality, less complexity. There should be one button that does the same thing every time, and every user understands what the button does.

The same should be applied to service delivery. The less materials, less people and less time that we can tweak the service down to, the better. When we are crafting a marketing campaign at influencers@, the creative team always seeks things that are exciting, effective and yet brilliantly simple to execute. Consider ways to reduce complexity in your business… your customers and bottom line will be a lot happier.


Why You Have to Hire People

My first business was fixing computers. Jeremy Blum and I founded the company when we were 14 years old and worked on it all throughout high school. For the most part, it was always just the two of us fixing computers. We repaired as many as we could while balancing school and were pleased with the profit we were pulling in. As I am getting exposed to larger and growing organizations like influencers@, it’s becoming clear why the CEO can’t fix computers.

If we break down a business, it is essentially made up of:

  • Getting customers: selling, engaging with people and keeping them happy.
  • Servicing customers: building or providing a product or service that customers are willing to pay for. 
  • Operations: making the business run smoothly, accounting, people, logistics, office space, internal stuff, culture.

Each of these responsibilities is pretty intense and requires somebody’s focus. One of the reasons why a startup is so challenging is because usually everyone focuses on everything. In the early days, that’s ok. From being a part of a 9 month old profitable business, I am beginning to realize that this system starts to break down for more mature ventures. The executive and founding team has to start moving away from the “computer fixing” and more towards a focus on growing the business. That might mean overseeing sales that bring in more computers to fix, recruiting awesome new computer technicians and providing an environment that makes fixing computers as efficient and profitable as possible. This is when we begin hiring people.

Hiring people is scary because you are suddenly entrusting someone else with what you believe you do best. You need cash or equity to pay them with and you suddenly have to think about a slew of challenges that were non existant in my high school business: payroll, human resources, people liability, complex scheduling and other people’s human emotions in your business. That stuff is tough!

To scratch the surface on hiring, here are a few guidelines to consider when you are making the first hires in your organization:

1. Hire slowly

Spend a reasonable amount of time interviewing, testing and hanging out with a person before you give them an offer. Some hires are easier than others, but this person is going to be a part of the company culture and responsibile for some aspect of your business. That means that he or she is pretty darn important! 

2. Look for people you know

Start with the lowest barrier to entry when looking for hires: people you know. I’ve hired a ton of folks that were involved in the Entrepreneurs Club for influencers@. I already knew them and their capabilities.

3. Seek passion, not skills

I’m a big believer in hiring people that are passionate about the job and the business over someone who is a so-called “expert” in a specific skillset. You can read more about that here

4. Be a mentor to them

The stronger your hires become, the stronger your business becomes. That means you should invest considerable time, esspecially in the early days, mentoring and staying close with these people. I take every opportunity I can to show Dave Fields better ways to phrase emails and organize schedules.

Hiring is a big and exciting move in any start-up business. Sometimes it works out, other times it might not. Either way, the founders and leaders will eventually have to move away from service delivery and towards even greater company challenges, and hiring smart people is the first step in making that possible.


Being One Brained

Have you ever went into a meeting with your business partner and he started to say something that was totally different from what you were thinking? Maybe even something you didn’t agree with? It would be pretty awkward, esspecially if you are sitting in front of a customer or new recruit. Luckily, there is a great way to avoid this: we call it “being one brained.”

My CEO Spencer Bramson coined the term at our company, and what it means for us is that before we go into a meeting, make a decision, talk to an employee about something important, etc we first sit down, say it outloud to each other and confirm “are we one brained on this?” It means that we are thinking the same thing and are in agreement. It’s an extra safety mechanism to ensure that one of us doesn’t accidently do something that the other isn’t on the same page with.

This is so important because, obviously, multiple people are not one brained. On the contrary, everyone has their own thought process, opinions, agendas, etc. But just like making sure your laptop calendar is synced with your smartphone, people working together need to sync their thoughts, quickly debate and get to a place where they are on the same page and thinking in agreement. If not, hard feelings, mistakes and troubles will likely occur.

Being one brained is actually pretty simple. Consider the following:

1. Have a word

We like the word “one brained” and feel free to use it as well. However, any word/phrase that immediately identifies that you and your colleagues are syncing up on ideas is important to let people know what’s going on and let them get in the zone for it.

2. Make it quick

Being one brained can’t be a 2 hour process each time you are reviewing a decision, meeting or agenda. Get to the point and keep it simple. Remember, people are inherently lazy and busy, so adding lots of time to anything is a failure point. Keep it quick.

3. Get it on paper

Making agendas or “logistics schedules” as I call them for events is a great way to make everyone brained. When it’s written out on paper it becomes more clear and easy to understand. It eliminates the failure point of an oral miscommunication.


Commercial Failure, Experiential Success

I know what you did last summer. Well, ok: that’s not true. But I do know what I did last summer: I tried my hand at a software startup, fell on my face, and learned a ton. Here’s the story:

It is January 2011. I am in Durham, NC, on co-op at Digitalsmiths, pretending to attend Duke University. In the cocktail hour before an entrepreneurial speaker at a campus event, I meet Kirill Klimuk, a freshman computer science major. Standing over a big bowl of chips and guacamole, acting as a scout for .406 Ventures looking for hotshot hackers I ask Kirill what he’s up to. He proceeds to explain what sounds like one of the craziest ideas I have ever heard: concocting some sort of web of information, making it easier for people or organize and share data online, and a whole bunch of other jargon. I have no idea what the heck he’s talking about. However, something tells me he’s special. So after the event I track him down and send an email inviting him to dinner.

We meet at 6pm on a Sunday evening at Panda Express on Duke’s campus. We end up sitting in that restaurant for 6 hours straight.We talk about everything from our childhoods, to our obsession with Legos, and the intricacies of this very clever idea Kirill had. The basic premise of the idea is that there is a lot of information content online (news articles, blog posts, etc) and we’d filter out the uninteresting stuff and only show people the content that they actually care about. At around midnight we leave, shaking hands as business partners in this new venture. 

Now, we weren’t signing contracts or NDAs: we were just two students working on a project. So we meet every Friday, Saturday, and Sunday night while everyone else was out partying. We would sit in front of whiteboards from 5pm to midnight putting together the components of our product to make it work like a well-oiled machine. Working was glorious intoxication: we loved it and couldn’t get enough of it. We had a mission: to be a destination website where people could go to discover every topic from technology to mountain biking. One night we stayed up until 3am, filling the room with diagrams, outlines and mockups of our baby, which we called Quiree, after inquiry (a search leading to discovery). It couldn’t have been any more fun.

We did this all semester and all through spring break. At the end of the semester Kirill’s classes ended and so did my job, so we decided to walk away from high paying tech internships and work on this crazy idea full time, all summer. We decided we were really serious about the company and incorporated it to protect the IP, working with a great startup lawyer in Chapel Hill, NC. My parents, as crazy as they are, agreed to let us both live in their house in NY. So sure enough, I came back from co-op with a Duke student to live in my parents’ house in mid-May. 

We settled in and made a rigorous schedule. We started work around 9:45am and ended work around 11:00pm every day, with a couple of breaks for lunch, dinner and sanity. We did this 7 days a week.It was madness. As the weeks turned it to months, it became more and more challenging to keep up our insane work ethic. No going to the beach, no enjoying summer, or being kids. We were crafting code, graphics, and layouts like gears churning in a engine, without an off switch.

It was finally the beginning of August, and we had finished our website. It was amazing: we built it! Everything functioned just as we had drawn it out on the white boards months ago. It was still a minimum viable product (in our eyes at least), but, man was there a lot to it. Bells, whistles, the works. Features stacked up like a skyscraper and the instruction manual thickened with guidelines of how to use the product. We started sending the link out to our friends and colleagues to try out. They gladly signed up, looked around for about 60 seconds, left and never came back. 

“Oh, crap” we said. Realizing that there were a ton of flaws that we could quickly identify and repair, we set out to iterate and create the next version to release again in a week. We cranked it out during the week and sure enough pushed a new version out. It was a big improvement, butusers still did not seem to understand it or want to use it. Maybe it wasn’t social enough? So we added more Facebook and Twitter integration, more opportunities for users to interact and discuss topics they were interested in and comment on news content. But again, people tried it and left, not really giving it a chance or understanding what it could do for them.

At this point it was mid-August. School was going to start soon, and the project looked like it needed to a major pivot that would require massive re-coding. Kirill and I were so tired that we could barely lift a finger. Our spirits were down, our energy depleted, our enthusiasm at an all time low. Suddenly, going to class didn’t seem so bad at all. At that point we made a choice to put our product on the shelf, and so ended the story of Quiree.

What did we learn?

1. Simplicity

Products MUST be simple. The best software product is a button that does one thing the same way every time. Our product had 50 buttons that were color coded and felt like an airplane cockpit command center to most of our users. On top of that, the interface was so busy that users didn’t understand what they were looking at. You need to be able to sum up in one sentence what your product is, and it needs to be in clear, simple language. Ex: “My product is a software program where you can voice and video chat with your friends.” - Skype. Or, “My product is a website that teaches you how to code.” - Codecademy. Simple, simple, simple. 

Here’s a guideline to simplify your product. Dream it up, write down all of the features you believe are necessary. Now, ditch half of them. I mean it, ditch them right now. And now, cut the amount of features left in half. There: that is your minimum viable product. Seriously. It needs to be MINIMUM, the absolute bare essentials. 

2. The user is LAZY

One of our biggest mistake was overestimating our average user. My partner and I are technical guys. We build software and understand its intricacies. But the average user doesn’t always realize the most basic aspects of navigation on the web, like the issues of using the browser’s back button from within a web application. Your product must be so EASY to use and so OBVIOUS that the user does not have to exert energy trying to figure it out, because I assure you that they will not. Instead, they will simply walk away from the product.

3. Design and User Experience (UX) are key

Neither my partner nor I were great designers. It showed: our product was ugly. There are some really beautiful products out there that place a great emphasis on design, like Zaarly. Do yourself a favor: have a design co-founder on your team or hire a top notch firm like Bionic Hippo to consult on UI/UX. If your product is not appealing to the eye and warming to the soul, people won’t want it. 

4. Pivot quickly

If a software product takes 4 months to code, you are probably doing something wrong. Get something out quickly (i.e. in weeks), get user feedback, and test again. We spent way too much time on our first iteration. Adapt to what your customers want and be willing to completely change your product or business model to suit the needs of your customers. There is zero room for stubbornness in web software startups, especially targeting mass consumer markets.

5. Partners will fight

You start out your business loving your partner. You are best friends; all is sweet in the world, etc. I promise that at some point in your career, you will fantasize about smashing your partner’s head into a telephone pole. It is ok; it is normal. Remember, you are all people. You have your own opinions, desires, and agendas. You need to learn when to give each other space, when to compromise, when to take a stand, and when to back down. Most importantly, you need to act like a decent human being, otherwise nobody will care how smart or skilled you are, and they won’t work with you.

6. Cost control is good

My partner and I lived for free in my parent’s house (and ate their food). Luckily we were young enough to be able to play that card. At the end of this adventure, we lost very little money. We spent a lot of time, but we also learned a lot. Our costs were incredibly low. Position yourself the same way.

7. Code, code, code

We learned a ton about coding through this experience, and anyone who tries to attack a similar venture will too. I became comfortable with JavaScript and my partner had PHP shooting out of his fingers. 

8. Product management

It is really easy to get picky on details of the product. Don’t do that - it is not important in the beginning. Whether the icon is blue or orange doesn’t freakin’ matter. What is important:do people understand your product? Is it easy to use? Does the basic functionality work properly? Can you easily scale it when the time comes?

So, that is the story. It was a magnificent summer and I learned a huge amount. I’m very glad I took the plunge to make our crazy idea a reality and despite it being a commercial failure, it was certainly an experiential success.

Thanks to Kirill Klimuk for his input on this post.


10 Ways to Identify Great Developers

“Developers, developers, developers, developers.”

We all know the quote from Steve Ballmer and the classic video of him showing his support for Microsoft engineers.

Ballmer’s quote holds especially true today as startups and Fortune 500’s alike viciously compete to acquire the top programming talent. This means that identifying and recruiting world class software developers is not only crucial for tech companies, but also more difficult than it has ever been. 

Throughout my experience as a web developer, entrepreneur, and Student Fellow at .406 Ventures, I’ve met amazing software developers. Here is my short list for finding the great ones: 

1. Ability and willingness to learn

I don’t care how much you know right now. Instead, I care how fast you are able to learn new technologies, adapt, and implement them. My partner last summer came into the venture as a PHP novice. The code he wrote the first month was clunky. However, he loved learning to improve the code, absorbing pages of the PHP manual like a sponge. Within months, he became a sharp PHP wiz, re-building the old code in hours even though it took him days to first write it.

2. Passion for problem solving

Writing software is all about solving a problem. Any great programmer must have that innate passion for solving problems, boldly taking on challenges and ultimately conquering the unknown.

Maybe they solve the 6 Rubix cubes on their desk in under a minute or they spend every morning manipulating a Soduku puzzle. Either way, having a knack for problem solving in an efficient, salable, and manipulable way is paramount.

3. Logical and mathematical thinking

At a very basic level, any software program is a series of commands (logic) that goes through situations and takes some sort of action based on the situation. For example: IF it is raining THEN I’ll take an umbrella ELSE I won’t take an umbrella.

Great developers will many times think, speak and act in similar ways that they program. If I videotaped some of the arguments my CTO and I had, I bet we could easily transcribe them into basic logic arguments and turn them into a web app. Look for people that love math and logic, those skills translate well into development.

4. Flexibility

If a developer seems married to one programming language or stack, run away. It might be Ruby on Rails today, Python and Django tomorrow and picking apart some Node.js or Scala next month. Once you understand the fundamentals of Object Oriented Programming (OOP), it is fairly simple to go in between these different languages. You want someone that is flexible, a jack-of-all-trades in the programming world. They don’t have to start out this way, but must have the willingness to learn and explore at a rapid pace.

5. Readiness to re-code

When I was was first learning to program, it drove me nuts that I had to constantly re-do work. But that is the nature of the beast: as you learn and get better, it is essential that you optimize whatever code you are working with to function at its best, and unfortunately that usually means scrapping old code and starting from line 1. Any experienced developer knows this, and they need to be ready and willing to re-code when necessary without grumbling about it. I was a grumbler, and I learned fast the error of my ways.

6. Being a team player

Every engineering team is just that, a team. There are multiple developers working towards the same goals and writing different parts of the same application.

That means you want someone who doesn’t mind picking up where someone else left off, deciphering someone else’s code or comments and ultimately working in a collaborative environment. Developers that go with the attitude of “mine mine mine!” are probably not going to be a good fit.

Make sure they take this very seriously, even if it’s a team of 1 right now. 

7. Playing well with non-techies

Any strong startup team is not just made up of developers. There are designers, business people, and investors, just to name a few. The engineering team must be comfortable working with other stakeholders in a cross disciplinary environment. There will be project managers and product folks suggesting ideas for the product, which at times might be unfeasible or simply wrong.

I want to hire the engineer that doesn’t criticize or shrug off a flawed proposal, but instead takes the time to explain the problem to decision makers that might not have a technical background.

8. Code formatting

When most developers start out, their code looks like crap. Nothing is indented, views mix with business logic, and the madness goes on. A good developer quickly learns that formatting code well so it is readable and properly commented is very important. When responsibilities shift, it makes a world of difference for engineers to be able to look at code and understand exactly what it does and what other pieces of code it interacts with.

9. Emphasis on documentation

In addition to clean formatting of code, having proper documentation can make everyone’s lives a lot easier when code needs to be reviewed or edited down the road. Keeping a log of every function (along with its parameters), file, and database table is a great habit to get into. It is not as annoying as it sounds, and the consequence for not doing it is a guaranteed headache when you have to sort through 50 files to figure out what 5 little lines of code do.

10. A fun, hardworking, good person to be around

I follow the golden rule of “do not work with assholes.” I don’t care how much of a code master you are, if you’re not nice to other people in the company, if you put others down, or don’t respect authority, then you won’t work with me. I’d much rather train a hard-working, smart, and fun new developer then a self-labeled expert that is rude or arrogant. Choose your team with this rule, hire slowly and fire quickly when there is a culture problem.

If you need to figure out how someone’s going to treat the other people in your company, take them out to a meal or two. When you get a chance before you order, take the waiter/waitress aside and ask them to bring out the food either late or slightly incorrect. Then, see how the engineer reacts to the situation. Do they complain or talk beyond the server’s back? Or do they politely communicate the problem like a nice, understanding human being?

Every startup is going to have ups and downs, and if someone loses their cool at a minor issue in a restaurant, you might not want to be rely on that person when it’s crunch time and you’re a month away from running out of money. 

Are you ready to become a great developer? Awesome! Here’s what you should do:

  • Get on Codecademy: It is the hands down best place on the Internet to learn how to code, co-founded by my friend Zach Sims.
  • Get some books: I recommend ones like the PHP Cookbook that walk you through every key area of the language and provide a ton of real world examples (with real code) to play around with.
  • Start hacking: Play around with code. Make up an idea for a mini application and hack it together piece by piece. It’s going to be clunky - that’s ok, you’re learning!

Good luck!

Thanks to Kirill Klimuk and Drew D’Agostino for their input on this post.


How to Choose a Great Startup Lawyer

As you are venturing into uncharted territory building a startup, having the proper legal protection and organization is not at the forefront of every entrepreneur’s mind. But after all of the building and planning and coding, making sure that your IP, partners and company are protected is absolutely paramount to ensure smooth sailing when you hit it big.

As you are seeking out a firm / lawyer to work with to form your corporation and initial IP protection documents, consider the following:

  • Does the lawyer specialize in startups? 
  • Does the lawyer have a strong track record in representing successful entrepreneurs?
  • How involved are they in the entrepreneurial community?
  • Have they ever started a company themselves or been deeply involved in a startup?
  • Are they willing to defer fees until you raise capital?

Additionally, you need to consider how a lawyer is going to treat you. Do they have tons of clients that will get more attention than you?

For my last startup, I worked with Glen Caplan and John Fogg of Robinson Bradshaw in Chapel Hill, NC. They hit the nail on the head with every point I described above. I knew I was in good hands based on the following:

  • Prompt responses: when I emailed Glen or John, I get a response back generally within an hour. 
  • Insightful responses: when I asked a question, I didn’t get back a bunch of legal jargon. Instead I received detailed, insightful responses in language that I could understand.
  • Culture fit: these were guys I would invite over to a BBQ… genuinely nice people that are a pleasure to work with.

Ultimately, you need to find a lawyer that is competent, values you as a client, and is someone that you can trust. And remember, it’s much cheaper to get it right the first time as opposed to cleaning up a legal mess later!