Bedrock programming


“Bedrock programming” is a phrase used to describe a style of programming that favors building code from the ground up versus reusing existing open-source or proprietary code.

In my first programming job out of college our bosses told us to entirely rebuild our product. The person in charge of the networking layer decided the best way to do this was to write our own low-level networking toolkit, using some new, relatively untested networking techniques. We also wrote our own versions of core Java libraries (because, it was said, the existing ones weren’t sufficiently thread safe). This decision ended up leading to repeated delays and bugs, and a codebase that most of the other employees didn’t understand. It also made it much harder to train new hires and find replacements for departed employees.

A related issue is what is usually called the “bleeding edge” tendency: the desire to use the shiny & new over the older & battle-tested. Lately, I’ve personally been programming with MongoDB and love it. But I’m also an investor in a startup that made Mongo their main production database, and when their Mongo expert left unexpectedly it took them far longer to find a replacement than it would have to find a MySQL expert.

Great programmers are intensely curious and inventive. They love to improve code and try new things. There will always be bedrock and bleeding edge tendencies within strong engineering teams. The key is to have a great VP Engineering/CTO who can balance those tendencies with the reality that talent, money, and time are scarce, especially in startups.

Next post: And then, suddenly, it works
Previous post: Who should learn to program?

Views expressed in “content” (including posts, podcasts, videos) linked on this website or posted in social media and other platforms (collectively, “content distribution outlets”) are my own and are not the views of AH Capital Management, L.L.C. (“a16z”) or its respective affiliates. AH Capital Management is an investment adviser registered with the Securities and Exchange Commission. Registration as an investment adviser does not imply any special skill or training. The posts are not directed to any investors or potential investors, and do not constitute an offer to sell -- or a solicitation of an offer to buy -- any securities, and may not be used or relied upon in evaluating the merits of any investment.

The content should not be construed as or relied upon in any manner as investment, legal, tax, or other advice. You should consult your own advisers as to legal, business, tax, and other related matters concerning any investment. Any projections, estimates, forecasts, targets, prospects and/or opinions expressed in these materials are subject to change without notice and may differ or be contrary to opinions expressed by others. Any charts provided here are for informational purposes only, and should not be relied upon when making any investment decision. Certain information contained in here has been obtained from third-party sources. While taken from sources believed to be reliable, I have not independently verified such information and makes no representations about the enduring accuracy of the information or its appropriateness for a given situation. The content speaks only as of the date indicated.

Under no circumstances should any posts or other information provided on this website -- or on associated content distribution outlets -- be construed as an offer soliciting the purchase or sale of any security or interest in any pooled investment vehicle sponsored, discussed, or mentioned by a16z personnel. Nor should it be construed as an offer to provide investment advisory services; an offer to invest in an a16z-managed pooled investment vehicle will be made separately and only by means of the confidential offering documents of the specific pooled investment vehicles -- which should be read in their entirety, and only to those who, among other requirements, meet certain qualifications under federal securities laws. Such investors, defined as accredited investors and qualified purchasers, are generally deemed capable of evaluating the merits and risks of prospective investments and financial matters. There can be no assurances that a16z’s investment objectives will be achieved or investment strategies will be successful. Any investment in a vehicle managed by a16z involves a high degree of risk including the risk that the entire amount invested is lost. Any investments or portfolio companies mentioned, referred to, or described are not representative of all investments in vehicles managed by a16z and there can be no assurance that the investments will be profitable or that other investments made in the future will have similar characteristics or results. A list of investments made by funds managed by a16z is available at Excluded from this list are investments for which the issuer has not provided permission for a16z to disclose publicly as well as unannounced investments in publicly traded digital assets. Past results of Andreessen Horowitz’s investments, pooled investment vehicles, or investment strategies are not necessarily indicative of future results. Please see for additional important information.