NYC CTO School S1 T2 CTO Tips & TriX

Post on 22-Apr-2015

1.082 views 4 download

description

Session 1 Talk 2 of CTO School, Fall 2010

Transcript of NYC CTO School S1 T2 CTO Tips & TriX

NextNY CTO School Fall 2010

Tips & TriXCollection of Random Thoughts

Know when you are in over your head

Tell People, Find Mentors, Reach Out.

Understand Your Domain

Read, Take Classes, learn the domain area you are in.

Your job is to support the BUSINESS

That’s the ultimate way that you are judged – is the technology allowing the business to grow and fulfill its

objectives.

Set Priorities for Team

Your developers have the responsibility to do things right. Your responsibility is to make sure they are doing the right things, which is more

important.

Value of Information

As Co-Founder /Member of Exec Team, you have access to better information about where

business is going. That alone allows you to make technical tradeoffs much better than

even your best developer.

Code Reuse

Plugins, Components, Libraries, Third-Party Software

Understand Key Building Blocks• Content Management Systems• Queueing / Messaging Systems • Personalization • NoSQL Persistence • SOAP / REST / XML Processing • Portal-Like Systems • Authenticatoin / Authorization Systems • Knowledge Systems • Workflow Systems • Semantic Web Technologies • Web Scrapers • Cache Grids

Automate As Much As Possible

Agility is a huge source of competitive advantage over established

companies.

Delegation

Even if you are alone, delegate in clever ways. I.e. managed hosting, virtual admin, oDesk,

interns.

Delegation

• Each task – think through – am I the best person to do it.

• If I am the best person to do it (for many tasks), do I NEED to do it?

• Build capacity over time, with giving larger and larger tasks.

• Have to accept others doing inferior job at times, but you need to set performance standards.

Know (a bit of) Everything

You need to know “enough” abouteverything in your technology.

Use Technology Appropriately

Don’t get seduced by cool technologies BUT

use cool technologies.

Be an Expert in Your StackDo NOT be seduced by the fact that you can be

productive in your platform of choice very quickly. It takes a long time to learn best

practices. Mastery of the platform even more than mastery of the language.

Quality is Relative

Find balance between short-term getting stuff done and long-term technical debt

Prioritize Quality Correctly

• Different definitions depending on your maturity and size.

• If you have no users nobody cares if:– Your app is fast / slow / scalable – Your app is down / up– Your app is insecure / secure

Find the 80/20 Solution

Find the key 20% of functionality that will get 80% of the value. (Eric Ries).

Learn how to Hire

Hiring and spotting talent is a key skill for growing your team.

Get a Life

Remember your startup is not the only important thing; in fact, there are many things

that are much more important

Cultivate your networkFormer co-workers, college buddies,

meetups.

Participate

• User Groups / Meetups• Mailing Lists / Forums• OSS Contributions• Public Speaking• Blogs• Hacker News / Reddit / Digg

• To a Point