Knowledge of algorithms required to be a CTO or VP of Engineering?


2

I have several years of experience developing software and managing small teams. But I struggle with learning about algorithms. Does that put a huge negative on me being a CTO in the near future?

Basically, does a CTO need to be the top brass in terms of understanding tech? Or his key role is mainly to direct development?

Software CTO Development Engineers

asked Feb 26 '14 at 15:16
Blank
Oscar Bennett
35 points

1 Answer


1

When it comes to CTO advice, I think the most important things regarding algorithms are understanding bottlenecks, scale and maintainability. It is important to be a person the executive team can turn to for understanding the reasoning for best practices.

When you don't have a huge repertoire of algorithms, I'd highly suggest checking out the Trie which will keep storage and processing scale under O(n) and run as fast or faster than a hashmap. This is because it operates based on order-of-incident. Basically it creates nodes with a vector of nodes for characters or elements of objects - think of urls and IP look up or the 'combo moves' in modern fighting games. These are all Tries or sometimes more specifically "Patricia Tries" which are a little compressed.

While the topic itself can get a little complex, the great thing about tries is that they are essentially a 1:1:1 relationship between: human outlines, code scopes and machine processing order - while being very efficient.

Aside from this, if you have a node for each branch in your site (i,e.. mysite.com/category is a node "category" inside of a node "mysite.com" and so on) you can scale individual branches. This is fairly simple to implement in SQL - I've got a basic open implementation available on github. Though it probably could use some updates.

So as far as algorithms and their scalability go, once you break past the O(n) or the O(k) barrier, you can scale without having to duplicate your entire server stack each time and you can detect bottlenecks fairly easily. There's other ways to achieve that, this is just my preference as it is the same algorithm driving basically all routers and datacenter appliances.

Beyond this all you need is good ol' fashioned business logic to code and a good understanding of cloud provisioning.

answered Feb 26 '14 at 20:25
Blank
Garet Claborn
322 points

Your Answer

  • Bold
  • Italic
  • • Bullets
  • 1. Numbers
  • Quote
Not the answer you're looking for? Ask your own question or browse other questions in these topics:

Software CTO Development Engineers