Category Archives: Startups

Opportunity a day – career risk at bay

Free Agent. Stress Test. Avoid Sameness

As the globalization juggernaut rolls on, it continues to create more Detroits. Skills and perspectives quickly become obsolete.

What to do in the face of such change?

[quote]Small fires prevent the big burn[/quote]

So there’s your quick answer. Get the book if you want more!

Some related material: why is it so hard to find a mysql dba?.
Consulting 101 Guide – Finding Business :: Completing Engagements :: Growing business

Your Mentors

On this tour, a free agent needs mentors. Hoffman & Casnocha provide you with plenty from stories & lessons from some of the startup industry’s finest. Jack Dorsey, Mark Andreesen, Cheryl Sandberg, Rick Warren, Paul Graham, Jeff Bezos, Joi Ito and a few of their own running Paypal & Linkedin.

What you’ll love

Each chapter closes with concrete actionable advice. The authors carefully craft marching orders for you in the next day, next week and next month. Go ahead, give them a try.

[quote]Safe is the new risky – Phil Simon[/quote]

An executive summary of Startup of You

1. develop your strengths
– what do you find easy that others find difficult?
– diversify asset mix aka learn new skills

2. plan to be nimble
– pivot as you learn more
– always prepare a lifeboat contingency plan

3. work & develop your network
– hangout with those already on the road
– domain experts, people who know you & smart people

4. hustle for breakout opportunities

5. Embrace baby steps of risk
– bounds of unemployment – shocks that motivate
– adjust your strategy & pivot if need be

What’s next?

Had a taste and want more? If you’re a MySQL DBA we wrote an interview guide. Also check out our Oracle dba interview questions.

Want more? Check out our best of content compilation.

[quote]Only the paranoid survive. – Andy Grove[/quote]

Read this far? Grab our newsletter. We cover all sorts of great topics for free agents, consultants, and those who want to hire them.

Sometimes… let things break a little

Have you ever started a new project, just into it you realize that maybe there aren’t technical problems to solve? It starts to dawn on you the real crux of the problem boils down to people & processes?

It’s happened to me on a number of occasions, but once in particular really stands out for me.

I was working for a firm in the education space, in particular around test preparations.

Asked to automate a publish process

The environment had a mix of relational databases, from SQL*Server to MySQL for some applications. The web facing database however used Oracle on the backend.

Their career DBA was real old guard Oracle, he had his ways of doing things, and didn’t want to rock the boat. In particular he managed the process for publishing changes to the website. Publishing amounted to running a few hand rolled scripts and each step was a manual one.

With the process setup this way, the editors had to work closely with engineering each time they wanted to move content to the website. Slow, cumbersome, and not very workable.

The real problem, siloed departments & infighting

As I worked closely with the DBA, quite a few things became clearer. For one he was sometimes a grumpy fellow & he had a strong accent which was sometimes hard to cut through. Knowing the other team members, I knew this all contributed to the trouble. But he maintained quite a bit of resistance to automation of the process no matter what. His view was, if he hands over the reigns to editors who don’t understand the technology, they’ll screw something up, make a mess, and that would ultimately create more work for him. After all that he’d be doing it manually anyway!

Further attempts to communicate between teams or even between the managers and this guy went nowhere.

It’s not easy to find a good DBA. We wrote a MySQL interview guide to help and one for an Oracle interview too. The mythical dbas remain in rather short supply.

We weren’t trained for this in engineering school

When you’re looking for a technical solution and you realize the bigger issue is a people problem, what do you do? You can gently bring it up with the higher ups, but they may have a different style, or prefer the shout orders and bark mode of management.

Things continued to go around in circles, and attempts to get further information from this DBA didn’t prove fruitful. He was protective of his domain, and fought tooth & nail to open up.

Things come to a head

The bigger boss, the one above my direct report, one day called me into his office. Actually it was an off day I was just stopping by to check in on progress.

He pulls me into his office. Since I rarely interacted with the guy, my guard was very much down. I thought we’d have a chat about the weather or perhaps who was going to win the world cup.

He proceeds to tear into me without warning. Practically screaming, he’s giving me a piece of his mind and not stopping to hear what I have to say. Where is this project going, why is there no progress, we’ve got serious deadlines, you’re pushing us right up to the wall … that kind of thing.

As I listened to him fire away at me, I realized some of this had gotten filtered through some sources, who didn’t completely understand the blocking issues either. That it wasn’t technical challenges, but rather people and processes that weren’t working. As I began to explain this, he stopped me and said:

