TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: As CTO of an early-stage startup, how do I utilize my time well?

11 点作者 dreamer7将近 5 年前
With a reasonable amount of funds at our disposal, how I use my time is very important. I would like to be more effective with my time and output.<p>Being interested in multiple different things, I get into the low-level details of any problem that I look into. While it is educationally satisfying for me, my company does not benefit from me working on smoothly scaling fonts for a responsive marketing website.<p>Should I involve myself in low value tasks like website edits (that may only take up &lt; 5hrs a month for experienced developers) or focus only on high value projects?<p>Should I work at a higher level, overseeing other engineers or get into the development (our core product is a mobile app) myself?<p>I built the initial versions of our app, website, backend before we raised funding and hiring developers. Due to my broad interest and explorations, I am above average in multiple technologies but not an expert in any of them. Hence, my worry of slowing down the team by being involved in development myself.

4 条评论

KingOfCoders将近 5 年前
(have been a CTO&#x2F;VPE&#x2F;HoD for 20+ years, made many mistakes, am often wrong, now coach CTOs)<p>I think it depends on how many developers are there. I tell all coachees they should invest 50% of their time in developing their team. If you grow, don&#x27;t hire team managers too late (or whatever you want to call them), or you&#x27;ll get into burn out territory and you&#x27;ll neglect developing people. Don&#x27;t manage more than 5 people. As a CTO you should be the bridge between business and tech. Explain business to developers (marketing isn&#x27;t stupid), explain tech to the CEO&#x2F;CMO, support the CEO strategy with your specific tech knowledge. Spend time on explaining things and aligning people. You&#x27;re the tech spokesperson and developer representative on the board.<p>If learned, although often being the best developer overall, with only a small percentage of development time I know much less about the architecture, domains and edge cases of an application compared to other developers. So I did drop developing in the end (but do it in my spare time to keep up with the state of the art).<p>Otherwise focus on the things that are fun to you, you&#x27;re in for the long run which doesn&#x27;t work if you don&#x27;t enjoy the things you do.
评论 #24169588 未加载
streetcat1将近 5 年前
Its depends if you product is tech, or if your product uses tech. I.e. if you main risk is business risk and the tech is easy, vs if you main risk is tech risk and you business is easy.<p>If you main risk is business risk (I.e. most money go to marketing&#x2F;ad), then you go shallow, and make sure that everything go smooth.<p>If your main risk is tech risk, than you should lead the way. I.e. to lead in a tech risk startups, you must be versed in the most risky tech, other wise, you will not be able to judge the technical decision, which might lead to your ruin.
评论 #24169876 未加载
rwdim将近 5 年前
Above is great.. but your role as a fiduciary also requires you to NOT allow development and deployment costs to get out of hand.<p>You are personally responsible for ensuring underlying technical costs don’t undermine the viability of the enterprise.<p>Many CTOs just say, “we’ll cloud everything”, and are “shocked” when they get a $500k monthly bill from AWS because a developer wrote errant auto-scale rules.<p>Development and deployment should always be costed using both on-premise and cloud solutions, weighted with the associated risks of hacking, cost, and time.<p>My strategy: budget cloud, implement on-premise.<p>Nowadays, you can simulate AWS using docker-swarm or kubernetes, and that will give you a reasonably accurate scaling cost for your deployments.<p>My two racks at a datacenter cost me $2k&#x2F;mo all in with 1gbps bandwidth. The cost of clouding, which I check regularly, is over $18k&#x2F;mo. I can always scale TO the cloud, but it’s an order of magnitude (or more) harder to de-scale to on-premise as developers take liberties with AWS provided shortcuts that they really should learn to deploy locally.<p>De-scaling will cost time, and developers who prefer cloud may leave as a result, requiring costly re-hires and schedule slips.<p>Ultimately, the CTO’s role should include: inform and educate, minimize technical debt, and maximize the company’s return on investment in technical staff and capital expenditures for computing needs, all while understanding the risks of the associated decisions to the bottom line of the company, financially, legally, and in terms of time-to-market.<p>As a 35 developer with 35 years experience, I can tell you that if you let the development team decide, 95% of the time you will lose control of the costs very quickly.<p>My suggestion to keep development costs low is to buy 10 used or new Dell servers and rack them on-premise, and use that for your development “cloud”.<p>Having physical limits on capabilities will force devs to think “lean”, and gain personal experience building the supporting technologies they need to run whatever they develop.<p>Your development team will be better, and your shareholders will appreciate your thriftiness.<p>You can always scale up.<p>Cheers!
评论 #24170014 未加载
Jugurtha超过 4 年前
Here are a few ideas:<p>- It&#x27;d be useful to curb the belief that you have a reasonable amount of funds at your disposal. Think like a pauper startup or you will go back to being one.<p>- You are a living book of the product and you need to communicate the product arc and vision, and the rationale of your decisions. One way to speed things up is with a &quot;This is what I think, and here is why I think it&quot; because then, other members can send in pull requests to your thinking.<p>This is especially true because you built the initial versions of the app, therefore, some scar tissue has formed and those initial conditions have influenced the current state of the application, whether the stack, the architecture, etc. Why things were implemented the way they were, what were the constraints at the time, what were the hypotheses. The rationale of things must be documented somehow and shared, because then it can be &quot;diffed&quot; and people can send in pull requests. Sure, dreamer7 has implemented this part like this because at that time, there was poor bluetooth support, but now X has a new driver so we can just change X and have 40% less battery usage.<p>- Aligning the team: emails that go to all on the direction of the product, the different parts, how they play with each other, what would be a good outcome, things that you&#x27;re looking into, desirable state (integrations, extensibility, API, etc). How it relates to the job to be done, how it relates to the segment, sector, ecosystem. i.e: also from a top view where your company is just an actor in the world, and not the world. What does it add to the global system.<p>- A very useful thing to do is to scale yourself and the team: record video calls and put them at the disposal of the team. Even when you have a one-on-one call with a member to discuss implementation details on something. All the members can go back to that call and get a detail they forgot, and it documents product building as it happens. You&#x27;re scaling yourself. You can use Open Broadcaster Software to record your screen, so anyone watching the video gets the context. This is useful because often times, you&#x27;ll have a discussion, and are digging through source code, cloning repositories, and writing code on the fly to test things. People can witness problem solving. New hires can just consume that content and <i>learn</i> how product gets built at that shop, so they can improve it and adopt elements from it. They also get context on a particular part of the project. This also means documenting things like meetings, or discussions, or contribution guides, or on-boarding documents, etc.<p>- Describing goals: you can focus on edits and you will do it often. At some point, you&#x27;ll notice similar things happening and you&#x27;re editing similar things. This prompts you to find an abstraction and encapsulate what you&#x27;re trying to do. For example, you might go over pull requests and suggest a contributor make certain parts addressable with API calls. And then do it another time. And another time. At some point, you may want to abstract that away and have a direction such as: &quot;Anything you can do with point and click must be doable with an API call.&quot; That sets the tone and people can auto-review their pull request against that.<p>- Aligning the team: (yes, I said it twice). A good habit to have is to send a periodic email and blast it to everyone (colleagues, investors, advisors, board members) that recaps what you all are working on, and why you&#x27;re working on it, and the beliefs and data that lead you to working on it, and the parts you&#x27;re unsure about, and what shifts you are noticing in the field. You can then go back and forth answering questions because people will say &quot;I thought it was X&quot;.<p>In that email, you can expose top down a few ideas. Everyone must be able to understand it, so you can present an idea from different angles.<p>Run it through something like <a href="https:&#x2F;&#x2F;github.com&#x2F;shivam5992&#x2F;textstat" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;shivam5992&#x2F;textstat</a> to get your text scored. Tweak until you have good scores for readability.<p>- Proofs of concepts: Here&#x27;s a way to balance your exploration&#x2F;details with leveraging the team. Your team members are busy working on implementing features, or fixing bugs. You can help fleshing out issues. You can also take an issue that is important and non trivial, explore the space, and write a prototype, a proof-of-concept that you push to a branch. You can make sure to document things in the issue, your thoughts about the design, etc. The team member who will pick up that issue in the future will have a starting point, an initial implementation. If you do that for the issues you consider important, it will kickstart development.<p>- Paying attention to the ecosystem: you have a backlog with issues for features and bug fixes. Similar to a garden, you have to tend to those. You can go over them, one by one, and re-think their relevance, doability. Some issues were opened 5 months ago with a &quot;state&quot;. The state 5 months ago is different. What has changed that can help close this issue by either fixing the bug or implementing the feature.<p>Part of it is going over things every week and ask yourself: what was valid a week ago that is not anymore? Or what has changed with respect to this problem? Maybe a new paper came out that even if it doesn&#x27;t solve your problem, brings you closer to a solution. So you add that to the issue, with your thoughts on how it can play out.<p>Any contributor who picks up the issue will have a huge context, links for resources, a thought process, experiments that were made, and can choose either to ignore them because it looks trivial to them, or start from there.<p>Sorry I wasn&#x27;t more concise.
评论 #24179745 未加载