Categories
All Consulting CTO/CIO Devops Software Development

Do you fear you are an imposter? Join the club

via GIPHY

I was reading another delicious hacker news thread, this time on a psychology question. How do you work with the fear of your own incompetence?

Join 35,000 others and follow Sean Hull on twitter @hullsean.

It’s a great question. I’ve had this suspicion for years, and it was only after stumbling on psychology books that I even knew it was a thing.

So how *do* you manage this fear?

1. Demonstrate that it is a fear

Fear is a funny thing. It can color reality. You may not even realize it’s happening. When it comes to imposter syndrome, prove yourself wrong. Do the work, and then step back and show yourself the evidence.

You’re a logical rational engineer, so you should be able to weigh the evidence, and see that you made a mistake.

Doing good work is not about perfectionism. It is about knowing you can execute, and delivering quality. That doesn’t not mean there are no imperfections. That means good enough. That means equal to or better than the team you’re working in.

That means you’re improving the bottom line for the firm you’re part of. Help them deliver new features, new code, new product. And help other team members do the same. That’s the name of the game.

Read: How can 1% of something equal nothing?

2. Look at your history

Whenever I have this feeling, I look at my own history. Then it makes me sorta chuckle. I have a list of twenty companies that I worked for recently, and they’ve all been really happy with my work.

How do I know I did good work? They paid me handsomely, paid me on time, and then recommended me to other colleagues.

That’s how I know I’m not an imposter. Am I perfect? Nope. Do I know everything? Nope? But I do good work, and I take ownership, admit when I’m wrong, and play well with others.

If you want to stand out, take a look at these two pieces:

Check out: What do the best engineers do better?

And this: How to think like a senior engineer

Those will help you on your way…

Related: Is Fred Wilson right about dealing in an honest, direct and transparent way?

3. Realize your perfectionism

I think a lot of engineers or bright people have this problem. They want everything to be perfect. They want to produce documents without spelling errors, and code without bugs. They want to deliver everything on time perfectly every time. And they want to feel they know everything.

But it doesn’t play to your benefit. People resent this type of thinking, and it’s unhealthy besides. Take a deep breath, realize we’re all working towards the same goal, and keep your eye on the ball. That means have a sense of humor. You’re probably *way* harder on yourself then others will ever be.

Related: What mistakes did you make when starting as a consultant?

4. Be easier on yourself and easier on others

As you begin to be “easier” on yourself, hopefully you’ll also be a little bit easier on others. Be patient with mistakes. Understand that people have a lot going on in their life. Notice that they are trying.

Sure even after you gain a sense of humor, there will be some people who are not trying, who don’t care or who are really incompetent. But have your default position be patience, and give them and yourself the benefit of the doubt.

Usually if said person is really that bad, others will also complain and the problem will come to management’s attention. It is their job, after all to manage the team as a whole, and keep it productive.

Have fun!

Related: Why did mailchimp fraudulently charge my credit card?

Get more. Grab our exclusive monthly Scalable Startups. We share tips and special content. Our latest Why I don’t work with recruiters

Categories
All Consulting CTO/CIO

Walking the delicate balance of transparency

via GIPHY

I’ve written before about How I use progress reports to stay on track.

Join 38,000 others and follow Sean Hull on twitter @hullsean.

I think it’s an interesting topic, and an important one.

While I do believe transparency is important when working with clients, that doesn’t mean it’s easy.

1. I start with daily notes

As I mentioned above I think they’re important. They provide visibility, improve trust, and keep me on track. They also help me remember what was happening on particular days. They’re like breadcrumbs on the path to building solutions.

Related: How to hire a developer that doesn’t suck

2. Notes can highlight organizational dysfunction

Often in my notes, there are details of who I coordinate to get what done. Perhaps I need credentials to reach a particular server. But to get those, I need an email address. And to get that, someone in department X must set that up. And there are delays with that process.

Those delays can cascade through the onboarding process, frustrating everyone. Although the operations team is read and raring to go, the finance or legal team is not quite ready, and there are delays there. Or there are hiccups in some other frequent business process.

Related: Why generalists are better at scaling the web

3. Notes can highlight task complexity

Sometimes I hear the phrase “That should be simple to do”. Only to find the devil buried in the details. As we put boots on the ground, we find there are many dependent tasks that are not finished. So those must be completed first.