[quote]Sean, your job is to push, push, push and push us more. Rock the boat if necessary. When I was a constultant I was constantly running around making sure everyone was talking to eachother[/quote].

A few things ran through my mind at that point. One was well he’s not a consultant, so either he couldn’t last in it, or the life didn’t appeal to him. Or perhaps his skill sets ran truer to management in a large firm, a different albeit tougher role to master.

But it also occurred to me that different folks have very different styles, some like to push, and prefer confrontation & believe that leads to resolution. While others are more listeners and find there way around a problem by giving everyone a chance to voice their positions.

My style is the latter, while his was clearly the former.

The fallout

What ended up happening is a project manager also got assigned to the project, as well as another manager. The PM liked working with me very much, and as things unfolded, much of the departmental siloing began to dissolve, and the bigger communication problems began to surface. From there solutions followed.

Lessons learned

– beware the status quo – some don’t really want to rock the boat
– communicate your position, but beware that others may have a different style
– you may be asked to support a path you see as the wrong one
– let things “break a little bit” so everyone learns the hard lessons
– getting burned can be a lesson for the whole team, and lead to new solutions

Made it this far huh? Grab our newsletter.

Where’s my 80 million dollars?

Way back in the heydays of the dot-com boom, the year is 1999.

Join 12,100 others and follow Sean Hull on twitter @hullsean.

I worked for a medium size internet startup called Method Five. When I came on board they were having a terrible time with their site performance.

Website crashing

When I first met the team, I was tasked with performance problems. After all their flagship web property kept crashing, and it didn’t look good to investors. As with most web properties in those days it was a home-grown datacenter in the back of the office, running on Sun Microsystems hardware, with Oracle on the backend and Apache serving webpages.

Also: Why a killer title can make or break your content efforts

Negotiating an acquisition

As it became clearer after day one, the project was particularly sensitive. They were negotiating a huge acquisition by a firm called Xceed Corp. The sticking point? Their crashing website did not sell their technology prowess in a particularly positive light. To say the least!

Read: Why high availability is so very hard to deliver

Investigation

As it turns out the site had all the right players, from systems administrators to a DBA who sat watch over the Oracle systems.

As I dug into the systems, I found a serious smoking gun. It seems the Oracle software was configured to use just 5M of memory out of about 256M free. Just like MySQL, the server must be configured to use available memory upon startup. There are myriad caches and buffers which need to be attended to. By today’s standards these numbers probably sound absurd. Nevertheless the DBA wasn’t familiar with the basic memory settings, and so the system was terribly bottlenecked.

Read this: Why a four letter word divides dev and ops

Problem Solved

We then ordered some urgent changes to the system, configuring all of Oracle’s caches to use up the precious memory available.

Immediate the website unlocks, transactions begin flowing, and webpages are returning quickly. End users pull their noggins off their keyboards, and the executives begin breathing a sigh of relief. The site was literally 1000x faster during peak.

Related: MySQL interview guide for managers and candidates alike

Acquisition

Shortly thereafter the acquisition goes through for a cool 5 million in cash and 80 million in stock.

Where’s my cut?! You might be asking that question. But my policy is almost always defer to something concrete and tangible, aka fees and real compensation. I did not negotiate any stock in the deal.

Another popular war story we wrote A CTO Must Never Do This….

Read: Why devops talent is in short supply

Lesson’s Learned

o Don’t believe received wisdom. Check and double check what’s really happening.
o Use the memory and resources you have available.
o Measure capacity, and isolate bottlenecks in the system
o Decouple services wherever possible
o Problems are as often people and process as they are with technology

Also: 5 more things deadly to scalability

Make it this far? Grab our newsletter!

You're Too Young To Be My Boss

About a year ago I engaged with a firm to do some operations work on their site. They provided services to colleges and universities.

When they first reached out to me, they were rather quick to respond to my proposal. They seemed to think the quote was very reasonable. I also did some due diligence of my own, checking the guy’s profile on the about page. I noticed he was 25, rather young, but I didn’t think much else of it.

We discussed whether they wanted fixed hours. Since those would limit my availability we both agreed a more flexible approach made sense. This worked well for me as I tend to shift and schedule time liberally, so I can be efficient & flexible with clients, but still have a life too.

Trouble Brewing

As we began to interact the first week, I sensed something amiss. My thought was that the first week you work with a client, they feel you out. They see how you work, when you work, how much gets done and so forth. This provides a benchmark with which to measure you. If either party is unhappy with how things are going, they discuss and make adjustments accordingly.

