What I read
Articles I read between 2014 and 2026 and wanted to keep, usually with the line that made me save it.
2026
-
I have been doing this for years, and the hardest parts of the job were never about…
typing out code. I have always struggled most with understanding systems, debugging things that made no sense, designing architectures that wouldn’t collapse under heavy load, and making decisions that would save months of pain later. None of these problems can be solved LLMs. Th…
2024
-
Authoritative Leadership: Definition, Pros, and Cons - Work Life by Atlassian…
AUTHORITATIVE VS. AUTHORITARIAN LEADERSHIP: WHAT’S THE DIFFERENCE? The authoritative leadership style gets a bad rap — probably because it’s frequently confused with the authoritarian leadership style. While the two terms are similar, the approaches are quite different: Authorita…
-
[https://news.ycombinator.com/item?id=39288669&utm_term=comment] I have a 4-quardrant way…
of thinking about this that’s similar. - Y-axis is “drive” - X-axis is “aptitude” - low drive + low aptitude: never hire - low drive + high aptitude: hire for targeted use cases where you need expertise - high drive + low aptitude: hire, train, and foster aptitude growth - high d…
2023
-
The Procrastinator The Lone Wolf The Negative Nancy The Over-Promiser The Know-It-All The…
Silent Type The Perfectionist The Unreliable One The Conflict Instigator The Burned-Out Employee One powerful communication tool I’ve found particularly useful is Nonviolent Communication (NVC). Developed by psychologist Marshall Rosenberg, NVC is a method of communication that p…
-
10 hard-to-swallow truths they won’t tell you about software engineer job 1) 2) 3) … 10)…
You will profit more from good soft skills than from good technical skills Technical skills are the ones you can learn easily. With different projects, you can understand a particular programming language. You can learn its syntax, pros and cons. It’s just a matter of practice. O…
-
Dropbox, Twitter, Netflix, Facebook, GitHub, Instagram, Shopify, StackOverflow - these…
companies and others started out as monolithic code bases. Many have a monolith at their core to this day.
-
Numbers To Know For Managing (Software Teams)
0 - the number of times you should lie
0 - the number of pages your team should get off hours
1 - the number of times you should try to reverse a sincere resignation
2 - minimum number of direct reports anyone should ever have
3 - the minimum number of candidates you should interview before making a decision
4 - the number of minutes to spend on chit chat in the beginning of a meeting
5 - the number of comments on a document before you should ask to talk about the issue
6 - the number people tell you when they’re very unhappy
7 - the number of days before a new hire should have merged a pull request
8 - the % of people that should be rated as underperforming in a growth company during a bull market
10 - the max % you should be looking to negotiate an offer
30 - the number of days before a small support issue becomes a large support issue
50 - the number of Pull Requests a solid engineer should merge per 6 months
70 - the target % close rate for recruiting in a “regular” market
90 - the number of days a role should stay open
100 - the way you should keep it
200 - the maximum size of “small data”
500 - the number of employees before your CEO becomes a political figure
1000 - the size of company when you’re at risk of losing accountability
3905 - the average number of days from initial funding to IPO, for companies that make it
2022
-
Reminiscing: the retreat to comforting work.
Hunter Walk’s idea of snacking: doing work that is easy to complete but low impact. (…) Snacking isn’t necessarily bad, a certain amount gives you energy to redeploy against more impactful tasks, but you do have to be careful to avoid overindulging.
To catch my own reminiscing, I find I really need to write out my weekly priorities, and look at the ones that keep slipping. Why am I avoiding that work, and is it more important than what I’m doing instead? If a given task slips more than two weeks, then usually I’m avoiding it, and it’s time to figure out where I’m spending time reminiscing.
-
What “Work” Looks Like
The mantra of sharing your work and involving everyone in decisions naturally leads to inviting and copying people into things that add no value to them, or you.
Work at MIT found that brainstorming generally “reduced creativity due to the tendency to incrementally modify known successful designs rather than explore radically different and potentially superior ones.”
I think Business with a capital B loves “collaboration” because of the seeming evidence of the feat: the potential for innovation is visible, even palpable when people are in a room — “I can see people meeting and talking and there are sticky notes all over the wall!”.
The funny thing is, sitting alone thinking doesn’t “look” like work. Even more so if it’s away from your computer. However, my own process for brainstorming and ideating often looks like this:
- Load my brain with all the context of a problem.
- Step away from the computer and go live — do the dishes, go for a run, vacuum the carpet.
- Once potential solutions distill in my mind, go back to my desk and write them down or sketch them out.
- Prepare a presentation, demo, or prototype to convey my idea to others and gather their feedback.
- Rinse & repeat.
-
Loving Your Job Is a Capitalist Trap
more than 75 percent of college-educated workers believe that passion is an important factor in career decision making. And 67 percent of them say they would prioritize meaningful work over job stability, high wages, and work-life balance. Believers in this idea trust that passion will inoculate them against the drudgery of working long hours on tasks that they have little personal connection to. For many, following their passion is not only a path to a good job; it is the key to a good life.
frankly, the white-collar labor force was not designed to help workers nurture self-realization projects. It was designed to advance the interests of an organization’s stockholders. When people place paid employment at the center of their meaning-making journey, they hand over control of an essential part of their sense of self to profit-seeking employers and the ebbs and flows of the global economy.
Recommending that career aspirants do what they love and figure out the “employment stuff” later (…) ignores the structural obstacles to economic success that many face, and blames career aspirants if they cannot overcome obstacles. It guides workers to avoid the grind of paid work by transforming it into a space of fulfillment. But it does nothing to address the factors that make paid work feel like drudgery in the first place. Many companies also tend to exploit workers’ passion. My research finds that employers prefer workers who find their jobs fulfilling, precisely because passionate employees often provide additional uncompensated labor.
In order to circumvent the existential problems of passion, individuals can shift their personal philosophies about work. One solution is to trim paid work to fit into a more confined space in our lives: Work that can be contained in predictable hours, that provides freedom to engage in meaningful outside activities, and that allows ample time for friends, family, and hobbies may be a more desirable and self-preserving goal.
The more pertinent question, then, isn’t “How can I change my career path to do work that I love?” but rather “How can I wrangle my work to leave me with more time and energy for the things and people that bring me joy?”
No one should entrust the bulk of their sense of self to a single social intuition, especially one within something as tempestuous as the labor market.
2021
-
Beware SAFe (the Scaled Agile Framework for Enterprise), an Unholy Incarnation of Darkness
At the highest level, called the “Portfolio”, SAFe does advocate funding indefinite “Value Streams”. However, the Lean Portfolio Management function that controls funding are given sole authority to approve which Portfolio Epics (large initiatives) move into each stream. Epics are not explanations about a problem that needs to be solved. They are pre-formed ideas about how best to solve those problems.
SAFe collects small product teams (often Scrum teams) into “Agile Release Trains” — groups of teams with an additional layer of management roles spanning each group at what is called the “Program level”.
Generally these roles impede the autonomy of teams. They add process and communication overhead out of proportion with the value they provide.
Right away we can see signs of the old-school mindset of viewing teams as a “delivery” function instead of a strategic one. The high level thinkers come up with ideas, and the low level doers execute on those ideas. Ignored is the possibility that those closest to the work might be best equipped to make decisions about it.
The Product Owner and team might theoretically be able to prioritize other, smaller pieces of work against the work imposed on them, but these efforts have limited visibility and buy-in from above.
SAFe actually chooses to manage dependencies is by increasing focus on planning, process, hierarchy, and standardization. Predictably, this results in lots of meetings that interfere with the ability to get work done. It imposes this approach through a universal roll-out that affects the entire organization at once.
There is definitely some value in having people get together in person to build relationships, share information, and orient around goals. On the other hand, using that limited time window to make 10 week plans of specific user stories based on pre-defined features, and then requiring commitment to those plans is much less valuable.
As soon as PI planning ends, those plans created based on limited understanding and numerous assumptions will become obsolete as soon as anything new is learned. Teams will be continuously torn between sticking to the plan they’ve learned doesn’t make sense and and reorienting expectations for reasons those above them may not be in a position to understand.
Roles at the program level and above cannot possibly attend all team retrospectives. This means retrospectives will not be directly heard by the people who can actually change many of the things being discussed.
-
Systems design explains the world: volume 1
- As a Novice going for Junior, you had to prove you could fix bugs without too much supervision;
- Going for Senior, you had to prove you could implement a whole design with little supervision;
- Going for Staff, you had to show you could produce designs based on business problems with basically no management;
- Going for Senior Staff, you had to solve bigger and bigger business problems; and so on.
People who are naturally excellent at glue work often stall out early in the prescribed engineering pipeline, even when they’d be great in later stages (staff engineers, directors, and executives) that traditional engineers struggle at. In fact, it’s well documented that an executive in a tech company requires almost a totally different skill set than a programmer, and rising through the ranks doesn’t prepare you for that job at all. Many big tech companies hire executives from outside the company, and sometimes even from outside their own industry, for that reason.
In systems design, there is rarely a single right answer that applies everywhere. But with centralized vs distributed systems, my rule of thumb is to do exactly what Jo Freeman suggested: at least make sure the control structure is explicit. When it’s explicit, you can debug it.
Chicken-egg problems
Video game console makers (Nintendo, Sony, Microsoft) have become skilled at this; they’re the only ones I know who do it on purpose every few years. Some tricks they use are:- Subsidizing the cost of early console sales.
- Backward compatibility, so people who buy can use older games even before there’s much native content.
- Games that are “mostly the same” but “look better” on the new console.
- Compatible gamepads between generations, so developers can port old games more easily.
- “Exclusive launch titles”: co-marketing that ensures there’s value up front for consumers (new games!) and for content producers (subsidies, free advertising, higher prices).
The next level up is a two-sided market, such as Uber or Ebay. Nobody can get a ride from Uber unless there are drivers; but drivers don’t want to work for Uber unless they can get work. Uber has to attract both kinds of users (and worse: in the same geographic region! at the same time of day!) before either kind gets anything from the deal.
The most difficult level I know is a three-sided market. For example, UberEats connects consumers, drivers, and restaurants. Getting a three-sided market rolling is insanely complicated, expensive, and failure-prone.
Second-system effect
Second system effect arises through the following steps:
- An initial product starts small and is built incrementally, starting with a low budget and a few users.
- Over time, the product gains popularity and becomes profitable.
- The system evolves, getting more and more hacks on top, and early design tradeoffs start to be a bottleneck.
- The engineers figure out a new design that would fix all the mistakes we know about, plus more! (And they’re probably right.)
- Since the product is already popular, it’s easy to justify spending the time to “do it right this time” and “build a strong platform for the next 10 years.” So a project is launched to rewrite everything from scratch. It’s expected to take several months, maybe a couple of years, and a big engineering team.
The results are remarkably consistent:
- The project takes longer than expected to reach feature parity.
- The new design often does solve the architectural problems in the original; however, it unexpectedly creates new architectural problems that weren’t in the original.
- Development time is split (or different developers are assigned) between maintaining the old system and launching the new system.
- As the project gets increasingly overdue, project managers are increasingly likely to shut down the old system to force users to switch to the new one, even though users still prefer the old one.
Innovator’s dilemmas
A summary of the Innovator’s Dilemma is as follows:
- You (Intel in this case) make an awesome product in a highly profitable industry.
- Some crappy startup appears (ARM in this case) and makes a crappy competing product with crappy specs. The only thing they seem to have going for them is they can make some low-end garbage for cheap.
- As a big successful company, your whole business is optimized for improving profits and margins. Your hard-working employees realize that if they cede the ultra-low-end garbage portion of the market to this competitor, they’ll have more time to spend on high-valued customers. As a bonus, your average margin goes up!Genius.
- The next year, your competitor’s product gets just a little bit better, and you give up the new bottom of your market, and your margins and profits further improve. This cycle repeats, year after year. (We call this “retreating upmarket.”)
- The crappy competitor has some kind of structural technical advantage that allows their performance (however you define performance; something relevant to your market) to improve, year over year, at a higher percentage rate than your product can. And/or their product can do something yours can’t do at all (in ARM’s case: power efficiency).
- Eventually, one year, the crappy competitor’s product finally exceeds the performance metrics of your own product, and promptly blows your entire fucking company instantly to smithereens.
The dilemma comes from the fact that all large companies are heavily optimized to discard ideas that aren’t as profitable as their existing core business. Any company that doesn’t optimize like this fails; by definition their profitability would go down. So thousands of worker bees propose thousands of low-margin and high-margin projects, and the company discards the former and invests heavily in the latter (this is called “sustaining innovation” in the book), and they keep making more and more money, and all is well.
Fancy expensive databases were the only way to get high transaction throughput, until SSDs came along and made any dumb database fast enough for most jobs.
Complicated database indexes and schemas were great until AWS came along and let everyone just brute force mapreduce everything using short-term rental VMs.
JITs were mostly untenable until memory was so much slower than CPU that compiling was not the expensive part. Software-based network packet processing on a CPU was slower than custom silicon until generic CPUs got fast enough relative to RAM. And so on.
But in the book, it had a meaning. There are two kinds of innovations: sustaining and disruptive. Sustaining is the kind that big companies are great at. If you want to make the fastest x86 processor, nobody does it better than Intel (with AMD occasionally nipping at their heels). Intel has every incentive to keep making their x86 processors better. They also charge the highest margins, which means the greatest profits, which means the most money available to pour into more sustaining innovation. There is no dilemma; they dump money and engineers and time into that, and they mostly deliver, and it pays off.
A “disruptive” innovation was meant to refer to specifically the kind you see in that plot up above: the kind where an entirely new thing sucks for a very long time, and then suddenly and instantly blows you away. This is the kind that creates the dilemma.
If you’re a startup and you think you have a truly disruptive innovation, then that’s great news for you. It’s a perfect answer to that awkward investor question, “What if [big company] decides to do this too?” because the honest truth is “their own politics will tear that initiative apart from the inside.”
-
The Art of Not Taking Things Personally
- Overreaction is Often Driven by Something Else Entirely
- Blame is Often Driven by Anger
- Anxiety comes from not seeing the full picture.
- Avoidance is Often Driven by Insecurity
- Criticism is Often Driven by Shame
- Unrequested Advice is Often Driven by Regret
- Mistrust is Often Driven by an Unspoken Expectation
- Doubt is Often Driven by a Lack of Clarity
- Selflessness is Often Driven by Guilt
- Every Negative Emotion is Driven by an Unmet Need
- Overreaction is Often Driven by Something Else Entirely
-
If You’re So Successful, Why Are You Still Working 70 Hours a Week?
In the old days, if you were a white-collar worker, the deal was that you worked as hard as you could at the start of your career to earn the right to be rewarded later on, with security of tenure and a series of increasingly senior positions. This is no longer true. Today, many senior leaders work longer and harder than ever.
My research (…) shows that our tendency to overwork and burn out is framed by a complex combination of factors involving our profession, our organization, and ourselves. At the heart of it is insecurity.
A professional’s insecurity is rooted in the inherent intangibility of knowledge work. How do you convince your client that you know something worthwhile and justify the high fees you charge? The insecurity caused by this intangibility is exacerbated by the rigorous “up or out” promotion system perpetuated by elite professional organizations
Exacerbating this problem, elite professional organizations deliberately set out to identify and recruit “insecure overachievers” — some leading professional organizations explicitly use this terminology, though not in public. Insecure overachievers are exceptionally capable and fiercely ambitious, yet driven by a profound sense of their own inadequacy. This typically stems from childhood, and may result from various factors, such as experience of financial or physical deprivation, or a belief that their parents’ love was contingent upon their behaving and performing well.
In the short term, insecure overachievers respond by delivering exceptional performance.
The tendency to hard work is reinforced by the strong culture of social control created by elite professional organizations. On the one hand, this is comforting. Some professionals I have studied refer to their firms as being like a “family,” or something even more intense.
Paradoxically, the professionals I studied still believe that they have autonomy and that they are overworking by choice. They do not blame their organizations, which after all have invested in work-life balance initiatives and wellness programs. Instead, they blame themselves for being inadequate
As a result, by the time insecure overachievers become leaders of their organizations, they unconsciously replicate the systems of social control and overwork that helped to create them.
Your insecurities may have helped to get you where you are today, but are they still working for you? Is it time to acknowledge that you have “made it” and to start enjoying the experience a little bit more? And if your boss is an insecure overachiever, recognize how they are projecting their insecurity onto you — how they make you feel insecure for not being able to keep up with them.
Work exceptionally long hours when you need to or want to, but do so consciously, for specified time periods, and to achieve specific goals. Don’t let it become a habit because you have forgotten how to work or live any other way.
If you are a leader, you have a responsibility not just to your firm but to the people who work within it. Help your colleagues to achieve their full potential, but do not allow yourself to exacerbate and exploit their insecurities. And remember that your ultimate “duty of care” is to yourself.
-
How Big Tech Runs Tech Projects and the Curious Absence of Scrum
- Autonomy for software engineers and teams. The expectation of developers at traditional companies is to complete assigned work. At SV-like companies, it’s to solve problems that the business has. This is a huge difference. It impacts the day-to-day life of any engineer.
- Curious problem solvers, not mindless resources. A motivated engineer easily makes multiple times the impact of a “factory worker” who only does what they’re told. For organizations with a factory worker attitude, this approach will bias towards more heavyweight project management approaches that leave little room for interpretation, on purpose.
- Internal data, code, and documentation transparency. Employees – and not just engineers – often have access to real time business metrics and data sources, to write their own queries and create custom reports.
- Exposure to the business and to business metrics. Engineers are encouraged to interact with the rest of the business and build relationships with non-engineers. In contrast, traditional companies often make it impossible for developers to interact with the rest of the business.
- Engineer-to-engineer comms over triangular-communication.Traditional companies will encourage hierarchical communication that slows down information flow, and results in slower decisions.
- Investing in a less frustrating developer experience. Companies that care about engineers solving problems quickly set up various platform teams, which reduce the developer experience churn.
- Higher pay, justified by higher leverage. Companies that leverage engineers well, have no trouble paying close to the top of the market, or above it.
- Caliber of the talent hired. These companies hire highly competent and highly motivated people, thanks to the combination of all the above. They have a large pool to choose from, as they are known for generous compensation packages, and strong career growth opportunities.
Empowered and autonomous teams are the building blocks of all these companies. They are also the key differentiator between many companies in the tech industry.