In this case I think complexity of notes is a real triumph. For CTOs that are more management oriented, they may not have day-to-day understanding of coding complexity. And that’s ok. But when that complexity is laid out in all it’s gory detail it can be a real educational experience.

Related: How do I migrate my skills to the cloud?

4. For some CTOs high level is better

For some CTOs, they don’t want to slog through endless notes about setting up credentials, or problems with permissions of keys on server X or Y.

While in these cases I still collect the detail, I may also add some high level bullet points, that focus on what all these underlying parts are in service of.

Related: When you have to take the fall

5. Be prepared for archeological surprises

Inevitably there will be surprises. Whether department X does not know what department Y is doing. Or whether setting up an aws account takes two days, instead of two hours. Be prepared.

Inevitably I find these all help communication. And since I’ve been keeping them, I’ve never had a customer balk at an invoice. Notes don’t lie!

Related: Why i ask for a deposit

Get more. Grab our exclusive monthly Scalable Startups. We share tips and special content. Our latest Why I don’t work with recruiters

Categories
All Consulting CTO/CIO

How do you handle the onboarding at a new engagement?

via GIPHY

Jumping into the fray at a new firm is never easy. You’ll have new people’s names to remember, new web dashboards to login to, to bookmark, etc. New passwords to remember, new workflows to learn.

Join 38,000 others and follow Sean Hull on twitter @hullsean.

While fulltime folks typically onboard logins in a week, and don’t contribute code for a month or more, consultant engagements mean hitting the ground running.

Here’s what I try to manage, when first diving in.

1. Deposit & agreement

When I start at a new engagement, I require a deposit. There are a lot of moving parts to that happening. In engineering speak, it acts like an integration test across your entire organization. All the departments must be aligned. Legal with the agreement language. Finance with the banking details, and invoice. CTO or manager with a clear picture of scope of work.

In getting past that first hurdle, both parties, will express their working style. And usually there are compromises that must be made on both sides. But the effort each one makes is essential to a strong and equitable relationship that you’re both working to build.

Related: How to hire a developer that doesn’t suck

2. Over communicate

Sometimes your teammate doesn’t know you’re also working to get things over to legal. And legal doesn’t know you’re working with finance. And finance doesn’t know you’re trying to tune a database. And the network admin doesn’t know your email address isn’t setup.

When in down over communicate. Don’t be afraid to repeat in an email what you thought you’d communicated clearly on slack. Sometimes slack messages are missed, as there are so many that get thrown around. It’s easy to miss a notification.

When in down, communicate again. Ask for clarification. Ask if there is anything someone may be waiting on.

Related: Why generalists are better at scaling the web

3. Keep daily notes

I’m a big fan of providing daily progress reports. There is a hell of a lot of detail buried in most tasks, and much of that gets lost in the shuffle.

Putting together your own notes of what your day looked like can help management understand that complexity. It can also help communicate where the organization is getting stuck. Sometimes surprises here can help unblock the org in other ways.

Related: Why i ask for a deposit

4. Beware the Slack rabbit hole

Slack can at times be a blessing, allowing you to reach someone immediately, but also sometimes be a curse. Have I seen every notification? Does the person who posted a note *assume* that I saw it? Which thread was that detail posted in anyway?

I personally like to repeat a lot of communications in email. From a consulting perspective this is also essential as it provides me a paper trail of what conversations we had. Remember once an engagement is completed, you lose the entire Slack message thread. That’s not true of email.

Related: When you have to take the fall

5. Anticipate login issues

Typically at the start of an engagement there is an email setup, and other authentication hangs off of that one. AWS confirms via email, or perhaps there is an SSO solution like OKTA. Inevitably, these interconnected pieces take time to setup. And one will hit a snag slowing down your over all onboarding.

Expect hiccups and challenges in this process. It’s normal for it to take some days. Imagine that FT hires typically onboard in a week, and don’t contribute code for a month or more. So keep everything in perspective on these points.

Related: How do I migrate my skills to the cloud?

Get more. Grab our exclusive monthly Scalable Startups. We share tips and special content. Our latest Why I don’t work with recruiters

Categories
All Book Review

Can a growth mindset help you recover from setbacks?

I just finished reading Carol Dweck’s tour de force, Mindset: The New Psychology of Success.

Join 38,000 others and follow Sean Hull on twitter @hullsean.

