Monday, July 10, 2017

Corporate Governance Today

Once upon a time, companies were managed by founder-owners, engineers, gritty tradesmen, and the like. The current norm of companies managed by a class of professional managers is a relatively recent development. Once upon a time, the dream of an upstart company, especially a tech company, was to go public and become a publicly traded company. A couple of market crashes later and a rather unique interest rate environment has turned this aspiration upside down and many companies have chosen to delay initial public offerings. As of late, the pace in IPOs has picked up somewhat, but it still pales in comparison to the heyday of tech IPOs. One performance all publicly traded companies must have is the shareholders' annual meeting. There is quite a contrast from company to company in how they carry this out. For Berkshire Hathaway, it is a celebratory confab of the giants of industry and finance coming before the oracle of Omaha Warren Buffet. For most companies, it is a formal requirement that they rather do without. In some cases, annual meetings have become outright adversarial. Having already to file numerous SEC-required filings and give earnings calls for the benefit of Wall Street analysts, yet another venue where shareholders, the purported fractional owners of companies, and influencers can raise questions is probably few management teams' idea of fun. It seems to be all too easy for an annual meeting to become adversarial, whether it be due to an impending say-on-pay vote, some kind of environmental or social concern, or just plain input from the shareholders on how a company can tack to become more efficient, profitable, and fast growing. Few teams want to hear from the shareholders because the best input from shareholders always seems to be no input from the perspective of the management. With a large part of the public shares of companies held by mutual funds and ETFs, which in turn are held in 401k accounts, this affects many of us. Nearly all the time, funds carry out a perfunctory according to management recommendation without any consideration or else abstain from voting. This works very much in the favor of management since they can count on funds to support share value, their share value, while not having to worry about large shareholders attempting to get in their say. When did corporate governance become so adversarial and arguably dysfunctional?

This situation also affects tech companies. Though some of the leading tech companies are nominally run by engineers, most are backed by a senior leadership team of professional managers supported by legions of more professional managers. It's not to say that management's job is easy. It is very challenging and sometimes you are put in a no-win situation. However, the fact that communication has broken down or started to fray at the corners between management and their nominal bosses, the shareholders, points to some kind of sea change. Even the entry of activist investors such as Paul Singer's Elliot Management, Carl Icahn, and Third Point are a relatively new phenomenon.

I have written previously about shareholder meetings and how some small investors such as Matthew Rafat are trying to get their say in.

Sunday, July 9, 2017

Top Posts

  1. Share Buybacks is a four-part series that explores the historical performance of the share buyback strategy which seeks to overweigh companies with large share buyback programs.
  2. Buybacks and Dividend Growth explores the debate between proponents of each strategy.
  3. The Saving up for college tuition series muses on the value and underlying frictions found in college savings and investments accounts.
  4. Stock Price Limits and ADRs surveys the research literature on the impact of stock price limits on price discovery.
  5. Max Drawdown recaps a study on the performance of equities and the best and worse case scenarios for buy-and-hold investors during the height of the financial crisis.
  6. Market Indexing explores fundamental index including a brief history and the pros and cons.
  7. Probabilistic counter goes over some of the seminal papers describing the classic efficient non-comparison-based algorithms.
  8. Memory Management and Concurrency in C surveys the costs and benefits of various memory management techniques in software.
  9. Programming language theory meets popular programming languages in Formal Semantics for the Top 5 Programming Languages. Over the last couple of decades, the research community has built an amazing amount of technical machinery in the form of ever fancier type systems and logics to formalize the semantics of programming languages. Most of the time, the subject under study is some niche language that is relatively constrained to admit formalization. However, in the above mentioned post, researchers tackle the fickle and messy popular programming languages head on to try to bring reason and order to a disorderly world.
  10. Scientific method and epistemology presents a 10,000 foot level view of the philosophy of science and knowledge.

How to do a code review, Part 1

Code review is a practical and important skill that truly distinguishes the highly experienced engineer. Knowing what are the common pitfalls, where to look for them, and how to understand someone else's code quickly is an invaluable skill to have. It is also a skill that is rarely taught in school. To really ramp up your programming skills, get out there and read other people's code. Reading high quality code is a good learning experience. Occasionally reading poorly written code is also insightful. What are the most common errors and where do you find them? Through code reviews, software engineers can spread knowledge through their teams as well as improve consistency and code quality. For the interviewee, you have to review your own code, so it helps to know what are the things you need to double check. One great way to evaluate a team's culture is to probe and understand their code review practices or lack thereof. Below, I will cover some of the best practices and provide a few pointers on where you can get started.

Sunday, July 2, 2017

Platform-as-a-Service Providers

A overwhelming amount of attention and resources has been focused on Infrastructure-as-a-Service (IaaS) clouds. IaaS clouds are in a sense more flexible but requires considerably more setup and configuration than Platform-as-a-Service (PaaS) clouds. IaaS clouds can serve both for webapp hosting as well as Hadoop-style cluster computations. PaaS clouds are clearly targeted at webapp hosting. PaaS cloud hosts usually provide a wide variety of supporting services (e.g., payment gateways, monitoring, CRM) to help developers focus on core business logic, but often businesses have found out that PaaS is too restrictive, requiring one to give up too much control over the webapp architecture. In particular, PaaS often requires one to select from a limited set of data stores and load balancers. Sometimes, PaaS requires webapps to be written against a particular proprietary API, potentially a restricted and even proprietary data store. This would make something rather simple such as a deploying a Wordpress site a non-starter.

Saturday, July 1, 2017