-3

I am a front-end web developer.

I currently have CSS, HTML, PHP, and JavaScript (& jQuery) under my belt with varying degrees of expertise. I also have some basic CISCO Networking experience, and, overall, experience in professional fire hose drinking. No college.

I am already the "CTO" of my company (as I handle all of the company's technological solutions), but, my company is growing. And with it, so must I, so it doesn't out grow my skills.

Apart from studying and doing practice projects in every language/platform/device available, is there a way to study pros and cons each technology without having to dedicate SO MUCH TIME to studying each?

To clarify: If you were to create a map to becoming a successful, knowledgeable, strategic, and, most importantly, confident CTO... what would that road map look like?

1
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Jane S
    Commented May 3, 2016 at 23:55

3 Answers 3

5

I am a CTO and most of the time you won't be doing any coding or anything technical, after all, you can always hire people to do that, train them, mentor them, and give them a quality job and a good salary.

The thing is, a CTO is a company executive and his position is to deliver results, raise company revenue, etc.

You know how to code, so you should start by looking into project management methodologies. How many developers do you have in the company? How are projects managed? If it's a small company with a guerrilla team you should look into something like Agile methologies/SCRUM. Learn how to manage the projects and employees, read a lot and do courses about it, be a technical mentor to them, but forget about doing the coding yourself.

Also, try aligning with the CEO. If it's a small company and you already is the acting-CTO, get to talk to him, suggest changes to the projects that would increase market value, or suggest incremental changes to the products that would allow the company to bill the customers a lot more.

Get to know the customers, you are not the technical guy anymore so you won't be talking to the customers users, talk to their bosses. Take them out for lunch/coffee, networking now will become a huge part of your career and you'll see yourself doing that almost all the time.

How's the customer support dept? Get to learn that too, there are hundred of support methodologies on how to make customer support more responsive and achieve better results.

Also, how's the product/project marketing going? Have coffee with the marketing manager or 3rd party marketing agency and get to know the projects they are working on so you can align the product/project, have ideas, make things work better.

How's the company privacy policy with employees? You'll probably want to have a seat with the company lawyer and have your employees sign no-compete contracts, privacy, and others.

Talking about privacy, how's the company security in general? Thats the no.1 worry of every CTO in 2016, from how data is secured, to how passwords and how people treat things in general. The other day I was giving a speech to hundreds of our employees on how hackers work with social elements of their lives and how important security is to their jobs.

How's the company software/hardware inventory?

Most important of all, have you defined KPIs for every project/product? Do you have a roadmap? Most of my day I spend answering emails/phone calls, having meetings and looking into a screen I developed myself with hundreds of graphs/KPIs indicators, from that I can see the general health of the company, its projects, products, deadlines, results, etc. If you are technical enough you can do that yourself... I even had a big flat screen tv installed at the office showing the KPIs all the time.

Forget technicalities now and start studying like crazy, there are hundred of videos on youtube on project management, SCRUM, agile, etc, there are thousands of content online on how to effectively manage people, how to get results, etc. There are hundreds of groups in Linkedin, where you should probably spend a lot of time now networking with executives from other companies.

Last and most important tip of all:

Forget working hours.

Executives make big money because they have other mindset. Don't go to work with an employee mindset of doing 9-5 and getting your vacation time. You are now being paid big money to forget things like working hours, you are now being paid to deliver, and if you have to work 24h to deliver something, it's your problem. , you'll see yourself answering emails at bars, having phone meetings where you're traveling abroad, etc.

2
  • I would follow your blog so hard... Commented May 3, 2016 at 20:55
  • 1
    Unfortunately I don't have one. But, forget about being a technical guy from now on and start being a business person. And don't mind the criticism, I myself started as a third world country developer 20 years ago, have no formal degree like a MBA or such and I am here working like crazy and got the job years ago.
    – fsenna
    Commented May 3, 2016 at 20:56
2

In an established business the CTO is a business executive position that is more about choosing technologies to invest in for the company than in developing actual solutions. The CTO works as part of the executive team to set the technical direction of the company and negotiate deals to support needs of the company.

In startups and smaller companies often there is no need for a CTO and Titles are free where money is often tight, so titles are often issued rather than give a salary. In my early career I accepted a Director of IT position I was not qualified for very low(for the postion) pay. None of us are immune to it. The company grew quickly and eventually I was pushed out for someone who was qualified to be the Director of IT. It was a hard hit and took me some time to come back down to reality that no one was going to hire a 30 year old developer to manage their IT department despite my 2.5 years of Director of IT experience.

Typically a CTO will have an MBA. In start ups those rules get bent for a while but when the need for a "Real" CTO shows up the person in that role tends to get pushed out, just as I was. The risks are too high to keep you around reporting to the person that just replaced you. Not to mention that person may need to undo all of your decisions which causes lots of friction.

On top of that having a role you are not qualified for with a number of years in the position tends to make it more difficult for you to get a job you are actually qualified for. So if you want to keep your role and title in the future you really should consider getting an MBA. There are lots of MBA programs that allow you to do it while you are on the job.

Alternatively talk to your leader about putting you into a title that is more appropriate to your skills. Development Manager or Lead is probably a good target for you.

And final alternative suggestion would be to negotiate a nice golden parachute for when you get pushed out. Something like a year or 2 of salary and benefits so that there is some security for you when the inevitable happens.

2

Grow your "soft skills". Don't worry about the technical stuff. You've already got that.

Get a degree in business management, leadership, finance, etc. something with a business heavy emphasis, and organizational administration skills. Bachelors degree is fine, doesn't have to be MBA. You can even start with Associate degree in business from local community college for like $100 per credit hour, and go from there.

Seriously. If you want to be CTO of anything larger than a very small start up, then this is the path.

If you want to remain a technician, then what you really want to be is an architect (solutions architect, software architect, etc), or an IT manager, software manager, IT Director, etc. But if you want to be CTO -- a business executive -- then you need soft skills.

Or, alternately, spend 15-30 years in industry, have good luck, grow your people skills, read a lot of books, and maybe you'll get there.

Not the answer you're looking for? Browse other questions tagged .