-
Stage of company, not name of company
When choosing your next company, first determine which stage (pre-product fit, post-product fit, growth, or scale) is the best match. Usually only 1 or 2 stages make sense for any given job search.
Post-product fit companies need functional experts who can introduce stability.
- People who thrive here can introduce the right amount of structure and process without frustrating founders and entrepreneurs.
- Growth is taking place slowly and consistently, and many areas of expertise are completely missing and unstaffed.
- If you are five to 10 years into your career, you are unlikely to be a director or executive in a late-stage company. But at this phase, if you get hired, you might be more experienced than anyone in the company and can lead a team. It’s the trade-off between being a crew member on an ocean liner versus captain of a small vessel.

- People who thrive here can introduce the right amount of structure and process without frustrating founders and entrepreneurs.
-
Being Nice and Effective
I’m writing this article for the nice people in leadership roles. By the meaning of the word “nice,” such people are kind, polite, and friendly. They generally trust the goodness of the people they lead. They are not usually difficult to work with, care for others, are patient, and listen. They venture to be vulnerable. You don’t hesitate to approach them.
Here are the six leadership styles.
- Coercive: This style demands immediate compliance. You get told more often than being asked about what you think. This style hurts the climate.
- Authoritative: This style mobilizes people towards a vision. They motivate people through vision and work to maximize your commitment to goals. You would know how your work is contributing to the broader vision. This style has the most positive impact on the climate.
- Affiliative: This style creates harmony and builds emotional bonds with the people. Under such leadership, people share ideas and their inspiration with one another. This style also has a positive impact on the climate.
- Democratic: This style forges consensus through participation. This style is characterized by listening to people and getting their buy-in to drive flexibility and responsibility, even if it takes more time. This style also has a positive impact on the climate.
- Pacesetting: This style sets high standards for performance and creates “do as I do, now” pressure on people in an “I know it all” mode. Of course, this style also harms the climate.
- Coaching: This style develops people for the future. In this style, you will see delegation get challenging assignments. You will be lucky to work with such leaders since you grow. This style also has a positive impact on the climate.
He identifies that authoritative, democratic, affiliative, and coaching styles have “the best climate and business performance.” The other two styles, coercive and pacesetting, hurt the climate. I’m sure you all have worked with or for managers that employed these two negative styles, and you could not run away from them fast enough.
-
Three crucial skills that leaders must develop to become executives
Becoming a great executive requires a set of skills beyond what’s needed to be a leader. Executive skills are subtle and can be elusive to managers, demanding a great deal of focus, courage, and dedication. These skills include taking (almost irrational) career risk, learning to scale by trusting your team, and developing advanced soft skills. New skills are hard for leaders to develop simply because they’ve already found success, which makes them less motivated to make substantive skill shifts. But those who see change as a path to growth will ascend to top roles within an organization.
Ideally, your career will go through three acts. Act I is the “setup.” It’s where you transition from being an individual contributor to a leader. Act II is your transition from a leader to an executive. And Act III is where you start your second career, hopefully unconstrained by previous financial and personal needs.
most leaders, like clockwork, complete Act I roughly 10 to 15 years after they enter the workforce. Not everyone ends up as a leader, but those who rise to that level follow a pretty consistent timeline. Some start fast, lucky enough to land in a rapidly growing environment and be supported by a good manager and team, and are able to quickly move from learning a skill to mastering it
unlike in the first dozen years, career paths become highly inconsistent. Some people continue to rise, but most will stall or even decline. This is highly unintuitive, but in reviewing the careers of a myriad of leaders, I see he’s absolutely right
When you reach Act II, you’re comfortable and have a successful career. But to grow, you need new experiences, which likely means you need to change jobs. Change now takes courage and significant risk—you have more to lose than you had in Act I. So most prefer to avoid making big changes, resulting in fewer new challenges and much slower growth than they experienced in Act I.
Now fast-forward 10 to 15 years, after you’ve purchased your first or second home and you’ve established roots in that particular city. What will it take to move again? No doubt, we could always move again to a bigger, better home. But it’s more of a luxury than a necessity. So many people simply don’t do it, instead being content with staying the course, avoiding the pain and cost of moving, and focusing their energies elsewhere.
Getting things done in a workplace is some combination of what you know (“IQ,” or hard skills) and how to use your knowledge (“EQ,” or soft skills). Act I is where you build out functional expertise. For a software developer, it’s how to effectively write quality code, tackle more complex technical problems, work in a team, and eventually manage a group of individuals. For a product manager, it’s how to run a meeting, set goals and direction, drive accountability, and deliver useful products to end users.
to grow you must take risks and constantly put yourself in new, challenging, and increasingly ambiguous settings. Your current expertise will help navigate these new roads, but you’ll need to build new talents and adjust your existing skills to truly excel. Most leaders don’t have an intense desire to reinvent themselves—they’d prefer to continue pushing on the skills that made them a leader to begin with. But new challenges require new approaches that fit the new environment, not just replicating the past
The majority of my leadership coaching is to help people manage these anxieties and frustrations. These include:
- “I get nearly zero feedback so I feel like I don’t belong.”
- “The company simply doesn’t acknowledge my importance. It’s taking far too much time to get promoted, increase my compensation or my scope.”
- “I’m frustrated by how slow it takes to make things happen.” Or, “The bureaucracy around here is crippling.”
- “I just don’t understand my tenured co-workers. They just feel so stuck in their ways, unable to consider new ideas.” Or I hear, “These new people just have no sense of how things are done around here. They are impatient and shoot before they aim.”
With this added responsibility, at first you might just end up working harder and increasing your level of engagement. Up to this point, your success has mainly come from making good decisions and mastering the details. So naturally, as the problem space gets bigger, you increase focus and absorb more context. Sadly, there are only so many hours in a day and your capacity is finite. So on your path to becoming an executive, mastering each detail will hold you back. You’ll need to develop a new, crucial skill: building teams and trusting the people in them.
So to scale yourself, you will need to recruit leaders who can work and thrive under you, likely from outside the company. And you’ll need to learn to trust them, even when you don’t have full context. Leaders who are scaling learn:
- how to prioritize and be efficient with their time
- invest in finding and managing great people
- dive in at the right altitude
- how to make the right decisions by asking just the right questions
After reading the challenges that come with Act II, please don’t feel discouraged from pursuing an executive career path. If you are in Act I, do your best to recognize and pull forward the skills noted above. And if you are in Act II, realize that career growth will rapidly decelerate by default. To keep pace and continue to grow, you will need to aggressively seek new talents and skills.
- “I get nearly zero feedback so I feel like I don’t belong.”
-
Career Ladders for Tech, Open Sourced
Roles up to and including Senior, ladders are constructed around becoming the best at what one does that one might personally be.
At Staff level, the career expands to help others be successful with what you do and know, and scale yourself.
At Principal and beyond, you are trying to help others be the best that they can be, removing yourself and meeting others where they are.
-
Learning Speed: What Jeff Bezos, Elon Musk, And Bill Gates Know That Most People Don’t
Most people play popular games — games with predefined boundaries that are played in crowded sandboxes. Popular games are often those with the most short-term, concrete rewards. (..) Hidden games are played in sandboxes that people don’t even realize exist. Hidden games have a higher return, but they are more long-term and abstract.