What was happening in this case was the guy started pestering me. I began to get incessant messages on instant messenger asking for updates. I had none. I explained that I would contact him as things were completed, or if I had questions.

This was only two days into the project. I’d barely gained access to the servers!

The Fever Pitch

After discussing my concerns on the phone, the gentleman kind of glossed them over. From there the pestering continued. I explained that I could not be available to him any hour of the day, while the engagement only provided for one half of a week. This began to interrupt me from other client work, so I had to signoff of instant messenger. Not good.

The Pot Boils Over

We spoke again on Monday briefly, and decided to connect the following day. From there the pestering began anew, and I began to lose my patience. I insisted that we speak on the phone before work would continue. I felt the problem was deteriorating and discussing over text would only make things worse.

He emailed me back as I was then offline. In his email he ordered me to come online. While he sat in a meeting, he explained, he could not take a call! Nevertheless he insisted we resolve it during the meeting. Distracted no less.

[quote]It was then that I started receiving text messages on my personal mobile phone from the guy, pestering me to get online so we could resolve our communication problem! You can’t make this stuff up![/quote]

The Fallout

Eventually we did both get on the phone, and I explained I had reached wits end. After only ten short days of working together, we had both set strong precedents and they were obviously not compatible. He asked if I would stay on longer, and reconsider working together, and I said I would think about it.

I chose not to dig a deeper hole, and let him know I wouldn’t be invoicing for previous the weeks work.

The Lessons

o beware age differences – in our case an 18 year gap
o pay attention to management styles – self-starters don’t need micromanaging
o be patient & keep communicating
o allow for an exit strategy that is amenable to both parties

Read this far? You’ll love our newsletter. Get Scalable Startups. No Spam. No Selling..

A CTO Must Never Do This…

A couple years back I was contacted to look at a very strange problem.

The firm ran flash sales. An email goes out at noon, the website traffic explodes for a couple of hours, then settles back down to a trickle.

Of course you might imagine where this is going. During that peak, the MySQL database was brought to its knees. I was asked to do analysis during this peak load, and identify and fix problems. Make it go faster, please!

First day on the job I’m working with a team of outsourced DBAs. I was also working with a sort of swat team chatting on SKYPE, while monitoring the systems closely.

Then up popped one comment from a gentlemen I hadn’t worked with. He insisted there was contention for a little known MySQL resource called the AUTO_INC lock. Since I wanted to know more, I asked who the guy was and to my surprise he turned out to be the CTO.

[quote]The CTO was tuning and troubleshooting the database![/quote]

Wow, that’s a first. I thought I’d seen it all. A CTO is normally overseeing technology & the team rather than crawling around in the trenches on the front line.

This all raised some important points

1. The app was having major growing pains
2. Current architecture was not scaling
3. Amazon elasticity was not helping at the database layer
4. People & process were also failing, hence the CTOs hands on approach

It was shocking to see a problem deteriorate to this point, but when you consider the context its understandable. A company like this is struggling with hypergrowth to such a degree, that each day seems like a hurricane storm. With emergency meetings, followed by hardware & application emergencies, trouble seems constant. It can be very difficult to step back and see the larger picture.

The takeaway from this experience…

o Amazon EC2 can’t do it all – consider physical servers for disk intensive apps
o MySQL still has some real scalability limitations
o use technology for its intended purpose – MySQL isn’t great for queueing
o A CTO tuning the database means problems have deteriorated too far

Read all the way to the end? Grab our newsletter – scalable startups.

Half of NYC Fastest Growing Firms In Tech


If there was ever any question about the exploding tech scene in New York City circa 2012, check out Crains recent 50 fastest growing firms.

#3 Thrillist

City guide & lifestyle site for men.

#5 Usablenet

Provides a powerful platform for content delivery to mobile & tablets as well as laptops.

#8 Admarketplace

A leader in search syndication.

#9 Yodle

From the bloodbath of newspaper classifieds brought on by disrupters like Craigslist & eBay, comes a new breed of online advertiser catering to customers and the digital space.

#15 Telx

Provides datacenter services such as high speed connections, private clouds, servers & networking equipment.

#16 Complex Media

An online style and lifestyle magazine catering to young men.

#18 Wavsys

Finding talented mobile engineers isn’t easy. This firm provides contractors for the big wireless firms.

#19 Return Path

Helps firms with email delivery, by routing around and through spam filters.

#20 M5 Networks

Cloud Based phone systems.

#22 Mitchell Martin

Tech staffing and consulting solutions

