Posts

public static is harmful. It has no home in modern programming.

In the modern era of software development, "public static" is a relic of a past age. It reflects a bygone era where the concepts of composition and dependency injection were not yet well understood. In the modern world of software, where we understand both of these concepts relatively well - it's important to know that public static has no future. Let's see why: 1. public static forces static coupling, breaks composition and dependency injection This one is fairly obvious - it's in the name. A call to a public static function typically looks like: void myCallingFunction() {   MyUtils.publicStaticFunction(args); } As we can see clearly, the call to the public static function is happening with a direct reference through the containing class. The calling function is tied down to using only the implementation in MyUtils. The caller may not choose another implementation even if the caller may be calling the code in a test environment ( brittle composition ). This  &quo

Use the Heilmeirs for Project Funding

I learnt about the Heilmeirs from Vijay Gill , an ex-SVP at Databricks (now an SVP at RapidAPI). He said that this was the fastest way to focus the discussion around project funding. I've found it to be useful - sharing this with you. The Heilmeirs Project funding is governed by this one-pager process: What are you trying to do? Articulate your objectives using absolutely no jargon. How is it done today, and what are the limits of current practice? What is new in your approach and why do you think it will be successful? Who cares? If you are successful, what difference will it make? What are the risks? How much will it cost? How long will it take? What are the mid-term and final “exams” to check for success?

The Effective Executive

  The Effective executive “An effective executive does not need to be a leader in the sense that the term is now most commonly used. Harry Truman did not have one ounce of charisma, for example, yet he was among the most effective chief executives in U.S. history. Similarly, some of the best business and nonprofit CEOs I’ve worked with over a 65-year consulting career were not stereotypical leaders. They were all over the map in terms of their personalities, attitudes, values, strengths, and weaknesses. They ranged from extroverted to nearly reclusive, from easygoing to controlling, from generous to parsimonious. What made them all effective is that they followed the same eight practices: They asked, ‘What needs to be done?’ They asked, ‘What is right for the enterprise?’ They developed action plans. They took responsibility for decisions. They took responsibility for communicating. They were focused on opportunities rather than problems. They ran productive meetings. They thought and

For Effective Meetings, leverage the Meeting Bill of Rights

Meetings become enormously important as a medium of work execution as people become more senior over time. I've seen that the quality of meetings vary from person to person and organization to organization. Over the years, I've found the following principles very useful to frame my approach to meetings. I'm sharing this with you - hope you find it useful as well. Cheers!   Adapted  from "The Secrets to Masterful Meetings" ( PDF ); How Jeff Bezos runs meetings . Your Meeting Bill of Rights Meeting Notice.You have the right to be informed about the purpose and proposed agenda for a meeting, verbally or in writing, at least twenty-four hours in advance of the meeting. Timely Start.You have the right to attend meetings that start on time. 3 minutes late: issue a reminder; 7 minutes late: meeting cancelled.  Right People .You have the right to have all major viewpoints critical to decision-making represented at the meeting. Conversely, If you're not useful to the m

Can white prevent checkmate?

Image
I reached here as black. White to play - Qh5 was my last move. I had just sacked my bishop for 2 pawns to open up the king. Can white save checkmate? Full game: Nimzowitsch-Larsen Attack Fairly interesting in its own way: 1. b3 e5 2. Bb2 Nc6 3. Nf3 d6 4. e4 Nf6 5. Bb5 a6 6. Bxc6+ bxc6 7. Nc3 d5  8. exd5 cxd5 9. O-O Bg4  10. h3 Bh5 11. Qe2 e4 12. g4 Bxg4 13. hxg4 Nxg4 14. Nd4 Qh5 0-1

Expectations of an Engineering Manager

This is a beautiful article that very succinctly and accurately defines management responsibilities: The key principles being: Support the members of your team and help them grow. Follow along the deliveries, setting quality standards, making sure the team has the support they need and upper management the feedback they need [through you and without you] Keep a constant practice of creating, improving or eliminating team or company processes. There are some issues with the article as well: for example, the reliance on Andy Grove's definition of management is something that I don't fully agree with. It's a reasonable definition, don't get me wrong. It's even valuable in certain ways, I just don't fully agree with it though. Traditionally, Andy Grove defined a manager's output as the sum of their team's output and the teams under influence output . This is great if the goal of your organization's managers is to play politics at promotion time (hey I i

Pearls of wisdom: taxing into prosperity

Image
For a nation to try and tax itself into prosperity is like a man standing in a bucket trying to lift himself up by the handle -- Winston Churchill