Playing hidden games allows these innovators to walk to their own tune, to make incredible innovations, and to be camouflaged even when they are well known. (..) I associated speed with being hurried, working long hours, low quality work, and feeling overwhelmed. I was wrong. There was a lot of nuance I didn’t appreciate — nuance like the quote below offers. (..) As I dug deeper, I realized that speed isn’t fundamentally about “doing more” or “running faster.” Rather, it is more a way of thinking.
“Be quick, but don’t hurry.” — John Wooden
“For pretty much any technology whatsoever, the progress is a function of how many iterations do you have, and how much progress do you make between each iteration.” - Elon Musk
“Everybody must realize that if you don’t meet customer demand quickly enough, without sacrificing quality, a competitor will.” - Bill Gates
“The only way to win is to learn faster than everybody else.” - Eric Ries
Both learning speed and execution speed are important, but they’re often conflated with each other. This is a big deal. Execution speed is about getting more done by either putting in more resources or by operating more efficiently. Examples of execution speed include:
- Working a longer day
- Making decisions faster
- Finding a tool that helps you work faster
- Making sure people aren’t waiting on one another to move forward
- Removing a bottleneck in an assembly line
When most people think about speed, they’re really thinking about execution speed. This is why the idea of speed is associated with long hours and hurry. Learning speed is special in two ways:
- Higher leverage. You can 10x your learning speed through compounding and better learning techniques. At most, you can 2x how many hours you work.
- Fewer sacrifices. When you work too long, you sacrifice your health and relationships with friends and family.
You can increase your learning speed in several ways:
- Spending more time learning
- Learning knowledge that doesn’t become outdated so your knowledge compounds
- Finding breakthrough knowledge in a sea of info overwhelm
- Remembering what you learn so you can use it for the rest of your life
- Creating an experimentation engine so you can rapidly try new ideas without procrastinating and without taking on huge risk
- Systematically identifying and removing your blindspots
#1. The pace of life is increasing, and our pace needs to increase with it or we will be left behind
the rate of paradigm shift in the world is doubling every 10 years. This means that by 2040, the pace will be 4x what it is now. And in 100 years, it will be 1,024x what it is now.
When we are ahead of others, we are in demand, get promoted sooner, and can charge a premium. When we are behind others, we are the first to be let go.
As the world becomes more global and digital, tens of millions of people will realize that they are further behind than they realized and that catching up feels impossible. The solution is to increase your learning speed now and not wait until you are forced to.
#2. Being a little bit faster can be the difference between winning and losing
Being a little bit ahead vs being a little bit behind is the difference between winning and losing. Therefore, be proactive rather than reactive.
#3. Little gains compound into huge gains
Speed matters because small gains often compound into large gains over time. (..) You can think of speed as being the first to release a minimum viable product to a market or to have a new skill that is really valuable to your employer. This is the first-mover advantage. You can also think of it as how quickly you iterate based on feedback from the market. This is the fastest-iterator advantage.
#4. Speed is the underdog’s #1 weapon
The fact that a startup can disrupt a huge company is startling when you think about it. The big company has tens of thousands of the world’s smartest employees, billions of dollars in profit, and a global reputation.
- Changing markets create new customer needs. In other words, customers are always open to a better mousetrap.
- New technologies create new ways of meeting those needs. Because those technologies are new, individuals who go all-in early can rapidly become world experts.
- Startups don’t have sunk costs, and they can rethink how to solve a new customer need from scratch. Then, they can go all-in on the solution and “burn their boats.” For startups, getting the new idea to work is existential, whereas it isn’t for the large company.
- Finally, startups can iterate faster than larger companies. Large companies have multiple layers of approvals and have a brand to protect.
#5. The best career opportunities are often time-bound
- Tool adoption. If you’re the first to adopt a game-changing technology in your industry or position, you can use that to stand apart.
- Investment opportunities. The earlier you get in on a great investment opportunity, the larger the return.
- Cultural shifts. The sooner you realize an important cultural trend, the more you are seen as a pioneer rather than as out-of-touch.
- Startup opportunities. Bill Gross runs both the longest running technology incubator and also one of the most successful. Of the 150 companies they’ve started, an amazing 45 have gone public. In 2015, Gross did an in-depth analysis to try and understand what separated the winners from the losers. He looked at teams, markets, ideas, funding, business models, and timing. Amazingly, he found that timing was the #1 key.
- Social media. When a new social media platform gains traction, new users tend to be looking for people to follow. Furthermore, it is easier to get engagement. As time passes, users start to unfollow more than they follow, because they feel info overwhelm. Also, as the platform monetizes, it reduces organic engagement and offers more and more traffic on a paid basis.
- Skills. When a new skill suddenly becomes in demand, there is a shortage of workers to fill that demand. As a result, employees can earn a premium for having that skill. For example, at one point, programmers with experience with autonomous vehicles were worth over $1 million dollars per year to their companies.
Speed is great in theory, but it’s difficult in practice.
On the one hand, if we keep on top of all the latest tools, skills, social media platforms, and investment opportunities, we can quickly become overwhelmed with no time to do our core work. Furthermore, many of the changes we track won’t end up panning out.
If we are too late, we will miss out on the best opportunities. We also risk being considered out of touch. There is one rule that has helped me find the balance between the two poles in my own life. I call it the Hockey Stick Rule. When I see something grow exponentially in the shape of a hockey stick, (..) at the very least I immediately devote 10 hours to truly understanding it before passing judgement on it. This approach helps me understand what’s happening without getting overwhelmed.
2020
-
5 second feedback
- Ask (“Can I give you some feedback?”)
- State the behavior (“When you X…”)
- State the impact (“…the result is Y.”)
- Encourage effective future behavior (“Keep it up!” for positive feedback or “Can you change that?” for negative feedback)
- Are you angry? If so, don’t give the feedback.
- Are you focused on the past instead of the future (i.e., reminding them about something they did wrong or punishing them)? If so, don’t give the feedback.
- Are you able to let it go? If not, don’t give the feedback. In other words, if you can’t let it go in terms of how you feel, you shouldlet it go by not giving negative feedback. If you feel an urge to deliver feedback, you’re probably doing it for the wrong reasons.
-
Ask HN: Moving from a startup to a big co, what should I be aware of? | Hacker News
do I put in 40% to get 90% completed, or do I put in 150% to get 99% completed?
- How to achieve career growth: opportunities, skills & sponsors - Blog by Damian Schenkelman
-
Mental Wealth
• When it comes to mental health, our society approaches it like we did with physical health 50 years ago. We only think about it when something goes wrong.
• To the wider public, mental health is synonymous with mental illness. Our notion of physical health is, however, very different than our notion of physical illness.
• We might benefit from approaching mental health like we invest in anything else in our lives (finances, relationships, careers, physical health, etc), where one builds wealth in this area by continuous, conscious investment.
• Estimates say that 83% of us will be hit with a mental health crisis in our lives, we can all make the choices to invest wisely in this area to improve our ‘mental durability’ to deal with it properly.
• In my 19 years of paying close attention to mental health, my experience has taught me that there are five foundations towards a concept I will call ‘mental wealth’ — sleep, diet, exercise, stress management, and exogenous compounds (anything from coffee to alcohol to prescription medication)
-
Testing Strategies in a Microservice Architecture
① Write as few end-to-end tests as possible
② Focus on personas and user journeys
③ Choose your ends wisely
④ Rely on infrastructure-as-code for repeatability
⑤ Make tests data-independent
- Spotify’s Failed #SquadGoals
-
Why efficiency is dangerous and slowing down makes life better | Psyche Ideas
Economists teach us that increased efficiency is the major way to improve our standard of living. If your company gives you a pay rise without becoming more efficient, it will also have to raise its prices to make up the shortfall. If all companies do the same, everyone ends up running in place – you’ll need your higher wages to match the higher prices of the things you buy. So, if we want to make material progress, we must become more efficient. Streamlined supply chains, just-in-time deliveries and no slack in the workforce all serve to raise efficiency. Achieve this, and all our lives will get better and better, or so we’re promised.
-
The Light Triad vs. Dark Triad of Personality
The dark triad has already been well-studied. (…) the dark triad of personality consists of narcissism (entitled self-importance), Machiavellianism (strategic exploitation and deceit) and psychopathy (callousness and cynicism). While these three traits had traditionally been studied mostly among clinical populations (…) each of these traits are clearly on a continuum—we are all at least a little bit narcissistic, Machiavellian and psychopathic.
To our surprise, three distinct factors emerged from our studies, which we labeled: Kantianism (treating people as ends unto themselves, not mere means), Humanism (valuing the dignity and worth of each individual) and Faith in Humanity (believing in the fundamental goodness of humans)
(…) dark triad was positively correlated with being younger, being male, being motivated by power, instrumental sex, achievement and affiliation (but not intimacy), having self-enhancement values, immature defense styles, conspicuous consumption, selfishness and viewing their creative work and religious immortality as routes to death transcendence. The dark triad was negatively correlated with life satisfaction, conscientiousness, agreeableness, self-transcendent values, compassion, empathy, a quiet ego, a belief that humans are good and a belief that one’s own self is good.
The dark triad also showed positive correlations with a variety of variables that could facilitate one’s more agentic-related goals. For instance, the dark triad was positively correlated with utilitarian moral judgment and the strengths of creativity, bravery and leadership, as well as assertiveness, in addition to motives for power, achievement and self-enhancement. Also, an unexpected correlation between the dark triad and curiosity was found, which was localized primarily to the embracing (“I like to do things that are a little frightening,” “I prefer jobs that are excitingly unpredictable”) and deprivation (“It disturbs me when I don’t understand a solution,” “It bothers me if I don’t know a word”) forms of curiosity.
In stark contrast, the overall picture provided by the pattern of correlations with the light triad was quite different than the dark triad. The light triad was associated with being older, being female, less childhood unpredictability, as well as higher levels of religiosity, spirituality, life satisfaction, acceptance of others, belief that others are good, belief that one’s self is good, compassion, empathy, openness to experience, conscientiousness, positive enthusiasm, having a quiet ego and a belief that one can live on through nature and biosociality (having children) after one’s personal death.
Individuals scoring higher on the Light Triad Scale also reported more satisfaction with their relationships, competence and autonomy, and they also reported higher levels of secure attachment style and eros in their relationships. In general, the light triad was related to being primarily motivated by intimacy and self-transcendent values. Many character strengths correlated with the light triad, including curiosity, perspective, zest, love, kindness, teamwork, forgiveness and gratitude.
Additionally, in line with our predictions, the light triad was related to greater interpersonal guilt—including survivor (“I sometimes feel I don’t deserve the happiness I achieved”), separation (“It makes me anxious to be away from home for too long”) and omnipotent responsibility (“I worry a lot about the people I love even when they seem to be fine”) forms of guilt. While it may be adaptive to experience these forms of interpersonal guilt for facilitating relationships and repairing damage in a relationship, these forms of guilt may limit one’s ambitions for fear of succeeding while others remain less successful.
-
Written communication is remote work super power
When everyone is expected to be available at any point, the cost of interrupting someone and getting an immediate answer is lower than looking for an answer yourself.
Planning is another culprit. Most people will not go through proper in-depth planning for their tasks ahead of time. They’ll prefer to define the end goal, and discover issues and details as they go. They know they will never get stuck, people will answer their questions on time.
This creates a culture of interruptions in the organization. It feeds itself so deeply, that the organization can’t really operate without interruption. Since the organization as a whole is dependent on that, it becomes part of the culture. Once you have culture of interruptions, even the best communicator in the world will not be able to change it.
Work time flexibility will be broken too. Since everyone is dependent on everyone else to be available for interruptions within the work day, you have a work day.
You must be in sync about your work day times with everyone else. You therefore give up the ability for real work time flexibility.
Working from home and dreaming on picking up your children at noon, hangout with them and get back to some work later in the night? Forget about it. You will get stuck on something very quickly and no one will be there for you. Not to mention you will get your colleagues stuck as you won’t answer their questions on the afternoon.
Writing intentionally for asynchronous communication can solve all the issues mentioned above. Async writing is different from chat messages. It lives longer, targets more potential audience and is easy to discover.
To live longer, the text needs to be aware of a larger reader group context. Where chats often consider just one/two readers that have the context to understand what you talk about, the long live text should consider entire group of potential readers. Now, and at some point in the future.
Async communication allows for self discovery without interruptions:
- You can keep on your flow without waiting for someone to give you details
- You can get into “deep focus” session without context switching that allows for better productivity
- You can work whenever, since you are not dependent on anyone immediately
-
50 Ideas That Changed My Life — David Perell
Inversion: Avoiding stupidity is easier than trying to be brilliant. Instead of asking, “How can I help my company?” you should ask, “What’s hurting my company the most and how can I avoid it?” Identify obvious failure points, and steer clear of them.
Theory of Constraints: A system is only as strong as its weakest point. Focus on the bottleneck. Counterintuitively, if you break down the entire system and optimize each component individually, you’ll lower the effectiveness of the system. Optimize the entire system instead.
Preference Falsification: People lie about their true opinions and conform to socially acceptable preferences instead. In private they’ll say one thing. In public, they’ll say another.
Mimetic Theory of Desire: Humans are like sheep. We don’t know what we want, so we imitate each other. Instead of creating our own desires, we desire the same things as other people. The entire advertising industry is built on this idea.
Talent vs. Genius: Society is good at training talent but terrible at cultivating genius. Talented people are good at hitting targets others can’t hit, but geniuses find targets others can’t see. They are opposite modes of excellence. Talent is predictable, genius is unpredictable.
Competition is for Losers: Avoid competition. Stop copying what everybody else is doing. If you work at a for-profit company, work on problems that would not otherwise be solved. If you’re at a non-profit, fix unpopular problems. Life is easier when you don’t compete. (Hint: don’t start another bottled water company).
Russell Conjugation: Journalists often change the meaning of a sentence by replacing one word with a synonym that implies a different meaning. For example, the same person can support an estate tax but oppose a death tax — even though they are the same thing.
Opportunity Cost: By reading this tweet, you are choosing not to read something else. Everything we do is like this. Doing one thing requires giving up another. Whenever you explicitly choose to do one thing, you implicitly choose not to do another thing.
Planck’s Principle: Science doesn’t progress because people change their views. Rather, each new generation of scientists has different views. As old generations pass away, new ideas are accepted and the scientific consensus changes.
Bike-Shed Effect: A group of people working on a project will fight over the most trivial ideas. They’ll ignore what’s complicated. They’ll focus too much on easy-to-understand ideas at the expense of important, but hard to talk about ideas. For example, instead of approving plans for a complicated spaceship, the team would argue over the color of the astronaut’s uniforms.
Table Selection: This idea comes from poker, where you’re advised to choose your opponents carefully. That means you shouldn’t compete against the best people. You don’t need to get good at doing difficult things if you get good at avoiding difficult things. If you want to win, pick an easy table and nail your execution.
Goodhart’s Law: When a measure becomes a target, it ceases to be a good measure. One hospital took too long to admit patients so a penalty was given for 4+ hour wait times. In response, ambulance drivers were asked to slow down so they could shorten wait times.
Gall’s Law: A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.
Hock Principle: Simple, clear purpose and principles give rise to complex and intelligent behavior. Complex rules and regulations give rise to simple and stupid behavior.
The Second Law of Thermodynamics: The world tends towards disorder. That’s why your room becomes messier and messier over time. It’s also why an engine converts only ~35% of its energy into useful work. Time moves towards increasing one direction: increasing entropy.
The Paradox of Specificity: Focus isn’t as constraining as it seems. In the age of the Internet, when everybody has Google search and personalized social media feeds, differentiation is free marketing. The more specific your goal, the more opportunities you’ll create for yourself. Narrowing your aperture can expand your horizons.
Occam’s Razor: If there are multiple explanations for why something happened and they are equally persuasive, assume the simplest one is true. In the search for truth, remove unnecessary assumptions. Trust the lowest-complexity answer.
Hormesis: A low dose of something can have the opposite effect of a high dose. A little bit of stress wakes you up, but a lot of stress is bad for you. Lifting weights for 30 minutes per day is good for you, but lifting weights for 6 hours per day will destroy your muscles. Stress yourself, but not too much.
Horseshoe Theory: Extreme opposites tend to look the same. For example, a far-right movement and a far-left movement can be equally violent or desire a similar outcome. People on both sides are more similar to each other than they are to people in the center.
Creativity Begins at the Edge: Change starts away from the spotlight. Then, it moves towards the center. That’s why the most interesting ideas at a conference never come from the main stage. They come from the hallways and the bar after sunset
The Paradox of Consensus: Under ancient Jewish law, if a suspect was found guilty by every judge, they were deemed innocent. Too much agreement implied a systemic error in the judicial process. Unanimous agreement sometimes leads to bad decisions.
Convexity: If you want to be lucky, look for opportunities with big upsides and low downsides. In addition to increased optionality, your errors will benefit you more than they harm you. Convex payoffs let you tinker your way to success and innovation.
The Go-For-It Window: Large gaps between accelerating technologies and stagnating social norms create lucrative new business opportunities. But they are only available for a short time when people can capitalize on the difference between the real and perceived state of the world. For example, 2007 was the perfect time to launch the iPhone, but Google Glasses launched too early.
Via Negativa: When we have a problem, our natural instinct is to add a new habit or purchase a fix. But sometimes, you can improve your life by taking things away. For example, the foods you avoid are more important than the foods you eat.
-
5 Engineering Manager Archetypes - patkua.com
View the role of the Engineering Manager as one of five different archetypes: The Tech Lead EM, Team Lead EM, Delivery EM, Product EM and the Lead of Leads EM.
You find the previous four archetypes at a team level, leading a group of 3-8 people. What makes this 5th archetype different is that they lead a much larger group of 9-30 people. The larger the group size, the less sustainable it is for one person to lead individuals and manage work. Thus the Lead of Leads EM leads a group of people, each themselves acting in a leadership role.
The Lead of Leads EM appears more often in larger organisations with a focus on maximising the effectiveness of a group of teams.
The Lead of Leads EM is an evolution of one of the other EM archetypes. Yet it is still often labelled as an “Engineering Manager”. This archetype requires more experience and owns a greater set of responsibilities. Some organisations use a different name for this archetype. Some may use the title “Senior Engineering Manager” or “Head of Engineering.”
The Lead of Leads EM archetype requires the added ability to lead other leaders. This is a significantly different skill set from leading individual contributors. Leading other leaders demands a broader understanding of different leadership styles. It also means a person must adapt their own leadership style in response. Successful Lead of Leads EMs first built their skills leading at a team level before transitioning to this archetype.
-
The Definition of a Tech Lead - patkua.com
A Tech Lead is a software engineer responsible for leading a team and alignment of the technical direction. Providing a strong technical direction involves establishing a technical vision, resolving technical disagreements and managing the technical quality of team deliverables. Effective technical leadership ensures the team uses appropriate engineering practices (such as CD or automated testing), invests in continual improvements to tooling or technical debt, and that the system evolves to meet its changing needs and environment.
-
Production Oriented Development
1. Engineers should operate their code
Engineers are the subject matter experts for the code they write and should be responsible for operating it in production. In this context, “operating” means deploying, instrumenting, and monitoring code as well as helping to resolve incidents related to or impacting that code.
2. Buy Almost Always Beats Build
If you can avoid building something, you should. Code is the most expensive way to solve a problem that isn’t addressing a core area of your business. For most small to mid-sized companies, there are open source or better yet, hosted solutions that solve a wide range of common problems.
3. Make Deploys Easy
Deploying should be a frequent and unexciting activity. Engineers should be able to deploy with minimal manual steps and it should be easy to see if the deploy is successful (this requires instrumenting your code for observability, which - tada - is covered above), and it should be easy to roll back a deploy if something doesn’t go well. Deploying frequently implies that deploys are smaller, and smaller deploys are generally easier, faster and safer.
4. Trust the People Closest to the Knives
The people who work with a system are the ones who understand it best. This applies to any part of the socio-technical systems within which we all work. In the case of software systems, the engineers who deploy every day and are on-call for critical services understand the level of risk they operate in.
5. QA Gates Make Quality Worse
Many teams have a manual QA step that gets performed before deploys. The idea, I guess, is to have someone run automated or manual tests to verify that a set of changes are ready to be released. This sounds like a comforting idea - having a human being (or team of human beings) “verify” a release before it goes out - but it falls victim to several false assumptions and creates some misalignments that do more harm than good.
Luckily, solving this one is easy. Instead of having a dedicated QA team work on creating manual and automated test cases that run in a fictitious QA environment, reassign that team to work on continuous testing in production. Instead of being a gate for deploys, a QA team could continuously verify that production is working as expected. QA teams are also well situated to lead Chaos Engineering initiatives, where faults are intentionally injected in production. QA engineers could also work on making the CI/CD pipeline more reliable, so that deploys are no longer a nightmare.
6. Boring Technology is Great.
With thanks to Dan McKinley, always strive for boring tech when possible. Systems are inherently unpredictable, and you want a wide area of expertise to fall back on when shit goes sideways. There are also routine operations that you’ll have to do (deploys, database migrations, etc) and it’s Very Nice to have widely used and tested tooling for this stuff. I think of databases most often when I think about this belief. MySQL is a database with many, many quirks, but it is so widely used, that you should still just use it most of the time.
Very few organizations have the bandwidth to debug unique problems. You don’t want unique problems, especially when performing routine operations - i.e. storing bytes on disk, choosing a new leader in a cluster, garbage collecting objects, querying time-series data, etc. Having unique problems will kill a small to medium size team. It will sap you of your creative energy, which is better used creating value for customers who want to pay you monies for your software. Use your innovation tokens wisely!
7. Simple Always Wins
I don’t have much to say about this, but we’re all writing YAML and JSON instead of XML and we’re all using HTTP instead of CORBA, RMI, DCOM, XPCOM, etc. Right? In that same spirit, I’d rather debug problems in a LAMP stack than a Microservices architecture any day.
Quick sidebar on Microservices: as with so many trends in tech, they are often sold as a panacea. Let me be clear: Microservices, designed well, solve some specific problems and as with most solutions to complex problems, involve several trade-offs.
8. Non-Production Environments Have Diminishing Returns
A more direct heading for this section would be “Non-Production Environments are Bullshit”. Environments like staging or pre-prod are a fucking lie.
9. Things Will Always Break
It’s impossible, even undesirable, to avoid failure. Lean into the fact that failure is inevitable, and focus on how you respond to it.
-
Don’t Let Perfection Be the Enemy of Productivity
Productivity isn’t about getting more done. It’s about what you get done.
1. You’re reluctant to designate decisions as “unimportant.”
But perfectionists have a hard time designating decisions as unimportant. They like to be in control of everything. Why? Because imperfections bother them more than they do other people.
Try using heuristics to quickly decide or delegate with the expectation that you will get much faster and pretty good decisions overall but not perfect ones.
2. You feel morally obligated to overdeliver.
Let’s say someone offers to pay you $1,000 for a service. If you’re a perfectionist, providing $1,000 of value might not seem like enough. You might think that you need to give what your competitors would charge $1,500 for because you want to outperform. You think: “If I don’t overdeliver, I’m underdelivering.”
Understand what it’s costing you to always aim for outperformance. What else don’t you have time, energy, attention, and willpower for? Perhaps your own health, your big goals, or your family. If you assess that the costs are significant, try having a rule of thumb for when you’ll overdeliver. For instance, you might decide that in three out of ten situations in which you have the urge to do so, you will, but not in the other seven.
3. You get excessively annoyed when you aren’t 100% consistent with good habits.
When perfectionists want to adopt new habits, they tend to fall into one of three categories. They bite off more than they can chew and their plans are too onerous to manage; they avoid starting any habit unless they’re 100% sure they can hit their goal everyday, which leads to procrastination; or they take on only those habits that they can stick to no matter what.
Have a mechanism in place for checking that you’re not sticking to a habit just because you’re worshiping at the altar of self-discipline.
Perfectionism is often driven by striving for excellence, but it can be self-sabotaging if it leads to suboptimal behavior like continuing habits beyond their usefulness, overdelivering when you don’t have to, or overthinking every decision you make.
-
What do executives do, anyway?
(…) the job of an executive is: to define and enforce culture and values for their whole organization, and to ratify good decisions.That’s all.Not to decide. Not to break ties. Not to set strategy. Not to be the expert on every, or any topic. Just to sit in the room while the right people make good decisions in alignment with their values. And if they do, to endorse it. And if they don’t, to send them back to try again.
If the decision is already made before the meeting, why do we need the meeting? Because the right decision might not happen without the existence of that meeting. The executive gives formal weight to a major decision. The executive holds the two disagreeing leads responsible: they must figure out not what’s best for them, but what’s best for the company.
If the executive makes their own decisions and forces them downstream: the executive doesn’t have enough information to make good decisions in detail, so the decision won’t be optimal. And there won’t be much buy-in from people downstream
If the executive chooses not to be involved in conflicts that are “not important enough; you figure it out”: political power games ensue. Whoever can force their way will win, killing morale
If the executive accepts escalations, then tries to make a tie-breaker decision: non-optimal decisions get made, because again the executive is, out of the three people, the least qualified to decide
If the executive brings in more people to discuss the issue: this is something the two leads should have done already. If they didn’t, they are failing at their job, and need to learn how to do it better. Step one is the executive sends them a message: “Go back. Include these additional people/groups in your decision. Come back when you’ve thought it through properly.”
in a large organization, executives don’t set strategy. Not even the CEO sets strategy. Why? Because it’s an illusion to believe you can enforce a strategy. (…) if the person at the top is trying to “set a strategy” by making operational decisions, those decisions will be based on insufficient facts, because there are simply far too many facts for one person. That means, if your decisions should be based on facts, you will make worse decisions than your subordinates.
What executives need to do is come up with organizational values that indirectly result in the strategy they want. (…) If one of your values is to make the tools that run faster and smoother, your employees will probably make less bloatware and you’ll probably hire different employees than if your values are to scale fast and capture the most customers in the shortest time.
If your old strategy is failing, you can’t fix the company by just declaring a new strategy. You do it by declaring new values. Then you enforce those values. And that’s going to make a lot of people very upset. (If you do this too often, you deserve what you get.)
-
Why to Start a Startup in a Bad Economy
(…) a recession may not be such a bad time to start a startup. I’m not claiming it’s a particularly good time either. The truth is more boring: the state of the economy doesn’t matter much either way.
If we’ve learned one thing from funding so many startups, it’s that they succeed or fail based on the qualities of the founders. The economy has some effect, certainly, but as a predictor of success it’s rounding error compared to the founders.Technology progresses more or less independently of the stock market. So for any given idea, the payoff for acting fast in a bad economy will be higher than for waiting. Microsoft’s first product was a Basic interpreter for the Altair. That was exactly what the world needed in 1975, but if Gates and Allen had decided to wait a few years, it would have been too late.
Everyone knows you’re supposed to buy when times are bad and sell when times are good. But of course what makes investing so counterintuitive is that in equity markets, good times are defined as everyone thinking it’s time to buy. You have to be a contrarian to be correct, and by definition only a minority of investors can be.
Fortunately the way to make a startup recession-proof is to do exactly what you should do anyway: run it as cheaply as possible. For years I’ve been telling founders that the surest route to success is to be the cockroaches of the corporate world. The immediate cause of death in a startup is always running out of money. So the cheaper your company is to operate, the harder it is to kill. And fortunately it has gotten very cheap to run a startup. A recession will if anything make it cheaper still.
What if you quit your job to start a startup that fails, and you can’t find another? That could be a problem if you work in sales or marketing. In those fields it can take months to find a new job in a bad economy. But hackers seem to be more liquid. Good hackers can always get some kind of job. It might not be your dream job, but you’re not going to starve.
Another advantage of bad times is that there’s less competition. Technology trains leave the station at regular intervals. If everyone else is cowering in a corner, you may have a whole car to yourself.
So maybe a recession is a good time to start a startup. It’s hard to say whether advantages like lack of competition outweigh disadvantages like reluctant investors. But it doesn’t matter much either way. It’s the people that matter. And for a given set of people working on a given technology, the time to act is always now.
-
Don't Call Yourself A Programmer, And Other Career Advice | Kalzumeus Software
90% of programming jobs are in creating Line of Business software: Economics 101: the price for anything (including you) is a function of the supply of it and demand for it.
Software solves business problems. Software often solves business problems despite being soul-crushingly boring and of minimal technical complexity. (..) It does not matter to the company that the reporting form is the world’s simplest CRUD app, it only matters that it either saves the company costs or generates additional revenue.
There are companies which create software which actually gets used by customers, which describes almost everything that you probably think of when you think of software. It is unlikely that you will work at one unless you work towards making this happen. Even if you actually work at one, many of the programmers there do not work on customer-facing software, either.Engineers are hired to create business value, not to program things: Businesses do things for irrational and political reasons all the time (see below), but in the main they converge on doing things which increase revenue or reduce costs. Status (..) is awarded to people who successfully take credit for doing one of these things.
The person who has decided to bring on one more engineer is not doing it because they love having a geek around the room, they are doing it because adding the geek allows them to complete a project (or projects) which will add revenue or decrease costs. Producing beautiful software is not a goal. Solving complex technical problems is not a goal. Writing bug-free code is not a goal. Using sexy programming languages is not a goal. Add revenue. Reduce costs. Those are your only goals.
Profit Centers are the part of an organization that bring in the bacon: partners at law firms, sales at enterprise software companies, “masters of the universe” on Wall Street, etc etc. Cost Centers are, well, everybody else. You really want to be attached to Profit Centers because it will bring you higher wages, more respect, and greater opportunities for everything of value to you.
Engineers in particular are usually very highly paid Cost Centers. This is what brings us wonderful ideas like outsourcing, which is “Let’s replace really expensive Cost Centers who do some magic which we kinda need but don’t really care about with less expensive Cost Centers in a lower wage country”. (..) Nobody ever outsources Profit Centers.
Don’t call yourself a programmer: “Programmer” sounds like “anomalously high-cost peon who types some mumbo-jumbo into some other mumbo-jumbo.” If you call yourself a programmer, someone is already working on a way to get you fired.
You know Salesforce, widely perceived among engineers to be a Software as a Services company? Their motto and sales point is “No Software”, which conveys to their actual customers “You know those programmers you have working on your internal systems? If you used Salesforce, you could fire half of them and pocket part of the difference in your bonus.” (There’s nothing wrong with this, by the way. You’re in the business of unemploying people. If you think that is unfair, go back to school and study something that doesn’t matter.)
Instead, describe yourself by what you have accomplished for previously employers vis-a-vis increasing revenues or reducing costs. If you have not had the opportunity to do this yet, describe things which suggest you have the ability to increase revenue or reduce costs, or ideas to do so.
Similarly, even though you might think Google sounds like a programmer-friendly company, there are programmers and then there’s the people who are closely tied to 1% improvements in AdWords click-through rates.
Do Java programmers make more money than .NET programmers? Anyone describing themselves as either a Java programmer or .NET programmer has already lost, because a) they’re a programmer (you’re not, see above) and b) they’re making themselves non-hireable for most programming jobs.
Talented engineers are rare — vastly rarer than opportunities to use them — and it is a seller’s market for talent right now in almost every facet of the field. Everybody at Matasano uses Ruby. If you don’t, but are a good engineer, they’ll hire you anyway. (A good engineer has a track record of — repeat after me — increasing revenue or decreasing costs.) Much of Fog Creek uses the Microsoft Stack. I can’t even spell ASP.NET and they’d still hire me.
There are companies with broken HR policies where lack of a buzzword means you won’t be selected. You don’t want to work for them, but if you really do, you can add the relevant buzzword to your resume. (..)
Co-workers and bosses are not usually your friends: You will spend a lot of time with co-workers. You may eventually become close friends with some of them (..) You should be a good person to everyone you meet — it is the moral thing to do, and as a sidenote will really help your networking
You radically overestimate the average skill of the competition because of the crowd you hang around with: Many people already successfully employed as senior engineers cannot actually implement FizzBuzz. Key takeaway: you probably are good enough to work at that company you think you’re not good enough for.
Networking: it isn’t just for TCP packets: Networking just means a) meeting people who at some point can do things for you (or vice versa) and b) making a favorable impression on them.
Strive to help people. It is the right thing to do, and people are keenly aware of who have in the past given them or theirs favors. If you ever can’t help someone but know someone who can, pass them to the appropriate person with a recommendation. If you do this right, two people will be happy with you and favorably disposed to helping you out in the future.
Academia is not like the real world: Your GPA largely doesn’t matter (modulo one high profile exception: a multinational advertising firm). (..) it only determines whether your resume gets selected for job interviews.
Your major and minor don’t matter. Most decisionmakers in industry couldn’t tell the difference between a major in Computer Science and a major in Mathematics if they tried.
In general, big companies pay more (money, benefits, etc) than startups. Engineers with high perceived value make more than those with low perceived value. Senior engineers make more than junior engineers. People working in high-cost areas make more than people in low-cost areas. People who are skilled in negotiation make more than those who are not.
We have strong cultural training to not ask about salary, ever. This is not universal. In many cultures, professional contexts are a perfectly appropriate time to discuss money. (If you were a middle class Japanese man, you could reasonably be expected to reveal your exact salary to a 2nd date, anyone from your soccer club, or the guy who makes your sushi.)
If I were a Marxist academic or a conspiracy theorist, I might think that this bit of middle class American culture was specifically engineered to be in the interests of employers and against the interests of employees. Prior to a discussion of salary at any particular target employer, you should speak to someone who works there in a similar situation and ask about the salary range for the position.
Engineers are routinely offered a suite of benefits. It is worth worrying, in the United States, about health insurance (traditionally, you get it and your employer foots most or all of the costs) and your retirement program, which is some variant of “we will match contributions to your 401k up to X% of salary.” The value of that is easy to calculate: X% of salary. (It is free money, so always max out your IRA up to the employer match. Put it in index funds and forget about it for 40 years.)
How do I become better at negotiation? This could be a post in itself. Short version:
a) Remember you’re selling the solution to a business need (raise revenue or decrease costs) rather than programming skill or your beautiful face.
b) Negotiate aggressively with appropriate confidence, like the ethical professional you are. It is what your counterparty is probably doing. You’re aiming for a mutual beneficial offer, not for saying Yes every time they say something.
c) “What is your previous salary?” is employer-speak for “Please give me reasons to pay you less money.” Answer appropriately.
d) Always have a counteroffer. Be comfortable counteroffering around axes you care about other than money. If they can’t go higher on salary then talk about vacation instead.
e) The only time to ever discuss salary is after you have reached agreement in principle that they will hire you if you can strike a mutually beneficial deal. This is late in the process after they have invested a lot of time and money in you, specifically, not at the interview.
f) Read a book. Many have been written about negotiation. I like Getting To YesWorking at a startup, you tend to meet people doing startups. Most of them will not be able to hire you in two years. Working at a large corporation, you tend to meet other people in large corporations in your area. Many of them either will be able to hire you or will have the ear of someone able to hire you in two years.
Working in a startup is a career path but, more than that, it is a lifestyle choice. This is similar to working in investment banking or academia. Those are three very different lifestyles. Many people will attempt to sell you those lifestyles as being in your interests, for their own reasons. If you genuinely would enjoy that lifestyle, go nuts. If you only enjoy certain bits of it, remember that many things are available a la carte if you really want them. For example, if you want to work on cutting-edge technology but also want to see your kids at 5:30 PM, you can work on cutting-edge technology at many, many, many megacorps.
Your most important professional skill is communication: Remember engineers are not hired to create programs and how they are hired to create business value? The dominant quality which gets you jobs is the ability to give people the perception that you will create value. This is not necessarily coextensive with ability to create value.
Some of the best programmers I know are pathologically incapable of carrying on a conversation. People disproportionately a) wouldn’t want to work with them or b) will underestimate their value-creation ability because they gain insight into that ability through conversation and the person just doesn’t implement that protocol
Conversely, people routinely assume that I am among the best programmers they know entirely because a) there exists observable evidence that I can program and b) I write and speak really, really well.
Communication is a skill. Practice it: you will get better. One key sub-skill is being able to quickly, concisely, and confidently explain how you create value to someone who is not an expert in your field and who does not have a priori reasons to love you.
All business decisions are ultimately made by one or a handful of multi-cellular organisms closely related to chimpanzees, not by rules or by algorithms: People are people. Social grooming is a really important skill. People will often back suggestions by friends because they are friends, even when other suggestions might actually be better. People will often be favoritably disposed to people they have broken bread with.
Actual grooming is at least moderately important, too, because people are hilariously easy to hack by expedients such as dressing appropriately for the situation, maintaining a professional appearance, speaking in a confident tone of voice, etc. Your business suit will probably cost about as much as a computer monitor. You only need it once in a blue moon, but when you need it you’ll be really, really, really glad that you have it.
At the end of the day, your life happiness will not be dominated by your career. Either talk to older people or trust the social scientists who have: family, faith, hobbies, etc etc generally swamp career achievements and money in terms of things which actually produce happiness. Optimize appropriately. Your career is important, and right now it might seem like the most important thing in your life, but odds are that is not what you’ll believe forever. Work to live, don’t live to work.
-
Monoliths are the future
And then what they end up doing is creating 50 deployables, but it’s really a distributed monolith. So it’s actually the same thing, but instead of function calls and class instantiation, they’re initiating things and throwing it over a network and hoping that it comes back. And since they can’t reliably make it come back, they introduce things like Prometheus, OpenTracing, all of this stuff
-
Radical Candor: Software Edition
Radical Candor is about giving guidance that’s kind and clear, specific and sincere. To achieve this goal you must care personally and challenge directly.
Being human, we have feelings. And those feelings affect our work. Some cultures might view emotions as an unprofessional design flaw, but truly — it’s not. It’s part of the package.
Ignoring the human feelings part of the equation leads to unhappiness. Unhappiness leads to alienation and cynicism. Alienation and cynicism lead to bad results and attrition.
We all try to avoid saying things that are uncomfortable. Some cultures more than others, perhaps, but everyone will try to avoid awkward and difficult conversations. If we do manage to pluck up the courage to give some tough feedback, we will try and sugar coat it in a way that will soften the blow.
Radical Candor is the quadrant we’re aiming to be in: where you care personally and challenge directly. You have taken the time to establish that you care, understand the person in front of you, and give them clear and actionable feedback. They might still get hurt or feel awkward receiving feedback, but are likely to appreciate it and modify their behavior accordingly.
If I had to summarize Radical Candor in two sentences, I would say: Radical Candor is not about telling the truth no matter what. Radical Candor is about building relationships where the truth is welcome in order to get better quality results and improve personally.
Let me tell you: when there are people involved, it’s never “just a code review”.
-
Kids’ Video Game Obsession Isn’t Really About Video Games. It’s About Unmet Psychological Needs. - Nir Eyal - Pocket
Fortnite, like any well-designed video game, satisfies what we are all looking for. According to Drs. Edward Deci and Richard Ryan, people need three things to flourish. We look for competence — the need for mastery, progression, achievement, and growth. We need autonomy — the need for volition and freedom of control over our choice. And finally, we strive for relatedness — the need to feel like we matter to others and that others matter to us. Unfortunately, when considering the state of modern childhood, many kids aren’t getting enough of these three essential elements.
2019
-
WeWork and Counterfeit Capitalism
WeWork describes itself as offering the ‘“space-as-a-service” membership model that offers the benefits of a collaborative culture, the flexibility to scale workspace up and down as needed and the power of a worldwide community, all for a lower cost.” In other words, the company sublets office space.
Generally speaking, Softbank’s model is to manipulate private capital markets as a way of drowning out competitors with cash. For instance, there were several ‘rounds’ of WeWork investment where Softbank was buying more shares at higher valuations. WeWork ostensibly became more valuable because Son said it was more valuable, and bought shares for higher prices. And since there was no public market for these shares, the pricing of the shares was totally arbitrary. WeWork then used this cash to underprice competitors in the co-working space market, hoping to be able to profit later once it had a strong market position in real estate subletting or ancillary businesses.
This is of course Amazon’s model, which underpriced competitors in retail and eventually came to control the whole market. And Amazon has spawned a host of imitators, including WeWork. It has also reshaped venture investing. The goal of Son, and increasingly most large financiers in private equity and venture capital, is to find big markets and then dump capital into one player in such a market who can underprice until he becomes the dominant remaining actor. In this manner, financiers can help kill all competition, with the idea of profiting later on via the surviving monopoly.
Engaging in such a strategy used to be illegal, and was known as predatory pricing. There are laws, like Robinson-Patman and the Clayton Act, which, if read properly and enforced, prohibit such conduct. The reason is very basic to capitalism. Capitalism works because companies that thrive take a bunch of inputs and create a product that is more valuable than the sum of its parts. That creates additional value, and in such a model companies have to compete by making better goods and services.
What predatory pricing does is to enable competition purely based on access to capital. Someone like Neumann, and Son’s entire model with his Vision Fund, is to take inputs, combine them into products worth less than their cost, and plug up the deficit through the capital markets in hopes of acquiring market power later or of just self-dealing so the losses are placed onto someone else. This model has spread. Bird, the scooter company, is not making money. Uber and Lyft are similarly and systemically unprofitable. This model is catastrophic not just for individual companies, but for their competitors who have to *make* money. I’ve written about this problem before. Amazon has created a much less competitive and brittle retail sector. Netflix’s money-losing business is ruining Hollywood.
Endless money-losing is a variant of counterfeiting, and counterfeiting has dangerous economic consequences. The subprime fiasco was one example. Another example was the Worldcom fraud in the late 1990s, which forced the rest of the U.S. telecom sector to over-invest into broadband. Competitors have to copy their fraudulent competitors. It’s a variant of Gresham’s Law, which says that “bad money drives out good.” If you can counterfeit something for cheap, the counterfeit will eventually take over the entire market and drive out the real commodity. That is what is happening in our economy writ large, a kind of counterfeit capitalism as ‘leaders’ like Neumann are celebrated and actual leaders who can make things and manage are treated like dogshit.
This kind of counterfeit capitalism is terrible for society as a whole. At first, with companies like Walmart and Amazon, predatory pricing can seem smart. The entire retail sector might be decimated and communities across America might be harmed, but two day shipping is convenient and Walmart and Amazon do have positive cash flow. But increasingly with cheap capital and a narrow slice of financiers who want to copy the winners, there is a second or third generation of companies asking Wall Street to just ‘trust me.’
As euphoria in capital markets takes hold, predatory pricing scheme come to entirely wastes capital on money losing enterprises, and eventually these companies become Soviet-style generators of white elephants and self-dealing. The men and women who run them have to be charlatans, because they are storytellers justifying losses. Powerful men like Dimon are sucked in, consultants start explaining to old-line economy companies how they too can become like WeWork, and eventually more and more of the economy just adopts counterfeit capitalism.
- https://sriramk.com/exec-101-first-thirty-days
-
Modern applications at AWS - All Things Distributed
To succeed in using application development to increase agility and innovation speed, organizations must adopt five elements, in any order: microservices; purpose-built databases; automated software release pipelines; a serverless operational model; and automated, continuous security.
- 7 Implications of seeing organisations as complex systems
-
17 Reasons NOT To Be A Manager
2. IT IS EASY TO GET A NEW ENGINEERING JOB. REALLY, REALLY EASY
3. THERE ARE FEWER MANAGEMENT JOBS
4. MANAGER JOBS ARE THE FIRST TO GET CUT
6. ENGINEERS CAN BE LITTLE SHITS
7. AS A MANAGER, YOU WILL NEED TO HAVE SOME HARD CONVERSATIONS. REALLY, REALLY HARD ONES
9. YOU WILL GET NONE OF THE CREDIT, AND ALL OF THE BLAME.
12. JOY IS MUCH HARDER TO COME BY
13. IT WILL TAKE UP EMOTIONAL SPACE AT THE EXPENSE OF YOUR PERSONAL LIFE
14. YOUR TIME DOESN’T BELONG TO YOU
15. MEETINGS
16. IF TECHNICAL LEADERSHIP IS WHAT YOUR HEART LOVES MOST, YOU SHOULD NOT BE A MANAGER -
What we get wrong about meetings – and how to make them worth attending
“Wagner meeting” (of epic length), the “mushroom meeting” (appears suddenly, multiplies rapidly) and the “Stonehenge meeting” (it’s been a fixture for ages but nobody knows why)
Meetings frustrate when they reveal painful disparities in power. For subordinates, meetings are often the things that get in the way of doing their job. For the person with the power — the manager — meetings are the job.
Some meetings are to transfer information, some to allow discussion and some to reach a decision or resolve a problem. Then there are the meetings that exist purely for the sake of meeting. Don’t dismiss them; there’s nothing wrong with consenting adults enjoying a coffee break together. There doesn’t always need to be a reason.
There’s a big difference between the two types of meeting, but there’s also a clear common thread: people come prepared, have a reason to work together and finish the meeting with a clear sense of what comes next. A good meeting is a good meeting less because of what happens at the time, but because of what came before — and most importantly, what comes after.
-
Performance speed limits
There are many possible limits that apply to code executing on a CPU, and in principle the achieved speed will simply be determined by the lowest of all the limits that apply to the code in question. That is, the code will execute only as fast as its narrowest bottleneck.
-
What is an Agile mindset?
- Model behavior: The most effective way to help your team shift to an Agile mindset is to exemplify the behaviors you want to see. To create a “no-fault, embrace risk” environment, share your setbacks with the team and tell them what you learned. When someone experiments, praise them for trying something new and discuss the biggest lessons learned. By being transparent and showing your team that this new way of thinking is possible, you become their collaborator.
- Storytelling: Share how other organizations or teams have benefited from an Agile mindset. Understanding what others gained from a new way of thinking can help your team feel more enthusiastic about the change.
- Take small steps: After doing more research about an Agile mindset, you might get excited and feel tempted to change things overnight. Take small steps and make minor adjustments in the beginning to help your team acclimate.
-
Micro Frontends
In short, micro frontends are all about slicing up big and scary things into smaller, more manageable pieces, and then being explicit about the dependencies between them. Our technology choices, our codebases, our teams, and our release processes should all be able to operate and evolve independently of each other, without excessive coordination.
-
5 Ways to stay agile in a growing organization
1. Make quick, but thoughtful decisions: his is the fundamental thing that allows startups to be competitive against dominant players in a market: It’s using your resources more efficiently and moving faster than anyone else. (…) If it’s easily revertible and makes something better, ship it.
2. Hire the right people: An Agile mentality lets you deliver incremental, low-risk value to customers, allowing you to get feedback or pivot with minimal investment. Accept mistakes: Not every problem should lead to a new process to prevent them. Additional processes make all actions more inefficient and a mistake only affects one.
3. Keep teams small and focused: Team members desperately want to be contributing meaningful changes on time and a reduction in scope lets them focus again on a more specific cross-section of the product, shifting attention away from the larger team discussions that may not be specific to a product area.
4. Allow teams to experiment with their own processes
5. Make sure everyone is on the same page
-
How To Stop Thinking About Work (Even When The Workday Is Over)
1. Channel Your Energy Into Something Else
The point is to channel your attention into some sort of task that’s demanding of your mental energy, but isn’t at all related to your work. This is effective for a couple of reasons. First is that it gets you into the habit of switching your brain away from your career demands. “Your habit system only learns a new habit when you perform an action, not when you don’t. So you cannot create a habit to avoid an action.” Secondly, our brains aren’t that great at multitasking. And, while research has shown that the human brain actually can keep two goals or tasks in mind at one time, if one inspires too many unrelated thoughts, your frontal lobe will lose track of one of them (which in this case, is hopefully your work to-do list).
2. Create A Plan For Tomorrow
3. Set Screen Time Limits For Yourself
4. Limit Your Venting -
Jess Szmajda - The CTO Role
Company and Product Strategy:
- Business strategy, vision
- Product strategy to deliver on mission
- Financial management
- Connecting mission to time-bound visions
- Organization structure to deliver on vision
- Operating structure to support the organization
- Market adoption
- Revenue strategy
- Roadmap
- Success definition and measurement
- Budgeting & managing to budget
- Fundraising & due diligence
- M&A - strategy, technical review and integration
People Strategy:
- Tech, Product, Design Organization structures
- Talent management
- Team plans
- Staffing levels
- Roles & responsibilities
- Operational processes
- Sourcing, recruiting, and hiring
- Growth & development
- Performance management
- Transitioning people out
Technical Strategy:
- Systems architecture
- Technology capabilities
- Stability & Performance
- Risk management
- Services definition & communication patterns
- Data flows
- Foundational technologies and frameworks
- Libraries and third-party software strategy
- “What should we use, why, and how?”
- New capabilities research & development
- Infrastructure reliability
- Maintenance
- Ongoing operations
- Risk identification and mitigation
- Quality engineering
I tend to operate best when I have these direct reports:
Functional Area leaders:
- These are usually Director-level roles, but sometimes are VPs.
- These individuals own and define what is great in a functional area, such as python or quality engineering, or infrastructure operations.
- It is these individuals’ jobs to define what is good and to hire and develop their staffs.
- Because my organizations are cross-functional, these people must communicate regularly with each other to help our collective team grow a thrive. Continued alignment activities to ensure we are moving together with one vision are crucial.
Specialised Individual Contributors:
- I often also promote non-managing leaders who own a key element of process or strategy.
- Examples:
- Leaders when a department is small (Agile Coaching for example - I tend to only have a handful of strong ICs who rotate through teams and coach on process evolution)
- Advanced technical individual contributors who can own architecture across large areas of the system
I believe management starts to lose effectiveness when one person has more than 7 direct reports, so I try to restructure my organization when that starts to happen.
-
Linux Applications Performance: Introduction - Unixism
One thought about performance and scalability. There is no relationship between them, theoretically speaking. You can have a web service that performs really well, responds within a few milliseconds, but does not scale at all. Similarly, there can be a badly performing web application that takes several seconds to respond, but scales to handle tens of thousands of concurrent users. Having said that, the combination of high-performance, highly scalable services is very powerful. High-performance applications use resources sparingly in general and are thus efficient at serving more concurrent users per server, driving down costs, which is a good thing.
Finally, there are always only two possible types of tasks in computing: I/O bound and CPU bound. Getting requests over the internet (network I/O), serving files (network and disk I/O), talking to a database (network and disk I/O) are all I/O bound activities. Several types of DB queries can use a bit of CPU, though (sorting, calculating the mean of a million results, etc). Most of the web applications you will build will be I/O bound and the CPU will rarely be used to its full capacity. When you see a lot of CPU being used in a I/O bound application, it most likely points to poor application architecture. This could mean that the CPU essentially is being spent in process management and context switching overhead–and that’s not exactly very useful. If you are doing things like heavy image processing, audio file conversion or machine learning inference, then your application will tend to be CPU bound. However, for the majority of applications, this won’t be the case.
- Everything I know about freelancing | Andy Adams
-
Managing Yourself: How to Calibrate Your Own Strengths and Weaknesses
you are constantly put in the position of doing things you haven’t done before. For example, say you have to fire someone. How do you prepare yourself for such a task? It’s not like improving your skills in drawing or writing, where you can invest time on nights and weekends to sketch or compose short stories. You can’t just snap your fingers and say, “I’m going to practice firing a lot of people this month.” You must actually go through the real thing in order to gain the experience you need.
The world’s top leaders come from vastly different molds — some are extroverts (Winston Churchill) and some are introverts (Abraham Lincoln); some are demanding (Margaret Thatcher) and others remind you of a favorite relative (Mother Teresa); some leave a room breathless with their vision (Nelson Mandela) and others prefer to avoid the spotlight (Bill Gates).
The first part in understanding how you lead is to know your strengths — the things you’re talented at and love to do. This is crucial because great management typically comes from playing to your strengths rather than from fixing your weaknesses.
-
Productivity Isn’t About Time Management. It’s About Attention Management.
We live in a culture obsessed with personal productivity. The key to getting things done, we’re often told, is time management. If you could just plan your schedule better, you could reach productivity nirvana. But after two decades of studying productivity, I’ve become convinced that time management is not a solution — it’s actually part of the problem.
A better option is attention management: Prioritize the people and projects that matter, and it won’t matter how long anything takes. Attention management is the art of focusing on getting things done for the right reasons, in the right places and at the right moments.
Often our productivity struggles are caused not by a lack of efficiency, but a lack of motivation. Productivity isn’t a virtue. It’s a means to an end. It’s only virtuous if the end is worthy. If productivity is your goal, you have to rely on willpower to push yourself to get a task done. If you pay attention to why you’re excited about the project and who will benefit from it, you’ll be naturally pulled into it by intrinsic motivation.
I’m guessing your goal is not just to be more productive — you probably want to be creative, too. The stumbling block is that productivity and creativity demand opposite attention management strategies. Productivity is fueled by raising attentional filters to keep unrelated or distracting thoughts out. But creativity is fueled by lowering attentional filters to let those thoughts in.
If you’re a morning person, you should do your analytical work early when you’re at peak alertness; your routine tasks around lunchtime in your trough; and your creative work in the late afternoon or evening when you’re more likely to do nonlinear thinking.
If you’re more of a night owl, you might be better off flipping creative projects to your fuzzy mornings and analytical tasks to your clearest-eyed late afternoon and evening moments. It’s not time management, because you might spend the same amount of time on the tasks even after you rearrange your schedule.
On manager days, you hold your meetings and calls. On maker days, you block out time to be productive and creative, knowing you’ll be free from distractions that would normally interrupt your flow. Unfortunately, few of us have the luxury to manage every week that way, which means we need to find ways to carve out maker moments.
-
How to Break the Vicious Cycle of Reactive Management by @Get_Lighthouse
While you’re reacting to every little thing coming your way, there are long term problems forming: small team issues you should get out in front of are growing, long term planning that will keep your team focused on the right things aren’t happening, and you may be failing to get the most important of your own work done.
Making matters worse, the more you put off the long term work, the more they create short term issues. You will have to deal with those problems when they boil over and then demand immediate, significant attention, or your team drifts in a direction better planning could have avoided.
A little coaching and quick fixes coming from your regular one-on-ones will prevent a lot of problems from blowing up later on. If they always know they can count on talking to you in a one-on-one, they’re less likely to need to come to you ad-hoc, or worse, bottle something up and never bring it up to you.
As a manager, you need time to think at a high level about priorities, projects, and your team. Unfortunately, you can’t do that in the 5 minutes between other meetings and people popping into your office.
Open slots on a calendar have a knack for being filled up. Take back your time by scheduling your creative time (ideally 90 min blocks) and make your door “open” at set times (some call them office hours) that your team can count on, but that doesn’t consume your whole day. You’ll be surprised how much you can get done by doing this.
Intel tried this method of blocking off time for focused work and found that not only did workers love it, but the results were the development of new, patentable technology with just a few hours a week of this time.
Your time is valuable. Your calendar determines how you invest it.
-
From moms to medical doctors, burnout is everywhere these days
Ninety-five percent of human resource leaders say burnout is sabotaging workplace retention, often because of overly heavy workloads. Poor management contributes to the burnout epidemic.
“Organizations typically reward employees who are putting in longer hours and replace workers who aren’t taking on an increased workload, which is a systematic problem that causes burnout in the first place,”
Ziegler defines burnout as “chronic stress gone awry.” The big three symptoms are emotional exhaustion, cynicism and feeling ineffective. Other symptoms can include frequent colds or sicknesses, insomnia and a tendency to alleviate stress in unhealthy ways, such as with too much alcohol or online shopping.
Burnout is caused by chronic stress, not stressors. It’s important to differentiate the two. Stressors are external: to-do lists, financial problems or anxiety about the future. Stress, on the other hand, “is the neurological and physiological shift that happens in your body when you encounter [stressors],”.
To fix burnout, people need to address the stress itself. They must allow their body to complete its stress response cycle. Instead, people tend to focus on stressors. “They assume their stress will go away if they’re on top of things, if they’re accomplishing things and constantly checking things off their to-do list,”.
“There’s nothing fancy about what it would take to turn things around,” says Ziegler, the “Mommy Burnout” author. “But it’s a huge shift in the cultural mind-set. That’s the challenge.”Plus, fixing burnout can feel like adding more stressors.
One reason was because women have more work-and-family conflicts. The women’s rights movement was “supposed to give women choices,” Ziegler says. “Sounds awesome, but it became you need to do it all. You need to run your house and be the perfect wife and mom and work. The stress on women got higher.”
Making space in our lives so we’re not so hurried and harried isn’t easy, especially in a culture that shames slow living, Amelia Nagoski says. Preventing burnout requires hard decisions. Everyone has the same amount of time in a day: 24 hours. To rest — whether with a walk, an extra hour of sleep or a talk with a friend — means something else drops off the schedule.
At first, you might panic that you’re not “accomplishing” something. But before long, you may notice you’ve moved farther away from a breaking point. Your downward spiral will change directions.
-
The five types of communication problems that destroy company morale
#1: Lack of depth
#2: Conflicting context
#3: Missing empathy
#4: Communication that triggers anxiety
#5: Assuming unearned trust
-
Infrastructure as Code, Part One - CrateDB
Infrastructure as Code (IaC) bridges the gap between system administrators and developers, and in doing so it:
- Helps developers think about the entire lifecycle of the software they are developing.
- Brings version control, code reviews, knowledge sharing, and other benefits to systems administration.
- Enables you to radically transform your CI and CD pipeline.
- Reduces the need for repetitive and error-prone tasks, freeing people up to work on more exciting things.
- Why software projects take longer than you think – a statistical model
-
Great developers are raised, not hired
Companies spend millions on TA departments, recruiters, promo websites and videos, struggling to find the best talent. We have this crazy talent search problem because companies are searching for the best engineers, instead of raising them. Everyone is fishing, but there is not much fish left. Recruiting more fishers and paying them high commission does not help. The pond is empty.
By building mentoring capacity at work, you can hire newcomers, broken toys, impostors and turn them into the loyal, high-quality workforce. Shifting focus from assessing to mentoring can simplify your interviewing process. Instead of trying to predict future performance by asking tough questions and sending candidate through nine circles of hell, you can hire candidates with a growth mindset and grow them.
You can escape this crazy hiring race by creating an environment, where experienced developers mentor less experienced developers. Hire for attitude, and teach technical skills. Great developers are raised, not hired.
Be the company that says: we are hiring mentoring.
- How to Raise a Series A in 2019 | Dave Bailey | Founder Coach, Investor & Entrepreneur
-
How to Deliver Constructive Feedback in Difficult Situations
I’ve found that empathy has a side-effect. I can get so focused on how the conversation might affect the other person’s feelings that I lose sight of why the conversation is needed in the first place. Without a healthy amount of ‘self-empathy’, we often find that our own needs, and the needs of the business, take the passenger’s seat.
Nonviolent Communication (NVC) is an awful name for one of the most powerful communication courses I’ve ever taken. NVC helps you to be honest, without criticising, insulting, or putting down other people. To grasp the complexity, NVC makes some subtle but critical distinctions:
Observations vs. evaluations
‘The ability to observe without evaluating is the highest form of intelligence.’ — Jiddu Krishnamurti, Indian Philosopher
Our brains are hardwired to take raw information and instantly make up a simple story — good or bad, right or wrong, hero or villain. These stories are evaluations and they are very hard to separate from observations. An easy way to check whether you’ve made an observation or an evaluation is to ask yourself, ‘What did I actually see or hear?’
Emotions vs. thoughts
If you can substitute ‘I feel’ with ‘I think’ and the phrase still works, it’s a thought, not an emotion. And sharing our thoughts in difficult conversations can often get us into trouble, especially if the other person disagrees and wants to correct you.
Universal needs vs. strategies
NVC asserts that all human beings share the same universal needs and that behind every negative emotion lies an unmet universal needs. [PSP: there are NO negative emotions. all of them just are emotions]
Common universal needs that come up a lot in difficult conversations are: Autonomy, Collaboration, Consistency, Clarity, Integrity, Recognition, Respect, Reassurance, Security, Support, Understanding.
Requests vs. demands
Both are strategies that would meet an unmet need. But unlike demands, requests are invitations for the other person to meet our needs … but only if it isn’t in conflict with one of their needs. There are three principles that can help you make clear requests:
a) Make it specific. Spell out the concrete behaviours that would meet your need for respect
b) Say what you want, not what you don’t want. Take time to clarify the behaviours you want to see
c) Stay curious. There are many ways to satisfy your underlying needs, but is there a way of satisfying everybody’s needs? To maximise the chance of having your needs met, treat ‘no’ as an invitation to explore the needs stopping someone from saying ‘yes’.
Remember, great communication isn’t just about what you say, it’s about what other people hear.
The 40-Word Rule
During difficult conversations, it’s important to be extremely concise. Aim to describe your observations, feelings, needs and requests in less than 40 words. Using more words suggests you’re justifying your needs, and this decreases their power.
‘Empathy is the gift of hearing someone without taking it personally,’—Marshall Rosenberg
sda
-
Tom NICHOLS: Agonia wiedzy. Koniec ekspertów. Śmierć elit | Wszystko co najważniejsze
Istnieje także fundamentalny problem w postaci ludzkiej natury. Określa się go obecnie mianem efektu Dunning-Krugera, który głosi, mówiąc najprościej, że im bardziej jesteś idiotą, tym bardziej wierzysz w to, że nim nie jesteś… Tak więc kontestujesz ekspertów, jeśli są przeciwnego zdania, aby utrzymać bezzasadnie wysokie mniemanie o sobie samym.
2018
-
A Nobel Prize-winning psychologist says most people don’t really want to be happy
Kahneman contends that happiness and satisfaction are distinct. Happiness is a momentary experience that arises spontaneously and is fleeting. Meanwhile, satisfaction is a long-term feeling, built over time and based on achieving goals and building the kind of life you admire.
Poverty creates suffering, but above a certain level of income that satisfies our basic needs, wealth doesn’t increase happiness. “The graph is surprisingly flat,” the psychologist says.
In other words, if you aren’t hungry, and if clothing, shelter, and your other basics are covered, you’re capable of being at least as happy as the world’s wealthiest people.
Satisfaction is retrospective. Happiness occurs in real time.
-
The Purpose Of Life Is Not Happiness: It’s Usefulness
(..) if you look around you, most people are pursuing happiness in their lives. That’s why we collectively buy shit we don’t need, go to bed with people we don’t love, and try to work hard to get approval of people we don’t like.
Most things we do in life are just activities and experiences(..) But they are not useful. You’re not creating anything. You’re just consuming or doing something. And that’s great.
What really makes me happy is when I’m useful. When I create something that others can use. Or even when I create something I can use.
“The purpose of life is not to be happy. It is to be useful, to be honorable, to be compassionate, to have it make some difference that you have lived and lived well.”
-
New managers, here’s how to run your first team meeting
Build trust, don’t chart a vision
Get to know your team members
Share who you are
-
How To Be Your Most Productive Self: Let Go Of Being Perfect
“perfect is the new black”
But just because society is placing a higher value on perfection doesn’t mean you’re actually getting more done. “Perfect” and “productive” aren’t the same thing—and while you might think perfectionism is the key to racking up more achievements and getting more done, the truth is, perfectionism is actually counterproductive. Yes, that means your nitpicking ways are actually hurting, not helping, you.
- Few frequent misconceptions about developers' salaries
- Lean, Lean Manufacturing, Lean Startup: Clarified – Takeshi Yoshida – Medium
-
Three Sales Mistakes Software Engineers Make
#1 - Building Before you Start Selling
#2 - Talking Instead of Listening
#3 - Mistaking Interest for Demand - Lessons from Coinbase’s Wild Ascent: Four Rules for Scaling
- How to Manage Continuous Improvement without Authority
- The most surprising principle of good leadership? Don’t be busy.
-
What Do Older Programmers Know That Younger Ones Don't?
Everything in software development has already been invented. People just keep rediscovering it and pretending they invented it. Whatever you think is so cool and new, was copied from Smalltalk, or HAKMEM, or Ivan Sutherland, or Douglas Engelbart, or early IBM, or maybe Bell Labs.
Maintaining code is harder than writing it. Writing lots and lots of new code can be a mark of laziness.
You’re going to forget what your code does in a few months. Make it ridiculously easy to read.
Good programmers write good code. Great programmers write no code. Zen programmers delete code.
-
Clean Coder Blog
Who goes to Agile Conferences? Not programmers. Not the people who do the bulk of the work. Programmers started those conferences. Programmers started the movement. Programmers don’t go anymore. It’s not the programmers who have changed. It is the conferences, and therefore the movement, that has changed. The Agile movement moved away from the programmers – from Agile.
- GopherCon 2018 - From Prototype to Production: Lessons from Building and Scaling Reddit's Ad Serving Platform with Go
-
Cognitive Bias And Why Performance Management is So Hard
- Unclear expectations: Your colleague does not know what is expected of them. Maybe their manager (you?) hasn’t set expectations for them clearly, or a team-mate has not clarified that they are blocked on their work or harmed by their quality of work.
- Lack of skill: Your colleague does not know how to perform the tasks expected of them.
- Lack of will: Your colleague is not motivated or interested in doing those tasks (they lack understanding or agreement of why they should be doing those tasks).
When a person is not doing his job, there can only be two reasons for it. The person either can’t do it or won’t do it; he is either not capable or not motivated.
When a person fails to begin a project that they care about, it’s typically due to either a) anxiety about their attempts not being “good enough” or b) confusion about what the first steps of the task are. Not laziness. In fact, procrastination is more likely when the task is meaningful and the individual cares about doing it well.
- CTO vs VP Engineering: What's the Difference? - Ivy Exec Blog
-
Open offices are as bad as they seem—they reduce face-to-face time by 70%
removing physical dividers may, in fact, make it harder for employers to foster collaboration and collective intelligence among their employees
Many companies have waged a so-called “war on walls” to try to create such vibrant workspaces, the authors Ethan Bernstein and Stephen Turban of Harvard wrote. But, “what they often get—as captured by a steady stream of news articles professing the death of the open office—is an open expanse of proximal employees choosing to isolate themselves as best they can (e.g. by wearing large headphones) while appearing to be as busy as possible (since everyone can see them).”
After the open redesign, the employees spent 72-percent less time having face-to-face interactions with each other. The raw numbers shook out to an average of 5.8 hours of face-to-face time per day per person before the redesign, but only 1.7 hours of face-to-face time per person per day afterward. Meanwhile, electronic communication increased; workers sent 56 percent more emails to their colleagues and 67 percent more instant messages.
Executives for the company also shared in qualitative terms that productivity among employees—measured by internal, confidential metrics—had also fallen. They did not disclose the magnitude of the productivity decline.
-
Currents: A quarterly report on developer trends in the cloud
- Containers are reaching a tipping point, with 49 percent of developers now using them. With container technology and management tools advancing at a rapid pace over the last year, containers are becoming a go-to tool in the developer arsenal.
- Serverless computing is in a much earlier stage of adoption, with nearly half of developers failing to clearly understand what it is. One of the biggest challenges developers report when it comes to serverless is monitoring and debugging.
- Opportunity for growth and development is the most important thing developers want in their jobs, so it’s unsurprising this is the top reason they leave them. Companies that are deliberate about creating long-term paths for their developers are more likely to retain their technical workforce.
- Bootcamp participants feel more prepared for the workforce than college graduates. However, nearly half feel it can sometimes be a disadvantage in job interviews.
- Likewise, employers are still warming to bootcamp graduates. While the majority of hiring managers say they make no distinction between bootcamp vs. college graduates, 48 percent have not filled any positions with a bootcamp graduate in recent years.
-
Continuous improvement in a safe environment
Feedback is more than a piece of advice or a timely tip, it has a wider lifecycle, with the following characteristics:
- Goal-oriented. The information you provide will only become feedback from the moment that, within its context, it helps the other person to attain a specific goal
- Tangible and transparent. Good feedback not only has a clear goal, but also involves tangible results clearly associated with this goal
- Actionable. Concrete, specific, and useful feedback provides the necessary information so the other person can take a specific action aimed at attaining some goal
- Friendly. A piece of information will only be correctly absorbed if we take into consideration the psychosocial aspects that we’ve been discussing here. No matter how true or accurate the information you bring to feedback is, it will only be effective if you think about the way you deliver
- Timely. Usually, the closer to the observed fact, the better. Within the deliberate practice mindset, we want to adjust our faulty actions as soon as possible
- Continuous. When you give some feedback meant to support someone else to make the necessary adjustments to her journey, you can follow up her evolution and provide new feedback based on the changes you have noticed in the period. This strengthens the continuous improvement mechanism
- Consistent. As we’ve already seen, feedback comes wrapped in a set of metadata that are read by the receiver. The items you bring to a feedback must therefore be consistent with what you practice yourself and with actions you would take yourself
-
Move over, KPIs — the Key Value Indicator takes data a step further
Unless you are using sophisticated predictive analytics, have a large staff of data analysts, or are paying external vendors or consultants lots of money to analyze and implement changes, you likely aren’t benefiting from the mountains of data you sit on.
Move away from Fact Telling in your reporting towards Action Oriented Reporting.
-
Techie to tech lead: My five biggest mistakes
# 1: I believed my technical ability entitled me to lead
# 2: I focused on tech when I should have broadened my capabilities
# 3: I continued to see myself as an individual producer
# 4: I wanted to know, and control, everything when I needed to empower others
# 5: I didn’t recognize that the signals changed
-
The architectural implications of autonomous driving: constraints and acceleration
There are several defined levels of automation, with level 2 being ‘partial automation’ in which the automated system controls steering and acceleration/deceleration under limited driving conditions. At level 3 the automated system handles all driving tasks under limited conditions (with a human driver taking over outside of that). By level 5 the system is fully automated.
An autonomous driving system should be able to process current traffic conditions within a latency of 100ms at a frequency of at least once every 100ms. The system also needs extremely predictable performance, which means that long latencies in the tail are unacceptable. Thus 99th, or 99.99th, percentile latency should be used to evaluate performance.
We show that GPU- FPGA- and ASCI-accelerated systems can reduce the tail latency of [localization, object detection, and object tracking] algorithms by 169x, 10x, and 93x respectively… while power-hungry accelerators like GPUs can predictably deliver the computation at low latency, their high power consumption, further magnified by the cooling load to meet the thermal constraints, can significantly degrade the driving range and fuel efficiency of the vehicle.
-
Work Got You Stressed? Here Is My Secret To Controlling The Chaos.
Over the years, I realized a majority of my stress was self-induced. Instead of taking a proactive approach in managing the chaos around me, I allowed my life to be dictated by the surrounding environment.
The Hamster Wheel Effect is a term I use to describe a person trapped in a continuously routine. The Hamster represents a person “stuck” in a chaotic environment trying to hopelessly accomplish the infinite number of tasks represented by the Wheel.
Problem: You allow outside influences to dictate your life choices
Solution: Rule #1 — Be Self-Managed versus Micro-Managed- Know your personal limitations and focus on your strengths
- Make sure to communicate status often to build confidence on progress
- Define solutions instead of asking for permission
Problem: You allow yourself to be inundated with unrealistic tasks
Solution: Rule #2: — Quality over Quantity- Understand what you need to accomplish and how you plan to accomplish it
- Understand the definition of quality from the perspective of your customer
- Understand the time frame in which you need to complete your work
Problem: You allow routine to prevent innovative thought
Solution: Rule #3 — Work Smarter. Not Harder.- Be self-aware. If you find yourself stagnant, pivot in a new direction.
- Surround yourself with smart people and learn from others.
- Be curious. Don’t always take things at face value. Ask the question why.
- The scale of tech winners
-
The Case for Breaking Up Amazon, Apple, Facebook and Google
Over the past decade, Amazon, Apple, Facebook, and Google—or, as I call them, “the Four”—have aggregated more economic value and influence than nearly any other commercial entity in history. Together, they have a market capitalization of $2.8 trillion (the GDP of France), a staggering 24 percent share of the S&P 500 Top 50, close to the value of every stock traded on the Nasdaq in 2001.
As Western nations become wealthier, organized religion plays a smaller role in our lives. But the void between questions and answers remains, creating an opportunity. As more and more people become alienated from traditional religion, we look to Google as our immediate, all-knowing oracle of answers from trivial to profound. Google is our modern-day god. Google appeals to the brain, offering knowledge to everyone, regardless of background or education level.
Facebook appeals to the heart. Feeling loved is the key to well-being. Facebook gives its 2.1 billion monthly active users tools to fuel our need to love others.
Amazon is the large intestine of the consumptive self. It stores nutrients and distributes them to the cardiovascular system of the 64 percent of American households who are Prime members. It has adopted the best strategy in the history of business—“more for less”—and deployed it more effectively and efficiently than any other firm in history.
The second-most-powerful instinct after survival is procreation. As sexual creatures, we want to signal how elegant, smart, and creative we are. We want to signal power. Sex is irrational, luxury is irrational, and Apple learned very early on that it could appeal to our need to be desirable.
What about Facebook? Eighty-five percent of the time we spend on our phones is spent using an app. Four of the top five apps globally—Facebook, Instagram, WhatsApp, and Messenger—are owned by Facebook. And the top four have allied, under the command of the Zuck, to kill the fifth—Snap Inc. What this means is that our phones are no longer communications vehicles; they’re delivery devices for Facebook, Inc.Between 2007 and 2015, Amazon paid only 13 percent of its profits in taxes, Apple paid 17 percent, Google paid 16 percent, and Facebook paid just 4 percent. In contrast, the average tax rate for the S&P 500 was 27 percent. So, yes, the Four do avoid taxes … and so do you. They’re just better at it.
Advertising—whether digital or analog—is a low-growth (increasingly flat) business, meaning that the sector is largely zero-sum. Google doesn’t earn an extra dollar by growing the market; it takes a dollar from another firm.
Anyone who doesn’t believe these products are the delivery systems for tobacco- like addiction has never separated a seven- year-old from an iPad in exchange for a look that communicates a plot to kill you. If you don’t believe in the addictive aspects of these platforms, ask yourself why American teenagers are spending an average of five hours a day glued to their Internet- connected screens. The variable rewards of social media keep us checking our notifications as though they were slot machines, and research has shown that children and teens are particularly sensitive to the dopamine cravings these platforms foster. It’s no accident that many tech companies’ execs are on the record saying they don’t give their kids access to these devices.
Microsoft executives had said they wanted to “cut off Netscape’s air supply” by giving away Internet Explorer for free. (…) The settlement was criticized by some for being too lenient, but it’s worth asking whether Google would exist if the DOJ hadn’t put Microsoft on notice regarding the infanticide of promising upstarts. In the absence of the antitrust case, Microsoft likely would have leveraged its market dominance to favor Bing over Google, just as it had used Windows to euthanize Netscape.
The concentration of power achieved by the Four has created a market desperate for oxygen. I’ve sat in dozens of VC pitches by small firms. The narrative has become universal and static: “We don’t compete directly with the Four but would be great acquisition candidates.” Companies thread this needle or are denied the requisite oxygen (capital) to survive infancy. IPOs and the number of VC-funded firms have been in steady decline over the past few years.
Numbers you typically won’t see in an Amazon press release: • 34 percent: Amazon’s share of the worldwide cloud business; • 44 percent: Amazon’s share of U. S. online commerce; • 64 percent: U. S. households with Amazon Prime; • 71 percent: Amazon’s share of in-home voice devices; • $1.4 billion: Amount of U. S. corporate taxes paid by Amazon since 2008, versus $64 billion for Walmart
What about Facebook? Eighty-five percent of the time we spend on our phones is spent using an app. Four of the top five apps globally—Facebook, Instagram, WhatsApp, and Messenger—are owned by Facebook. And the top four have allied, under the command of the Zuck, to kill the fifth—Snap Inc. What this means is that our phones are no longer communications vehicles; they’re delivery devices for Facebook, Inc.
Google, for its part, now commands a 92 percent share of a market, Internet search, that is worth $92.4 billion worldwide. That’s more than the entire advertising market of any country except the U. S.
The tremendous success of the Four—which alone accounted for 40 percent of the gains in the S&P 500 for the month of October—wallpapers over the fact that, as a whole, the markets in which they operate are not healthy. Late last year, Refinery29 and BuzzFeed, two promising digital-marketing fledglings, announced layoffs, while Criteo, an ad-tech firm, shed 50 percent of its market capitalization. Why? Because there is Facebook, there is Google, and then there is everyone else. And all of those other firms, including Snap Inc., are dead; they just don’t know it yet.
-
Progressing from tech to leadership
as you get more senior, a growing number of people will come to you expecting you to solve increasingly fuzzy and challenging problems - and you will no longer be patted on the back for doing so. This should not scare you away from such opportunities, but it definitely calls for a particular mindset: your motivation must come from within. Look beyond the fight-of-the-day; find satisfaction in seeing how far your teams have come over the years.
2017
-
The Role of the Founder/CEO: You Have One Job – Hacker Noon
You aren’t better than your team, but you certainly have more context than your team. How can you use this to empower them? I like to picture my org chart upside-down. They don’t report to me. I report to them. What do they need to succeed at their roles? Context to prioritize. Context to make decisions. Context to know when to push for more resources, or when to make-do.
When done correctly, this gives your team superpowers: they will be able to make the right decisions and prioritize what is most important without you having to hand-hold every conversation. And this gives you superpowers too: the time to focus on forward-looking strategy and risks instead of the day-to-day. -
Hyperscaling The Data Center
Spending on traditional data center infrastructure dropped 18% between 2015 and 2017, while spending on infrastructure products for the public cloud rose 35%. Much of that change reflects and ongoing migration of enterprises to the cloud. The percentage of workloads running on public-cloud platforms will rise to 60% by 2019, compared with 45% today. During 2016, collectively, Amazon, Microsoft and Google parent company Alphabet spent $31.54 billion in capital costs and leases, up 22% from the year before.
- Linux Performance
- Culture Eats Strategy for Breakfast – AWS Enterprise Collection – Medium
-
Robotics pioneer Rodney Brooks debunks AI hype seven ways
We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run.
-
Gatekeepers and Gardeners
A gatekeeper controls the flow of information in an attempt to narrow focus and avoid surprises. I often hear new managers who adopt this role describe themselves as a “shit shield.”
A gardener trusts, encourages autonomy, and exposes their team to higher level problems. Gardeners turn scaling and growth into a team sport.
A good leader will understand the right time for gatekeeping and gardening, and determine the right approach for each member of the team based on their individual skills and areas for growth.
By becoming a gardener instead of just a gatekeeper, you solve for the team, solve for yourself, and help scale the organization as a whole. Gardening helps grow your organization’s future leaders. It opens you up to new opportunities as you create the potential to replace yourself in your role. It helps you accelerate the careers of everyone on your team by encouraging them to work on bigger, harder problems. And while there is some danger in encouraging new responsibilities at the wrong time - you should expect to find and learn from failures along the way - pushing yourself to become more of a gardener over time is crucial to avoiding burnout.
-
Confessions Of An Impostor – Smashing Magazine
Simply put, impostor syndrome is the feeling of being a fraud, despite all evidence to the contrary. It’s an inability to internalize your own achievements, which results in a feeling of being less competent than the rest of the world believes you to be.
Every year, charisma coach and persuasion expert Olivia Fox Cabane asks the incoming class at Stanford Business School, “How many of you in here feel that you are the one mistake that the admissions committee made?” Every year, two thirds of the class instantly raise their hands. How can Stanford students, passing such an intensive admissions process, being selected from among thousands of applicants, with a long list of documented achievements and accomplishments behind them, possibly feel that somehow they don’t belong there?
In our community, impostor syndrome causes us to criticize ourselves constantly, because a lot of the problems we try to solve for ourselves have already been solved by others. In environments like that, it’s easy to feel that you aren’t smart enough. This feeds the syndrome and compels us to try to catch up on everything going on in our industry, so that we feel competent in whatever we’re doing. And we all know how much information there is to catch up on: This feeling is well known to all of us.
- A Five Minutes Guide to Better Typography — Pierrick Calvez
- Software Engineering is different from Programming – Samer Buna – Medium
-
My Incredibly Simple Guide To Stoicism — Learn Wisdom You Can Practically Use
We don’t control events, but we do control what they mean.
In good and bad times we have a choice. Practice poverty.You protect everything you have, why not your mind?
- Optimizing web servers for high throughput and low latency
-
Why should you learn Go? – Keval Patel – Medium
Go is very different from other object-oriented languages, it is still the same beast. Go provides you high performance like C/C++, super efficient concurrency handling like Java and fun to code like Python/Perl.
-
It does not make sense to hire smart people, and then have them follow stupid rules.
The best people always suffer the worst from bad leadership.
To manage smart people, you do NOT need to be smarter than they are.
You need to give them a chance to grow, opportunities to shine, and appreciation.
-
The Top 10 Reasons Why You Should Become a Manager - Tom Bartel
TL;DR: If you are unsure whether you should pursue a career in management, ask yourself certain questions: Do you truly care about your co-workers? Can you enjoy working with people? Can you listen? Can you spot talent? Do you feel fully comfortable in your technical field? Only if you can answer a majority of these questions with “yes” should you switch to management.
1. You care
2. You don’t hate people
3. You are a good listener
4. You have an eye for talent
5. You trust your colleagues
6. You have good communication skills
7. You are willing to point things out
8. You don’t have to be best friends with everybody
9. You have mastered a technical field
10. If you don’t do it, somebody who cares less will -
Publishing with Apache Kafka at The New York Times | Confluent
Been there, done that. In 2014
- Re-structuring a growing team – Jean Hsu
-
Scaling a Web Service: Load Balancing
“Facebook, Google, Netflix and most (if not all) large internet companies use these techniques at scale.”. Yes.
-
The Hard Thing About Software Development
The most valuable asset in the software industry is the synthesis of programming skill and deep context in the business problem domain, in one skull. It means that programming skill in the absence of business domain knowledge is becoming increasingly worthless.
Said another way, there are an ever decreasing number of software problems that are so cut and dried that they can be tossed over a wall and implemented in isolation of business expertise.
This is why the price for remote programming keeps dropping to zero. You cannot compete with on-premise talent when it comes to deep specialization in a business domain. The higher you move up the value chain in terms of your business offering, the more that the variations inherent in the business problems and technology constraints become wickedly complex.
-
Reducing hours by focusing your job
To achieve the same amount of work in less time, we have to make sure that we’re all working on the right things and that everyone is clear on their part in our combined success.
-
The blockchain paradox: Why distributed ledger technologies may do little to transform the economy — Oxford Internet Institute
Regardless of the model, my point is that blockchain technologies cannot escape the problem of governance. Whether they recognize it or not, they face the same governance issues as conventional third-party enforcers. You can use technologies to potentially enhance the processes of governance (eg. transparency, online deliberation, e-voting), but you can’t engineer away governance as such. All this leads me to wonder how revolutionary blockchain technologies really are.
And this leads me to my final point, a provocation: once you address the problem of governance, you no longer need blockchain; you can just as well use conventional technology that assumes a trusted central party to enforce the rules, because you’re already trusting somebody (or some organization/process) to make the rules. I call this blockchain’s ‘governance paradox’: once you master it, you no longer need it.
-
What Really Happened with Vista – Hacker Noon
Is there a broad lesson to draw from this story?
One is so fundamental as to be trite. Execution matters. There is no innovation without execution.
-
You Are Not Google – Bradfield
Did you know you can buy a terabyte of RAM for around $10,000? Even if you had a billion users, this would give you 1kB of RAM per user to work with.
Next time you find yourself Googling some cool new technology to (re)build your architecture around, I urge you to stop and follow UNPHAT instead:
- Don’t even start considering solutions until you Understand the problem. Your goal should be to “solve” the problem mostly within the problem domain, not the solution domain.
- eNumerate multiple candidate solutions. Don’t just start prodding at your favorite!
- Consider a candidate solution, then read the Paper if there is one.
- Determine the Historical context in which the candidate solution was designed or developed.
- Weigh Advantages against disadvantages. Determine what was de-prioritized to achieve what was prioritized.
- Think! Soberly and humbly ponder how well this solution fits your problem. What fact would need to be different for you to change your mind? For instance, how much smaller would the data need to be before you’d elect not to use Hadoop?
-
Graphic: Blockchain for Every Industry – NewCo Shift
The potential industry disruptions included in the infographic are:
Legal: “Smart contracts” stored on the blockchain track contract parties, terms, transfer of ownership, and delivery of goods or services without the need for legal intervention.
Supply Chain: By utilizing a distributed ledger, companies within a supply chain gain transparency into shipment tracking, deliveries, and progress among other suppliers where no inherent trust exists.
Government: Blockchain offers promise as a technology to store personal identity information, criminal backgrounds, and “e-citizenship,” authorized by biometrics.
Energy: Decentralized energy transfer and distribution are possible via micro-transactions of data sent to blockchain, validated, and re-dispersed to the grid while securing payment to the submitter.
Food: Using blockchain to store food supply chain data offers enhanced traceability of product origin, batching, processing, expiration, storage temperatures, and shipping.
Retail: Secure P2P marketplaces can track P2P retail transactions, with product information, shipment, and bills of lading input on the blockchain, and payments made via Bitcoin.
Healthcare: Electronic medical records stored in a blockchain, accessed and updated via biometrics, allow for the democratization of patient data and alleviate the burden of transferring records among providers.
Insurance: When autonomous vehicles and other smart devices communicate status updates with insurance providers via the blockchain, premium costs decrease as the need for auditing and authenticating data vanishes.
Travel and Hospitality: Passengers store their authenticated “single travel ID” on the blockchain for use in lieu of travel documents, identification cards, loyalty program IDs, and payment data.
Education: Educational institutions could utilize the blockchain to store credentialing data around assessments, degrees, and transcripts.
-
Why Angular 2/4 Is Too Little, Too Late – Chris Cordle – Medium
TL;DR — AngularJS was a decent idea in 2012 but in 2017, the JS ecosystem has surged past Angular in maturity, flexibility, and productivity. Thanks to webpack, NPM on the front-end, and a mature ecosystem of tooling and libraries, it is quite easy to maintain a large, flexible, well-engineered SPA with React, Vue, or other lightweight JS libraries, even at enterprise companies with large teams.
In addition, Angular 2/4’s troubled 3-year development cycle and debatable architecture decisions should give any company pause before considering the adoption of this brand new framework.
In 2013, Angular and every other JS framework was pitching two-way data binding as a feature. React came along and told us that was a bad idea. Two-way data binding is great for simple applications but in production, at scale, with large amounts of state, it can easily become spaghetti. Lots of unpredictable side-effects can be triggered. Two way data-binding was a feature in 2013 and Facebook said it was a bug. It turns out they were right.
Facebook was unopinionated about state management, however. Instead, it offered “Flux” as a solution, which was more of a pattern than an actual library or framework.
We hit peak “Flux fatigue” when, on June 2, 2015, Dan Abramov released Redux. Inspired by Elm language, Redux brought predictable, functional, maintainable state management to JavaScript. Redux introduced actions and reducers that follow a pattern that shares similarities with Event Sourcing, which is a common software architecture pattern in back-end server technologies. Redux’s explicit, declarative data management model allowed for state to be managed easily and scales well with the application.
In March of 2015, Facebook announced React Native for iOS. A landmark announcement, it proved that React’s functional UI component abstraction could be leveraged to write native mobile applications for the first time. Rather than promising, “Write once, run anywhere”, which is often derided as “Write once, debug everywhere”, Facebook pitched “Learn once, write everywhere” as a philosophy. Inherent in that philosophy is that while it is possible to share a large portion of code between platforms, there are often many nuances between platforms that must be uniquely addressed. React Native provides an interface for addressing those platform differences.
The Battle Is Over: React Won.
-
Let’s stop calling them ‘soft skills’ – It’s Your Turn
Writing in the Harvard Business Review, Lou Solomon reports that 69% of managers are uncomfortable communicating with their employees. The only surprising thing about this statistic is how low it is.
How do we build people-centric organizations while also accepting the fact that two-thirds of our managers (presumably well-paid, well-trained and integral to our success) are uncomfortable doing the essential part of their job?
-
What does a Director of Engineering do?
While there are a number of things I’m responsible for, there are two things that take higher priority than everything else.
The first is empowering the engineers I manage to make the biggest impact possible for the company while reaching their professional development goals. I believe the two of these are highly correlated to job satisfaction. thredUP’s emphasis on professional development is a big reason why it’s been over two years since our Web Engineering Team experienced any turnover.
The second is consistently delivering projects on-time with quality. If a project is behind schedule or the website is experiencing issues or an engineer is disheartened, I will refocus energy from other efforts (hiring, planning, etc.) to figure out how to get obstacles out of the way to get everything back on track.
If the business is healthy, our engineering efforts are on-time, and the teams are motivated, challenged, and moving towards their professional development goals, then all is right in my world.
-
Doers and Managers
If you peel back a lot of the debates about software product development, you’ll end up at this tension. How much autonomy is given to the doers? Is the role of management to serve the doers, or serve “the business” ? What is the role of craft ? Who — managers or doers — are dispensable ? What is oversight? What happens when managers behave badly? Who decides if something is “good enough”? What does “moving up” mean, if you are a doer?
-
Why we’re betting against real-time team messaging – Ambition & Balance
Slack the product wasn’t the issue. It’s perfectly designed and built for what it does — real-time messaging for teams. It was real-time messaging itself that was the problem.Slack was useful for quickly checking on things, but we found that it was a troublesome channel for big picture discussions. Group chat interfaces are designed for rapid fire messaging, and it was nearly impossible to sustain a full conversation from start to finish.
The Cost of Interrupted Work: More Speed and Stress: http://www.ics.uci.edu/~gmark/chi08-mark.pdf
- The Best Advice We Overheard at First Round's CTO Unconference
-
What can developers learn from being on call? - Julia Evans
You simply cannot teach people to build robust and reliable systems without feeling the pain themselves. You cannot talk about concepts such as self-healing systems or introducing failures by design without getting the people who build it to wake up at night and understand why it matters. Don’t outsource this skill too quickly.
-
Thrown Into Management: Lessons Learned Leading Thumbtack's Design Team - Bridge
VP of Design decided to leave, and I suddenly found myself in charge of leading the design team. On top of that, I became responsible for tripling its headcount by the end of the following year.
Over the next 14 months, my team would grow from 5 to 18, from single-discipline to multi-discipline, and from flat to stacked. But with just six weeks at Thumbtack behind me, I had no idea how I was going to get through that next year.
I learned many lessons, but two stand out as the most important ones that helped me and the team get unstuck and get moving: build trust (quickly) and keep the team engaged once that trust is in place.
-
CPU Utilization is Wrong
CPU utilization has become a deeply misleading metric: it includes cycles waiting on main memory, which can dominate modern workloads. You can figure out what %CPU really means by using additional metrics, including instructions per cycle (IPC). An IPC < 1.0 likely means memory bound, and an IPC > 1.0 likely means instruction bound.
-
Why Middle Managers Are So Unhappy
9. Their distinctiveness is not valued or appreciated
8. They see the organization as inefficient and ineffective
7. They’re overworked
6. They don’t believe that if they raise an issue it will be addressed
5. They don’t feel valued or appreciated
4. They feel they are treated unfairly compared with others
3. Their work lacks meaning and purpose
2. They see no career or promotion opportunities
1. Poor leadership
Our bottom-line view is simple: When a good leader is in place, there’s no reason to put up with a disengaged employee. But every employee deserves to work for a good leader. No organization should tolerate the harm that bad ones do to their people and their business.
-
There's 2 secrets to scaling to millions of users
1. You aren’t going to have millions of users so any work you do to support it is stopping you from delivering features that will make your existing 10 clients happier. 2. Write code that can be replaced (i.e. design for change). When preparing a complex new system, discuss how i…
-
Five Lessons from Scaling Pinterest – Greylock Perspectives
People often say that what you measure, improves. While true, it overlooks how strategic the decision of what you measure is. If you get stuck measuring the wrong thing, you could end up wasting your time on the wrong initiatives.
Org changes are often painful and distracting but they’re absolutely necessary as a company scales. When an org structure doesn’t reflect your strategy or is overly matrixed, it acts as a tax on your company’s ability to execute.
- Don't Look for a Great Idea. Look for a Good Problem
-
Faster Networks + Cheaper Messages => Microservices => Functions => Edge - High Scalability -
Olden Days
- 10 or so years ago
- Mostly 1 gbps network.
- State of the art was a monolithic Java application connected to a big relational database.
- Systems were decomposed using Web Services that exchange XML messages.
- Sending XML over a slow network had high overhead. Just parsing XML is slow.
- Since web services were slow the resulting architecture featured large servers with a relatively low number of messages exchanged between them.
- The slowness of the system meant a request couldn’t hit more than two or three services before returning a reply, so it was difficult to decompose a monolith into smaller services.
Now
- Network is 25 gbps.
- Messages are Avro, gRPC, etc, which are 100x more efficient than XML.
- Combining the faster network with better message formats means we’re 100x to 1000x more efficient at sending messages between servers. (Historical note: we’ve always had cheap messaging on Unix, people just forgot that when they went insane with XML.)
- Now it’s possible to break an architecture up into many smaller services because it’s possible to make 100 microservices calls and return a reply within latency bounds.
- Microservices became possible because of a technology change. A system could be broken up into smaller services where every service has a single responsibility.
- Now it’s possible to a go a step further by breaking up microservices into the separate functions making up those services.
- We can afford to connect all these functions together because messaging has become cheaper.
- 10 or so years ago
-
Study: Having Weekly Sex Will Make You As Happy As Getting a $50k Raise
So protecting the species and protecting yourself has the same benefits emotionally of protecting your finances — all stemming from the basic instinct to have what you need to take care of yourself in life.
-
‘Follow your passion’ is wrong, here are 7 habits you need instead
1. Not passion, purpose
2. Not passion, picking
3. Not passion, practice
4. Not passion, planning
5. Not passion, positioning
6. Not passion, peripheral
7. Not passion, perseverance
-
Intel, Mobileye, and Smiling Curves
Microprocessor manufacturing or the establishment of brand name business comes with a higher entry barrier, and requires many years of strength accumulation to achieve progress. However, computer assembly is very easy. That is why no-brand computers are found everywhere in electronic shopping malls.
Apple used software to bundle together manufacturing (done under contract) and the final product marketed to consumers; over time the company also added components, specifically microprocessors, to the bundle (also built under contract). The result was the most successful product of all time.
Google, meanwhile, made Android free; the bundle, such as there was, was between the operating system and Google’s cloud. The rest of the ecosystem was left to fight it out: distribution and marketing helped Samsung profit on the right, while R&D and manufacturing prowess meant profits for ARM, Samsung, and Qualcomm, along with a host of specialized component suppliers, on the left. Still, no one was as profitable as Intel was in the PC era, because no one had the software bundle.
The cloud took the commodification wave that hit PCs to a new extreme: major cloud providers, armed with massive scale and their own reference designs, hired Asian manufacturers directly. The one exception was Intel and its Xeon chips (which themselves undercut purpose-built server processors from companies like Sun and IBM), which continue to be the most important contributors to Intel’s bottom-line. Still, the real value in the cloud is on the right, where the software is: Facebook, Google, AWS.
(…) changes happening in the personal transportation industry simultaneously:
1. Drivetrains were changing from the internal combustion engine to electric
2. Car operation was moving from human-based to computer-based (i.e. self-driving cars)
3. Ownership was shifting from individuals to fleets, dispatched by ride-sharing services
- Happiness is a Boring Stack
-
The AWS and MongoDB Infrastructure of Parse: Lessons Learned
Parse did a lot of things right. The documentation was great, the mobile SDKs were solid and the web UIs well-designed. However, they had an unspoken value system of not trusting their users to deal with complex database and architectural problems.
-
Evolution of Business Logic from Monoliths through Microservices, to Functions
As technology has progressed over the last decade, we’ve seen an evolution from monolithic applications to microservices and are now seeing the rise of serverless event driven functions, led by AWS Lambda. What factors have driven this evolution? Low latency messaging enabled the move from monoliths to microservices, low latency provisioning enabled the move to Lambda.
To start with, ten years ago, a monolithic application was the best way to deliver business logic, for the constraints of the time. Those constraints changed, and about five years ago the best option shifted to microservices. New applications began to be built on a microservices architecture, and over the last few years, tooling and development practices changed to support microservices. Today, another shift is taking place, to event driven functions, because the underlying constraints have changed, costs have reduced, and radical improvements in time to value are possible.
Advances in delivery technology provide stepping stones for improvements in time to value, but there are other underlying changes that have caused a series of transitions in best practices over the last decade.
The optimal size for a bundle of business logic depends upon the relative costs in both dollars and access time of CPU, network, memory and disk resources, combined with the latency goal for the service.
There have also been huge changes in “people and process” over the last decade. Let’s consider a hypothetical monolith built by 100 developers working together. To coordinate, manage test and deliver updates to this monolith every few months it’s common to have more people running the process than writing the code. Twice as many project managers, testers, DBA’s, operators etc. organized in silos, driven by tickets, and a management hierarchy demanding that everyone write weekly reports and attend lots of status meetings as well as find time to code the actual business logic!
The combination of DevOps practices, microservices architectures, and cloud deployments went hand in hand with continuous delivery processes, cellular based “two pizza team” organizations, and a big reduction in tickets, meetings and management overhead. Small groups of developers and product managers independently code, test and deploy their own microservices whenever they need to. The ratio of developers to overhead reverses, with 100 developers to 50 managers. Each developer is spending less time in meetings and waiting for tickets, getting twice as much done with a hundred times better time to value. A common shorthand for this change is a move from project to product. A large number of project managers are replaced with far fewer product managers. In my somewhat contrived example, 150 people are producing twice the output that 300 people used to. Double the return a hundred times sooner, on half the investment. Many organizations have been making this kind of transition and there are real examples of similar improvements.
-
How Amazon innovates in ways that Google and Apple can't
Amazon has shown a remarkable ability to succeed in a wide variety of different product categories. That’s a contrast to most other high-profile tech companies that are really good in one area but struggle when the quest for growth pushes them outside their zone of core competency.
Amazon has figured out how to combine the entrepreneurial culture of a small company with the financial resources of a large one. And that allows it tackle problems most other companies can’t.
Google’s approach — solve the hard technical problems first, worry about the business model later — is rooted in the engineering background of Google Founders Larry Page and Sergey Brin. In contrast, Amazon CEO Jeff Bezos spent almost a decade working for several Wall Street firms before starting Amazon — a background that gives him a more pragmatic outlook that’s more focused on developing products customers will actually want to pay for.
A key factor in making this work, Ries says, is that experiments start small and grow over time. At a normal company, when the CEO endorses an idea, it becomes a focus for the whole company, which is a recipe for wasting a lot of resources on ideas that don’t pan out. In contrast, Amazon creates a small team to experiment with the idea and find out if it’s viable. Bezos famously instituted the “two-pizza team” rule, which says that teams should be small enough to be fed with two pizzas.
Bezos has worked hard to make Amazon a modular, flexible organization with a minimum of company-wide policies. That has made Amazon’s internal culture somewhat chaotic and balkanized. An engineer on one Amazon project can’t easily jump to another the way they can at Google or Apple. Friction between teams with different cultures may explain why some people find Amazon a stressful place to work.
But this chaotic culture is also hospitable to innovation. A new team can use the tools and processes that make the most sense instead of feeling pressure to conform to company-wide standards.
But acquiring fast-growing startups is a very expensive way for a big company like Google or Uber to stay on the cutting edge. And in many cases, this strategy doesn’t even work. Google’s $2 billion acquisition of Nest was supposed to accelerate the company’s growth, but instead the company has struggled under the Alphabet umbrella.
This is what makes Amazon’s evident success at nurturing entrepreneurial projects internally so significant. Amazon doesn’t need to rely so heavily on expensive and risky acquisitions because it has developed a system for nurturing entrepreneurial projects internally. And as technology invades the real world, there are going to be more and more opportunities for these kinds of entrepreneurial projects.
-
The Inside Story of BitTorrent’s Bizarre Collapse
In 2008, Eric Klinker, who was then chief technology officer, became BitTorrent’s CEO. Klinker possessed a rare combination of traits — he had the people skills to run the company, and he was sharp enough technically to win Cohen’s respect.
Perhaps the lesson here is that sometimes technologies are not products. And they’re not companies. They’re just damn good technologies. Vint Cerf did not land a Google-size fortune for having helped invent the TCP/IP protocols that power the Internet (though he did get the U.S. National Medal of Technology). What’s more, to be successful, a startup requires both a great idea for a product or service, and a great idea for how to make money off of it. One without the other will fail.
2016
-
50 things I learned at NIPS 2016
Current machine learning techniques work best when training data and real data come from the same distribution. When it’s likely that an algorithm will be applied in a setting that is different from the training setting, it can be good to have the test set come from a different distribution than the training set, hopefully mirroring how the real application data will again come from a different distribution. This way, you get a better sense for how the algorithm does under distribution shift
Why does deep learning work now, but not 20 years ago, even though many of the core ideas were there? In one sentence: We have more data, more compute, better software engineering, and a few algorithmic innovationsFor some products at Baidu, the main purpose is to acquire data from users, not revenue
For speech recognition, ML algorithms are now benchmarked against teams of humans, not individuals
-
If You’re So Smart, Why Aren’t You Rich?
Science doesn’t have a definitive answer, although luck certainly plays a role. But another key factor is personality, according to a paper Heckman co-authored in the Proceedings of the National Academy of Sciences last month. He found financial success was correlated with conscientiousness, a personality trait marked by diligence, perseverance and self-discipline.
Even IQ tests, which were designed to assess innate problem-solving capabilities, appear to measure more than just smarts. In a 2011 study, University of Pennsylvania psychologist Angela Duckworth found that IQ scores also reflected test-takers’ motivation and effort. Diligent, motivated kids will work harder to answer tough questions than equally intelligent but lazier ones.
A newer study published this month in the journal Nature Human Behaviour focused on the flip side of success: hardship. After following some 1,000 New Zealanders for more than 30 years, researchers concluded that tests of language, behavioral skills and cognitive abilities taken when children were just three years old could predict who was most likely to need welfare, commit crimes, or become chronically ill.
The lead author of that paper, Duke University psychologist Terrie Moffitt, says she hopes the results would foster compassion and help, not stigma. Her results also suggested that helping people improve certain kinds of skills before they’re out of diapers would benefit everyone.
-
The Long-Term Jobs Killer Is Not China. It’s Automation.
Over time, automation has generally had a happy ending: As it has displaced jobs, it has created new ones. But some experts are beginning to worry that this time could be different. Even as the economy has improved, jobs and wages for a large segment of workers — particularly men without college degrees doing manual labor — have not recovered.
The changes are not just affecting manual labor: Computers are rapidly learning to do some white-collar and service-sector work, too. Existing technology could automate 45 percent of activities people are paid to do, according to a July report by McKinsey. Work that requires creativity, management of people or caregiving is least at risk.
-
The Future of Driving Is Now a Gold Rush
2017 will show us that limited deployments are technically, legally, and socially possible, even under today’s laws
The prices of these cars’ most important sensors are plummeting. Laser-ranging lidar units — the things that build up a 3D image of the car’s surroundings — used to cost multiples of the cars on which they were mounted. Now they are priced in the thousands or even hundreds of dollars. Radars, which help pinpoint other road users, are also getting smaller and cheaper, and today’s high-definition video cameras are so cheap they are almost free.
The first self-driving car experiments are over, and the results are clear. The technology is feasible, becoming increasing affordable, and has a multi-billion dollar potential market. But in 2017 the tough work of scaling and commercializing begins. Concerns remain about the safety and reliability of the autonomous vehicles, especially in their interactions with their human operators and other road users.
- Mr. Robot killed the Hollywood hacker
-
Why Good Employees Quit
People work for people – they do not work for businesses
- Tech firms shell out to hire and hoard talent
-
Lessons Learned from Scaling Uber to 2000 Engineers, 1000 Services, and 8000 Git repositories - High Scalability -
Scaling the traffic is not the issue. Scaling the team and the product feature release rate is the primary driver.
-
Modern Agile
- Make people awesome
- Make safety a prerequisite
- Experiment and learn rapidly
- Deliver value continuously
- The mobile device lab at the Prineville data center
- The Repository Pattern
-
Eventsourcing: Why Are People Into That?
What makes the combination of eventsourcing, Domain Driven Design and CQRS so attractive is that it can greatly simplify building software which keeps subsystems cleanly separated and independently maintainable as more features are added over time, akin to what we have learned to do for cars, spacecraft and toasters.
-
Facebook doesn’t use MySQL as a dumb k/v store. This is simply incorrect. Although for primary product data (status upda
Facebook doesn’t use MySQL as a dumb k/v store. This is simply incorrect.
Although for primary product data (status updates, friends, likes, etc) the access pattern is restricted via a data access layer, it’s supporting a distributed graph model (nodes and edges, distributed across many shards). Far more features than a “dumb k/v store”.
Separately, Facebook uses MySQL for countless other critical OLTP use-cases, and (for better or worse) even a few OLAP use-cases. It’s the primary store of Facebook, across the entire company. It’s the storage layer for ad serving, payments, async task persistence, internal tooling, many many other things. Most of these use-cases make full use of SQL and the relational model.
I was the lead dev on FB’s internal DBaaS, which alone supports several thousand different workloads. Despite making up only a few percent of fb’s mysql fleet, it alone is still larger than the vast majority of Postgres deployments on earth.
Regarding people not having heard of Postgres: these are big companies with smart, well-informed engineers. And I assure you that Uber and Lyft haven’t moved from pg to mysql because they hadn’t heard of pg :)
-
Venture capitalist Marc Andreessen explains how AI will change the world
The problem is insufficient technological adoption, innovation, and disruption in these high-escalating price sectors of the economy. My thesis is that we’re not in a tech bubble — we’re in a tech bust. Our problem isn’t too much technology or people being too excited about technology. The problem is we don’t have nearly enough technology. These cartel-like legacy industries are way too hard to disrupt.
-
9 Emotionally Intelligent Norms Your Team Needs To Be Truly Productive
In fact, professional EQ is now arguably as important as technical skill (IQ) for success in the workplace. In other words, the adage “It’s not personal, it’s just business,” no longer applies because studies show that true engagement and innovation stem from a personal investment in the task at hand.
-
Confessions of a Necromancer - Hintjens.com
I’ve worked in the weirdest possible projects, with crews of all sorts. There has always been a thread of insanity in our business. We’re hooked on doing the impossible. Clients lie to themselves that they’ve hired a team that know what they’re doing. The team lie to their clients that they’re in control. The sales people lie. The marketing department lies.
Most of the time, most large software projects fail, and this is still true in 2016. Yet for most of my career, my special talent was to make projects work, no matter how impossible the technical challenges. I am a really good technical architect, able to understand systems at the lowest and the highest levels. I can write all the code myself, or I can explain to people exactly what to make, and it all fits together like laser-cut blocks.
It took me decades to realize that technology is a slave to personality. It doesn’t matter how good the design, when there are unresolved problems in the organization.
And so gradually I shifted from technical architect to social architect. From caring about technical designs to caring about people and the psychology that drives them. Because in the end, this is what seems to make the difference between a working project and a failure.
-
Coding is not ‘fun’, it’s technically and ethically complex – Walter Vannini | Aeon Ideas
the art and science of making software is now as accessible as the alphabet (..) But you’d never hear someone say that brain surgery is ‘fun’, or that structural engineering is ‘easy’
-
Reducing Cognitive Overload For A Better User Experience – Smashing Magazine
Cognitive load refers to the total amount of information your working memory can handle. Cognitive overload happens when your working memory receives more information than it can handle comfortably, leading to frustration and comprised decision-making.
-
The Rise of Worse is Better
Simplicity: the design must be simple, both in implementation and interface. It is more important for the interface to be simple than the implementation.
Correctness: the design must be correct in all observable aspects. Incorrectness is simply not allowed.
Consistency: the design must not be inconsistent. A design is allowed to be slightly less simple and less complete to avoid inconsistency. Consistency is as important as correctness.
Completeness: the design must cover as many important situations as is practical. All reasonably expected cases must be covered. Simplicity is not allowed to overly reduce completeness. -
Live asynchronously.
Your time is your most valuable asset. Be protective of it. Don’t let others thoughtlessly waste it.
- Smaller and faster data compression with Zstandard
- cockroachdb/cockroach
-
Are Your Apps Sluggish? Blame Summer
On average, your apps will run about 15% slower in the summer! The explanation is due to the science behind the propagation of radio waves. Increases in water vapor cause attenuation of the waves1 , especially at higher frequency bands. This means that the humid summer months will cause degradation in signal strength, and slight delays in data delivered to the handsets of your customer base.
-
Redis for Very Large Datasets
Redis and flash are a good mix
-
The Strength of Scrum - Scrum.org Community Blog
Scrum offers you a mirror. But it doesn’t guarantee a beautiful reflection in return. However, it’s the reality and the truth. This reality can be beautiful but also very painful. If it’s beautiful: enjoy and celebrate! If it’s painful: fix it, deal with it! This is exactly why some organizations love Scrum and why some dislike it.
- How Exhaustion Became a Status Symbol
-
You’re doing it wrong: Definition of Done
if you’re feeling the Definition of Done as a contract, you’re doing it wrong
- The Done Manifesto Lays Out 13 Ground Rules for Getting to Done
- The first rule of prioritization: No snacking - Inside Intercom
-
Ask the CTO: Balancing development desire with product goals
The job is not to build technical architecture, but to create living systems that support the growth of whatever business you are part of
-
Geez, Now Internet Insurance? | Internet Archive Blogs
One change we could make would be to send our traffic through CloudFlare, or similar, to filter out unwelcome packets as an “Insurance against Internet attackers.” Some people go to “cloud services” that have the sysadmins filter out the zealous ones. Both of these solutions would mean that our traffic would go through someone else’s hosts, which means $, privacy loss, and general loss of the end-to-end Internet. It is like converting to Gmail because there are so many spammers on the net and Google is capable of filtering out those losers.
- What does it cost to make a running shoe?
- The 11 Advantages of Using a Sprint Goal
-
Don’t create a sense of urgency, foster a sense of purpose
Don’t create a sense of urgency, foster a sense of purpose
2015
-
A 360 Degree View of the Entire #Netflix Stack
A 360 Degree View of the Entire Netflix Stack
- Instagration Pt. 2: Scaling our infrastructure to multiple data centers | Instagram Engineering
- Mobile, ecosystems and the death of PCs
- Microservices Guide
-
7 things I’ve Learned About Lean Startup
hardest thing about Minimum Viable Products is that while you decide what’s Minimum, the customer determines if it is Viable
- What Elon Musk Can Teach Us About Agile Software Development
-
Leaders and Executives
Leading is charisma, strength, communication, vision, listening, calm, connecting, trust, faith, and belief. Management is recruiting, retaining, delegating, deciding, communicating, and above all executing.
- Our Transparent Formula and All Individual Salaries Buffer Open
- How to Scale Yourself and Get More Done Than You Thought Possible
-
How Google Backs Up the Internet Along With Exabytes of Other Data
Backups are a tax you pay for the luxury of a restore. It’s a restore system not a backup system.
- Why every Startup needs to have a V2MOM
-
Fear of failure and lack of speed in a large corporation
Our founders built a company known for taking risks and moving fast. Now we’re known for “making the numbers”
- Why Do Managers Hate Agile?
- 5 Signs It’s Time for a New Job
- How Microsoft dragged its development practices into the 21st century
- 10 Life Lessons to Excel in Your 30s
-
Ad tech is killing the online experience
When it comes to the economics of online publishing, the first thing to remember is that job No 1 isn’t to get the news to you. Rather, it is to monetise you, by selling you off, in real time, to the highest bidder.
- Inside NGINX: How We Designed for Performance & Scale
- The Hitchhiker's Guide to Modern JavaScript Tooling
- Silicon Valley’s Dirty Secret — Medium
- At Airbnb, Data Science Belongs Everywhere: Insights from Five Years of Hypergrowth
- Software is eating the world, and it sucks.
- 500 Billion Documents & Counting: Scaling Elasticsearch for Production
- How Uber’s Autonomous Cars Will Destroy 10 Million Jobs And Reshape The Economy by 2025
- Intuitively Showing How To Scale a Web Application Using a Coffee Shop as an Example
- Why Some Men Pretend to Work 80-Hour Weeks
-
Do Not Learn Frameworks. Learn the Architecture.
Alex explains why it’s better to learn the architecture in general, rather than popular frameworks.
- Messaging and mobile platforms
- Yahoo Cloud Object Store - Object Storage at Exabyte Scale
-
40 Key Computer Science Concepts Explained In Layman’s Terms
Computer science summarized in an article. For everyone. Contains minimal technical terms and jargons.
- learn to stop using shiny new things and love #MySQL
- Load testing Apache Kafka on AWS | Jamie Alquiza
- Notes from Facebook's Developer Infrastructure at Scale F8 Talk
- Motivated people don't need to be told what to do - Spotify Engineering Culture
- A letter to Scrum Masters — The Pragmatic Leader
- What is Confusing About #Kafka?
- The Goog Life: how Google keeps employees by treating them like kids
- Culture matters - The early days of Onet.pl
- A letter to Scrum Masters
-
I wish that real estate were cheaper and clothes were more expensive. But that’s what young people want: $2 T shirts tha
I wish that real estate were cheaper and clothes were more expensive. But that’s what young people want: $2 T shirts that fall apart in the wash.
— Fran Lebowitz
- Sky is not the limit
- 10 Reasons to Consider a Multi-Model Database
- Scaling Engineering with Docker
- How to scale your company culture
- Why use Event Sourcing
- How to Program Your Mind to Stop Buying Crap You Don’t Need
- Build up a High Availability Distributed Key-Value Store — Medium
- Scaling Engineering with #Docker - real #agile
- Why You Should NOT Implement Layered Architectures
- The Cost of Too Many Projects in Portfolio
- A JS framework on every table
- Introducing Espresso - LinkedIn's hot new distributed document store
- Why Learning to Code is So Damn Hard
- Why Learning to Code is So Damn Hard
- How to Buy Happiness: The Purchases Most Likely to Bring You Joy
- Why we don’t have technical interviews for technical roles at Buffer — Buffer Posts — Medium
- Why we don’t have technical interviews for technical roles at Buffer — Buffer Posts — Medium
- The Tao of HashiCorp
2014
-
Let the Other 95% of Great Programmers In
there is a huge variation in ability between competent programmers and exceptional ones
- Why Docker changes EVERYTHING
- Is Docker Eating Java's Lunch?
- The 5 Most Important Things I’ve Learned From Using Docker
- Getters/Setters. Evil. Period.
-
How quitting my corporate job for my startup dream f*cked my life up — Everything About Entrepreneurship and Startups — Medium
“If you don’t build your dream, someone will hire you to help build theirs.”
- Why Amazon Has No Profits (And Why It Works)
- 7 simple rules for hiring great developers
- DNS Interface
- MicroservicePrerequisites
- 15 technologies changing how developers work
- A Clash of Development Cultures
- Docker Misconceptions
- How to argue for Python’s use
- The Java Origins of Angular JS: Angular vs JSF vs GWT
- Software eats software development
- Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Couchbase vs Hypertable vs ElasticSearch vs Accumulo vs VoltDB vs Scalaris comparison
- Why use www?
- BoundedContext
- Contino | Microservices Are Not a free lunch! - Contino
- Expert interview: How to scale Django
- on io scheduling again
- Cassandra lowers the barriers to big data
- Managers Beware: What Toxic "Jane" or "Joe" Can Do to Your Team
- ★Management: What are common mistakes that new or inexperienced managers make?
- 20 Things That Mentally Strong People Don’t Do
-
Don’t Fuck Up the Culture
Culture is simply a shared way of doing something with passion.
-
How to Level Up
Job seekers are often prone to placing too much weight on a position’s salary or title without fully considering the position’s potential opportunity
- Hyperproductivity Myth
-
How to Reduce Stress by Doing Less and Doing It Slowly
“Many people live in a constant state of high alert”
- Comparision of different concurrency models: Actors, CSP, Disruptor and Threads
- Google Finds: Centralized Control, Distributed Data Architectures Work Better than Fully Decentralized Architectures
- I reckon your message broker might be a bad idea. — programming is terrible
Nothing matches. Try a shorter word.