#25 Artech Information Systems

Staffing for technology and project management requirements.

#27 Infinity Consulting Solutions

Recruiters for the technology industry as well as finance and accounting firms.

#28 Vicom Computer Services Inc.

Providing high end IBM enterprise solutions to datacenters.

#35 Direct Agents Inc.

A fast growing digital marketing firm.

#37 TTI of USA

Another staffing & consulting solutions firm for technology firms.

#41 Net@work

Bringing better customer service to technology consulting & services industry.

#44 Insys Group

Technology consulting and services.

#46 Travelclick

Provides technology solutions that help hotels increase revenues.

#48 Tekserve

Apple products repair & servicing.

#49 Axispoint Inc.

Business technology services and solutions.

#50 Paradysz Inc.

Email & social media marketing company

What Recession? – New York Tech Hiring Frenzy

startups hiringAccording to Crains, New York is digital jobs central.  ZocDoc, Thrillist, Foursquare and 10gen are just a few of the hot shots located at 568 Broadway, a tech hub in Soho.  Each of these firms is looking to double their headcount in the coming year.  Not bad considering the rough shape much of the economy is in.

Don’t Forget the Big Boys

Let’s not forget the huge tech firms that are also on a hiring binge,  Google, Facebook, Zynga, Twitter & Skype are all hiring.  Bloomberg Businessweek describes it literally as Silicon Valley setting up shop here!

This interactive map of the tech scene in New York is striking.

Population Growth

New York is also experiencing serious population growth.  The city expanded by 70,000 people in the last 15 months according to Gothamist.

According to another Crains article, what we’re seeing is the best job gains in 60 years!

Increased Competition for Talent

All this means increased competition for the best talent.  These days only the biggest or the coolest firms can snag the smartest people.

We wrote some hiring guides that might help: How to Hire a Great Software Developer and another about filling the Mythical MySQL DBA role.

A two part article – How to Hire a MySQL DBA and Part two.

All This and Fun Too!

And hey, what other city has spawned the European inspired Lunch Beat?

 

 

Ask Me Questions – Scalability, Performance, Cloud Computing

 

 

I blog a lot about various topics near and dear to me.  So I thought I’d turn the tables a bit, and offer the microphone up to readers.  Do you have questions on any of these topics?  Feel free to drop a note in the comments.

 

Business & Consulting

Are you a freelancer or independent consultant?  Struggling with some part of the business?  Or are you a CTO or Director looking to hire short term talent?  Glad to offer up advice and suggestions, just fire away!

Scalability

The goal of every hypergrowth company, from Pinterest to Facebook, Zynga to FourSquare.  How do they achieve it?  What architecture decisions make those applications grow effortlessly to meet user demand?  I’m sure you have some questions!

Performance

It’s on everyone’s mind, especially in the context of deploying in the cloud.  How best to achieve good performance?  Are you struggling with something specific?

High Availability

We want our systems to be available 24x7x 3million days a year!  Is it feasible?  What should we aim for in the real world?  Does our technology mix and hosting factor into the equation?  Ask away.

Startup Challenges

I’ve worked with a lot of startups over the years.  From the dot-com hey days to the more sober field we see before us today.  Many struggle with similar challenges.  Am glad to offer up comments and suggestions from what I’ve learned over the years.

Cloud Computing

What really works in the cloud? Is Amazon EC2 the only way to go?  What are the pros and cons of going with a Rackspace type provider that also has great service and the physical data center option?  How will I get good performance?  These and other questions are on everyone’s lips.  Feel free to comment if you have some concerns.

 

Consulting essentials: Building your business

In the last two posts on how to build a successful consulting business I shared advice and tips on closing deals and managing and completing your engagements.

This post will look at where to focus your efforts in order to sustain your consulting business, and build skills.

Focus on your subject matter expertise

Being a subject matter expert takes years of education, and professional experience to build. It’s your most valuable asset. Build it, and use it. This is not to say there isn’t great value in being a generalist as I’ve emphasized in blog postings. But don’t get distracted trying to do things others can do better. Web-based newsletter managers can do it better than you can, professional invoicing solutions as well. Though you might be able to do a bit of HTML and graphic design, if that’s not your expertise, hire someone to do your website in WordPress. You’ll save time and money in the long run, and their professional experience will surely include a few surprising nuggets of value that you wouldn’t have known yourself.

Manage your business with online tools

There are a myriad of online tools to help you run your business better.

Google Analytics – Get insights on what parts of your site your customers find valuable. Learn to convert those visitors with downloads, newsletter signups and ebooks for sale.