In a word, her book is mind blowing. How can a little thing like mindset make a difference? Can changes in thinking & attitude really have a profound impact on success?

I think it most definitely can. Here’s my story & more excerpts from the book.

1. My own story with the growth mindset

If your memory stretches back to 2008, you will like recall when the market took a dive. Everybody was nervous about default. Big banks were failing. The hiring climate became like a nuclear winter. For a good six to twelve months, things were frozen.

As an independent consultant, that felt like a real shock. Where once there were a lot of firms hiring me on projects, suddenly everything was quiet.

At first I thought of different options. I could weather the storm from many months, but then what? I decided I was commited to consulting, and didn’t want to take a fulltime role. So what did I do next?

Well I picked up a copy of Alan Weiss’ guide, Million Dollar Consulting. I read it cover to cover in a day, then I took a look at the business.

When the market is climbing, and demand is surging, I experimented with increasing rates. Sometimes they were too high, but often I would read the demand right, and turn a bigger fee. Now it was the reverse. Time to swallow your pride & drop those rates! And so I did. This helped close more deals.

From there I just dig in my heels. I worked my network as best I could. Having worked at hundreds of startups, I’ve met hundreds more colleagues over the years. I started reconnecting with them in emails, at meetups, and over a beer or coffee. I took more calls with recruiters to feel out the market, and keep my ear to the ground.

All of this paid off. Within a year I was rolling again, when for many the market still seemed frigid. A learning experience indeed, about business, but also about the growth mindset. It works!

Related: Why does Reddit CTO Martin Weiner advocate boring tech?

Jack Welsh, Michael Jordan & Setya Nadella vs Lee Iococca & John McEnroe

Dweck overs numerous examples of great personalities, who exhibited different mindsets.

For example take a look at a quote from Jack Welsh. He approached things with a growth mindset. Failures are only an opportunity to learn, not a description of your character…

“He [Welsh] learned to select people: for their mindset not their pedigrees. Originally, academic pedigrees impressed him. He hired engineers from MIT, Princeton, and Caltech. But after a while, he realized that wasn’t what counted. ‘Eventually I learned that I was really looking for people who were filled with passion and a desire to get things done. A resume didn’t tell me much about that inner hunger.'”

Or Michael Jordan. You think he never failed until you look at his own words. We forget how much practice day in and day out, it took to create his mastery.

“Michael Jordan embraced his failures. In fact in one of his favorite ads for Nike, he says ‘I’ve missed more than nine thousand shots. I’ve lost almost three hundred games. Twenty six time I’ve been trusted to take the game winning shot, and missed.’ You can be sure that each time, he went back and practiced the shot a hundred times”.

Lately I’ve been seeing Carol Dweck everywhere. Take a recent Bloomberg Businessweek interview where Satya Nadella credit’s Dweck’s ideas for the culture he’s created at Microsoft.


Culture is something that needs to adapt and change, and you’ve got to be able to have a learning culture. The intuition I got was from observing what happens in schools. I read a book called Mindset. In there there’s this very simple concept that Carol Dweck talks about, which is if you take two people, one of them is a learn-it-all and the other one is a know-it-all, the learn-it-all will always trump the know-it-all in the long run, even if they start with less innate capability.

On the flip side, here are two examples where the fixed mindset takes hold. In Lee Iococca’s case, it drove him to harm others, and the company he was charged with driving…

“He [Iococca] also looked to history, to how he would be judge and remembered. But he did not address this concern by building the company. Quite the contrary. According to one of his biographers, he worried that his underlings might get credit for successful new designs so he balked at approving them. He worried as Chrysler faltered, that his underlings might be seen as the new saviors, so he tried to get rid of them. He worried that he could be written out of Chrysler history, so he desperately hung on as CEO long after he had lost his effectiveness.”

And another example of John McEnroe. A loss for him wasn’t a chance to learn something. He believed he had innate talent. He was special. So for this fixed mindset, a loss damages his character, and makes him feel humiliated.


“Here’s how failure motivated him. In 1979, he played mixed doubles at Wimbledon. He didn’t play mixed doubles again for twenty years. Why? He and his partner lost in three straight sets. Plus, McEnroe lost his serve twice, while no one else lost theirs even once. ‘That was the ultimate embarrassment, I said. That’s it. I’m never playing again. I can’t handle this.'”

Related: How I use terraform & composer to automate wordpress on AWS

Learning the growth mindset

Carol’s book provides example after example of the mindsets in action, in real people. Her chapters cover sports, business, and even love & relationships. Towards the final section of the book she talks about how to learn the growth mindset.

Catch yourself and your negative self-talk. Turn things towards a learning opportunity. Don’t allow failures to define you or your character. Always be growing!

Here’s a great page, summarizing the mindsets & how to get there!

Related: 30 questions to ask a serverless fanboy

Get more. Get monthly insight on startups & innovation. Straight to your inbox! Our latest Should SQL be retired?

Categories
All Business Company Services

Success Story–Media and Entertainment Conglomerate

The Business

A website aggregating twitter feeds for celebrities, with sophisticated search functionality.

The Problem

Having been recently acquired by a large media and entertainment conglomerate, their traffic had already tripled.  What’s more they expected their unique pageviews to grow by 20 to 30 times in the coming six months.

Our Process

We worked closely with the lead architect and designer of the site to understand some of the technical difficulties they were encountering.  We discussed key areas of the site, and where performance was most lacking.

Next we reviewed the underlying infrastructure with an eye for misconfigurations, misuse of or badly allocated resources, and general configuration best practices.  They used Amazon EC2 cloud hosted servers for the database, webserver, and other components of the application.

The Solution

Our first round of reviews spanned a couple of days.  We found many issues with the configuration which could dramatically affect performance.  We adjusted settings in both the webserver, and the database to optimally maximize the platform upon which they were hosted.  These initial changes reduced the load average on the server from a steady level of 10.0 to an average of 2.0.

Our second round of review involved a serious look at the application.  We worked closely with the developer to understand what the application was doing.  We identified those areas of the application causing the heaviest footprint on the server, and worked with the developer to tune those specific areas.  In addition we examined the underlying database structures, tables and looked for relevant indexes, adding those as necessary to support the specific requirements of the application.

After this second round of changes, tweaks, adjustments, and rearchitecting, the load average on the server was reduced dramatically, to a mere 0.10.  The overall affect was dramatic.  With 100 times reduction in the load on the server, the websites performance was snappy, and very responsive.  The end user experience was noticeably changed.  A smile comes on your face when you visit your favorite site, to find it working fast and furious!

Results

The results to the business were dramatic.  Not only were their short term troubles addressed, as the site was handling the new traffic without a hick up.  What’s more they had the confidence and peace of mind now to go forward with new advertising campaigns, secure in the knowledge that the site really could perform, and handle a 20 to 30 times increase in traffic with ease.

Categories
All Business Company Services

Success Story – Location Based Nightlife Business

The Business

A location based nightlife and entertainment company built on mobile smartphone platforms.

The Problem

The website was sluggish, and performance of the mobile applications were running slowly.

Process

We worked closely with the CTO and development team, discussed sticking points focusing on relevant areas of application and infrastructure.  We drilled down to the different components of the application, such as the network, cloud hosting (amazon EC2), webservers, load balancers, and backend database.

We identified that the heaviest components were the complex mechanisms and code used to calculate location itself.  Since this was an integral part of the service, users’ mobile devices would use GPS, identify their locations, and search the database for relevant venues and information around them.

Solution Options

We identified two possible solutions, one short term and one long term.

  1. Apply an advanced database indexing strategy which specifically addresses location based information.  By utilizing this technology, we would eliminate and vastly simplify the code being used to search for venues and information based on location.  Being the central component to the application, this would provide a dramatic boost in performance.
  2. Build a completely new and streamlined solution to the location searching functionality, by using square location areas, instead of the more intuitive circular location area.  Since users really just want information about venues around them, they likely don’t have a specific, precise, or mathematical idea of what “around” means.  Therefore a more loose definition can lend itself much better to computer database storage, and subsequent indexing of information.

Results

By implementing the short term plan, and performing further benchmarks, the business was able to release it’s new mobile application on the blackberry carousel store.  They were featured in the carousel store, highlighted as a new business bursting with exciting features and technology.  As a featured application, they received huge spike in volume of ten times their previous average.

With the changes put in place, they sailed through this challenging period smoothly, and with confidence that their application was performing beautifully.

Their long term rollout of the more general high speed solution has been an even greater success, ironing out remaining bottlenecks, and allowing the application to scale and grow rapidly as their mobile user and customer base  expands.