Freshbooks, Zoho or Paymo – There are many online invoicing solutions, so best to evaluate them for your specific needs. The point is, using a solution will save you money in the end, and make you more professional in the process. It’ll help you track monthly & yearly, send reminders, and summarize things for you all in one place.

Mailchimp – Newsletter creation can’t get any more fun than with mailchimp. With endless video howtos, documents, and great support, plus templates for your newsletter that come in every shape and size, these guys have really thought of everything. What’s more the graphs and campaign reports will give you insight into what topics are popular, and what resonates with your audience.

Google Docs and Calendars allow you to share your schedule and work with a small team. So whether it’s communicating things with your clients, or your subcontractors, these tools are essential.

Dropbox – Another indispensable tool for collaboration, share documents easily across the web.

Don’t Be a Commodity

If your prospect is asking you for a resume, and comparing you to some outsourced resources provide, you’re not going to get very far as a consultant. Don’t be a generic resource that sits at the keyboard and churns out code.

What’s the alternative? Learn about business, talk to business stakeholders, listen to their concerns, and learn to speak their language. Use stories, and analogies. Reach across the table to speak in terms that everyone can understand. Your value is in symplifying complex technology.

Be Hungry & Don’t Give Up!

Being hungry means continuing to improve on your weaknesses, experimenting with different rates until you match the market demand, managing multiple projects and always networking widely. Spend less than you make and build up six to twelve months cushion. This will allow you much more freedom to take only the projects you want. Learn to pick and choose.

Further Reading…

There are lots of other areas you’ll lean about, running a successful consulting business. Here are a few:

  • managing cash flow
  • paying quarterly & yearly corp taxes
  • paying subcontractors
  • managing & accounting for expenses

Consulting essentials: Managing & Completing Engagements

This is the second in a series of three articles on Consulting Essentials.
Read the previous post, Consulting essentials: Getting the business

Communicating well and knowing when to step in or stand back is the linchpin of successful consulting.
Some people have natural charm. If you’re one of these people you’ll find consulting is definitely for you. You’ll use that skill all the time as each new client brings a half dozen or a dozen new people to interact with.

If it doesn’t come easily, practice practice practice. Try to get out of your own head space, and hear what troubles your client, and what big business challenges worry them.

Be ready to help but don’t try to be the hero


A decade ago I worked for an Internet startup. They were having serious performance problems which was slowing down the site, and turning users away. When digging into the systems I found serious security issues besides the performance ones, and got distracted trying to wrap up those lest someone break in and destroy or steal their business assets. Communicating the situation to the client, they looked aghast. After explaining the situation to them, they understood the risks and explained that the current priorities were to get users back online.

The technical problems I saw may not have been aligned with the business priorities. Your job is to make your client happy. Provide your professional opinion and advice whenever and wherever your skills come into play, but let them run their own business.

If you’re focusing on one area, and you discover other problems or things that may need resolving going forward, bring this to the attention of the client. Allow them to prioritize for themselves. It’s their business not yours. Your job is to give your professional opinion, raise concerns that you see, but most importantly solve problems they want you to solve.

Project Your Personality

Smile a lot and listen to people. Make sure you’re talking less than half the time. When you first engage with a client, they should be speaking more like two-thirds of the time. You want to get in the habit of listening, and stepping in your clients shoes. You want to understand their pain, their business concerns and how to satisfy them.

Manage Time Efficiently

Get things done. Everybody talks about it, but not everyone does it. I personally avoid all the faddish tools for this, and use a simple checklist. Focus on the task at hand. Give yourself a doable list of tasks each day, and check them off as you go. Try hard to avoid working on things not on that list. The last point relates back to the principle of solving only the problems that you’ve been asked to solve.

Communicate Successes & Progress

In many engagements you’ll come upon struggles and get blocked by situations that seem intransigent. I can’t emphasize enough how important it is to communicate with the client during these situations. Don’t get stuck thinking it will make you look weak. Communicating with the client has a number of surprising advantages.

For one sometimes they’ll have a solution, such as a different angle on the business problem, or insight and details that just simplify the problem you think you thought needed to be solved.

Second, it allows the client to adjust schedules in advance if something will take a little longer. You’d be surprised how often a client will sympathize with a difficult problem.

Lastly, involving the client intimately allows them to enjoy the triumph when you solve the problem. This helps morale, communicates more about what it is you do day-to-day and how you work through a problem. And overall it helps them appreciate the intrinsic value you’re providing.