More from Joel Gascoigne's blog
Fourteen years It's a little hard to believe. Fourteen years ago today, I launched Buffer from my apartment in Birmingham, in the UK. The launch came seven weeks after I started working on the project on the side as a contract web developer. For a few weeks, I called it bfffr until I realized that no one knew how to pronounce it. Sometimes it's better to be clear than clever. So it became bufferapp.com. Even then, people thought we were called Buffer App for a while! Eventually we were able to acquire buffer.com and clear up the confusion altogether. When I started Buffer, I had no idea how far it could come. This was a case where the dream formed over time, rather than being fully formed on day one. There's a dogma that you need to have complete clarity of the vision and outcome before you even start (and go all-in and full-time, which I also disagree with). I think there's a beauty in starting with a small dream. It just so happens that every big thing started small. Early on, my dream was just to create a tool that made it easy to Tweet consistently, build it for myself and others, and make enough money to cover my living expenses and go full-time on it. The number for me to be able to work on it full-time was £1,200 per month, and that felt almost out of reach in the beginning. Today, Buffer generates $1.65 million per month, serves 59,000 customers, and enables fulfilling work for 72 people. I've had many dreams with Buffer, each one progressively becoming more ambitious. To me it's always felt like I can just about see the horizon, and once I get there, I see a new horizon to strive for. I've tried to embrace that Buffer can continue to evolve as I, the team, and customers do. A lot happens as a founder and as a business in fourteen years. I started the company when I was 23. I was young, ambitious, and had so much to learn. My naivety served me well in so many ways. At the same time, I like to think that the years have given me a more intentional, decisive approach to business. Broadly, it feels like we've had three eras to the company so far. In our first era, we found traction, we built swiftly and with fervor, we grew a special community of users and customers, and we did it all in our own way. We were a remote company before almost anyone else, and were part of the earliest days of building in public. There's so much we did right in that first era, though we also had wind in our sails which masked our errors and immaturity. The second era of Buffer was marked by growing pains, a struggle to understand who we really are, missteps and through that, transformation, clarity, and new beginnings. These years were very much the messy middle of Buffer. They were also where I experienced my lowest lows in the journey so far. As hard as this experience was, I am grateful as it was the path I needed to walk in order to grow as a leader, cement our independence and long-term ambitions, rediscover Buffer's purpose, and start to operate with greater conviction. We're a couple of chapters into our current era. With a renewed focus on entrepreneurs, creators, and small businesses, we started making bolder moves to serve them and create a more unique offering in what had become a very crowded and commoditized space. Through a clearer strategy, strengthening our culture, and improving how we work as a team, we emerged from a multi-year decline. Last year, we turned the ship around and had a flat year. This year, we're on track for over 10% growth and a profitable year. It doesn't feel like a coincidence to me that this final era has also been the phase where I've experienced one of the most joyful and demanding experiences as a human: becoming a parent. I have a wife and I have two young boys, and they mean the world to me. I also started prioritizing my community of family and friends, as well as cultivating hobbies again. I spend time on my health and fitness, try to keep up my skiing, and recently picked up playing the piano again. Time has become a lot more precious, and with that, clarity and conviction are more vital than ever. As much as it sometimes feels hard to fit everything in, to me, it's the whole package that makes life fulfilling. When I really stop to take a step back, I feel very lucky that I've been able to do this for fourteen years. It's a long time in any sense. In tech and social media it feels like almost a lifetime already. And yet, just like those early days when I could barely imagine reaching £1,200 per month, I'm still looking toward that next horizon. I see a clear opportunity to help entrepreneurs, creators and small businesses get off the ground, grow, and thrive long-term. Photo by Simon Berger on Unsplash.
The significance of Bluesky and decentralized social media I'm delighted to share that we have introduced support for Bluesky in Buffer. This is an important moment for us as a company, and there are a number of reasons that adding Bluesky is personally meaningful for me. With Bluesky, we now support the three major social networks pushing forward a new era of decentralized social media: Mastodon, Threads and Bluesky. We have been intentional about moving fast to add these channels to our tool. Supporting independence and ownership in social media Buffer has now existed for almost 14 years, and throughout that time I've seen a lot change in social media, and in our space of tools to support people and businesses with social. We're an outlier as a product and company that has existed for that kind of timeframe with leadership and values left in tact. We've had to work hard at times to maintain control over our destiny. In 2018, we made the decision to spend $3.3M to buy out the majority of our VC investors and be able to go our long-term path. We have continued to carry out buybacks each year since 2018, and at this stage we are majority founder and team owned. One of the things I'm proudest of is that we still wholeheartedly serve individuals and creators, and have not gone up-market as many other long-running companies in our space have done. We've been fortunate to be able to scale to 56,000 paying customers and over $18M in annual revenue while taking our own unique path. Through intentional choices over the years, we have maintained a level of optionality over our future that most do not have. This independence is something I don't take for granted. Keeping ownership of our company, and through that ownership having an ability to boldly go in the direction we believe is best for customers and the team, is very important to me. This is why, as a business, we feel so philosophically aligned with rising new decentralized social media networks, such as Bluesky and Mastodon. These networks have been started with a belief that individuals should maintain ownership over their content and the connection to their audience. They have data portability baked in from the beginning. When you use these networks, you are much more likely to be able to maintain control over your content and audience than if you use social networks owned by large corporations with complex ownership structures of their own, and often with public markets to answer to. The larger social networks provide a level of distribution that's worth tapping into, but I strongly encourage investing a portion of your energy into networks where you will be able to maintain ownership long-term. At Buffer, we will be doing everything we can to support the growth of new decentralized social media options, because we believe that individuals and small businesses should maintain control over their content and the connection to their audience. The resurgence of the open web with social media protocols I have been eagerly observing the emergence and growth of social media protocols, in particular with ActivityPub (and Mastodon as the prominent implementation), and AT Protocol from Bluesky. Open standards in social media could be as powerful as open standards have been for direct and private communication (email). What I find exciting about the development of these open standards, and more importantly the adoption of them and traction of social networks which support them, is that they can bring forth a new era of open standards for the web. The Internet was built upon open standards — HTTP, URL, TCP/IP, DNS, HTML. A vast many valuable internet businesses have built on these "shoulders of giants." ActivityPub and AT Protocol are built with open standards philosophies, and could similarly enable a new playground of innovation, with openness, ownership and interoperability at their core. I personally miss the earlier days of social media where the APIs had much greater parity with what could be done natively on the platforms. When I started Buffer, the Twitter and Facebook APIs were close to feature-complete, and brought about a lot of innovation in third-party development on top of those APIs. This is how Buffer was born, along with many other products in our space. Over time, we saw an era of closed APIs with reduced transparency and ownership of content and audiences. Mastodon and Bluesky bring the opportunity for a new era of innovation in our space, which I am welcoming with open arms. More innovation in the social media management space will be better for customers, and frankly makes for more exciting work to do. Bluesky is bringing innovation back to social media If you haven't had a chance to take a look at some of Bluesky's recent product and platform announcements, I highly recommend that you go and read them. In particular, what they've done with introducing custom feeds as well as starter packs gets me very excited about some real innovation from a social network. When I saw starter packs introduced, it immediately felt like a no-brainer feature for a social network, and such a powerful thing, especially for an emerging social network, to offer. Starter packs allow anyone to create a "getting started pack" for a new Bluesky user. This can include a set of recommended follows, and up to three recommended custom feeds (more on those below). This enables their passionate users to be able to personalize an introduction for people not yet on Bluesky. It's a smart way to activate users to play a meaningful role in onboarding new people to the network and grounding them with an existing community to interact with. Of course, Bluesky benefits by likely getting more people onto their new network than they would otherwise. Custom feeds are an incredible innovation that put the choice of algorithm for the social network in the hands of the wide range of users and different niche communities that exist on the network. The way that the Bluesky team have built custom feeds enables a ton of flexibility for the types of content alogrithms can serve up, and creates a marketplace for browsing and enabling different custom feeds you can choose to view. Something I've observed from the Bluesky team is their commitment to, and intentionality around, building tools for the governance of the network itself. It's very meaningful that on Bluesky you can choose your own algorithm and you can adopt an algorithm that someone else has written, or create your own algorithm for what content shows up in your feed. And I think it's very smart that Bluesky has done this — because it's both innovation and it's strong strategy because it's a highly defensible move which many of the other networks would not be able offer. It would be very unlikely for the commercial social networks to move away from the company, the network themselves, holding on to ownership of the algorithm and what is served up to you. I had a wonderful conversation with Rose Wang from the Bluesky team a couple of weeks ago and one of the topics we got into was around the values that are embedded in the Bluesky team and the work they're trying to do. It was clear to me how thoughtful and intentional they are being around the governance of the network and the flexibility they're building in to allow users to really shape the community and what is important to them. Something I appreciate about Bluesky is that their goal is to create a social network not controlled by a single company, while also ensuring that it comes together as a cohesive and easy-to-use experience. Decentralized social media can be daunting and feel complex and inaccessible to people initially, and so I think intentional work going into the simplicity of the experience is paramount. With great innovation from the Bluesky team such as starter packs and custom feeds, along with their focus on simplicity, I strongly encourage you to go and take a look at this new social network. This is a platform and community that's worth taking a deeper look at, participating in and investing time into. Join us in participating in a new era of decentralized social media By supporting Bluesky, along with Mastodon and Threads, we are playing our part in moving forward this promising new era of social media. Many of us in the team have been personally drawn to these networks for their special and supportive communities. We're here to see decentralized social media grow and become more meaningful for more people across the world. That's why we've put our scale, brand and resources into building awareness and providing tools to make participating on these new social networks more streamlined. I encourage you to add Bluesky to your channels in Buffer, and start participating in the social network today. Learn more and get started by visiting our Bluesky page. Photo by Kumiko SHIMIZU on Unsplash.
Our vision for location-independent salaries at Buffer Note: this was originally posted on the Buffer blog. I’m happy to share that we’ve established a long-term goal that salaries at Buffer will not be based on location. We made our first step towards this last year, when we moved from four cost-of-living based location bands for salaries to two bands. We did this by eliminating the lower two location bands The change we made resulted in salary increases for 55 of 85 team members, with the increase being on average $10,265. When the time is right, we will be eliminating the concept of cost-of-living based location bands entirely, which will lead to a simpler approach to providing generous, fair and transparent salaries at Buffer. In this post I’m sharing my thinking behind this change and our approach to pay overall. Location and Salaries It’s been interesting to see the conversation about location and salaries unfold both within Buffer and beyond. We’ve heard from many teammates over the years about the pros and cons of the location factor, and of course we’ve watched with interest as this became a regular topic of conversation within the larger remote work community. I've had many healthy debates with other remote leaders, and there are arguments for eliminating a location component which I haven’t agreed with. I don’t believe pay differences across locations is unethical, and it has made a lot of sense for us in the past. However, the last few years have seen a lot of change for remote teams. A change like this isn't to be made lightly, and at our scale comes with considerations. Our Compensation Philosophy Compensation is always slowly evolving as companies and markets mature and change. We’ve been through several major iterations of our salary formula, and myriad small tweaks throughout the last 8 or so years since we launched the initial version. Part of the fun of having a salary formula is knowing that it’s never going to be “done.” Knowing that the iterations would continue, Caryn, our VP of Finance, and I worked together to establish our compensation philosophy and document our principles on compensation to help us determine what should always be true even as the salary formula changes over time. We arrived at four principles that guide our decisions around compensation. We strive for Buffer’s approach to salary, equity, and benefits to be: Transparent Simple Fair Generous These are the tenets that have guided us through compensation decisions over the years. After we articulated them as our compensation principles, we were able to look at the location factor of our formula with new clarity. There are a few key considerations that were part of our discussions and my decision to put Buffer on a path towards removing our location factor from salaries that I'll go into more detail about next. Transparency, Simplicity, and Trust Our salary formula is one of the fundamental reasons that we can share our salaries transparently. Having a spreadsheet of team salaries is a huge step toward transparency, but true transparency is reached when the formula is simple, straightforward, easy to understand, and importantly, easy to use. In one of our earlier versions of the salary formula, we calculated the cost-of-living multiplier for every new location when we made an offer. That was cumbersome, and it meant that a candidate couldn’t truly know their salary range until we calculated that. This was improved greatly when we moved to the concept of “cost-of-living bands.”. After that, different cities and towns could more easily be classified into each band. This massively increased the transparency of the formula, and I think it helped create a lot more trust in this system. Anyone could relatively easily understand which band their location fit into, and with that knowledge understand the exact salary they'd receive at Buffer. This type of immediate understanding of the salary formula, and ability to run calculations yourself, is where transparency really gains an extra level of impact and drives trust within and beyond the team. However, with our four cost-of-living bands, there were still decisions to be made around where locations fall, and this has been the topic of much healthy and productive debate over the years. The conversations around locations falling between the Average and High bands is what led us to introduce the Intermediate band. And with four choices of location, it has meant there is some disparity in salaries across the team. With the benefits that come from the powerful combination of transparency and simplicity, alongside the increased trust that is fostered with more parity across the team, I’m choosing to drive Buffer’s salary formula in the direction of eventually having no cost-of-living factor. Freedom and Flexibility We’ve long taken approaches to work which have been grounded in the ideal of an increased level of freedom and flexibility as a team member. When I started Buffer, I wanted greater freedom and a better quality of life than I felt would be possible by working at a company. That came in various forms, including location freedom, flexibility of working hours, and financial freedom. And as we’ve built the company, I’ve been proud that we’ve built a culture where every single team member can experience an unusual and refreshing level of freedom and flexibility. Since the earliest days, one of our most fondly held values has been to Improve Consistently, and in particular this line: “We choose to be where we are the happiest and most productive”. This is a value that has supported and encouraged teammates to travel and try living in different cities, in search of that “happiest and most productive” place. It has enabled people to find work they love and great co-workers, from a hometown near family where it would be hard to find a local company that can offer that same experience and challenge. It has also enabled people to travel in order to support their partner in an important career change involving a move, something which allows an often stressful change to happen much more smoothly, since you can keep working at Buffer from anywhere in the world. Having a culture that has supported moving freely across the globe has been a powerful level of freedom and flexibility. That freedom has been matched with a salary system which adjusts compensation to accommodate those changes in a fair and appropriate way. However, knowing that your salary will fluctuate and can decrease due to a choice to be somewhere else, does limit that freedom and the ability to make a decision to move. Moving towards a salary formula with parity across all locations, will enable an even greater level of freedom and flexibility. It feels clear to me that choosing to move is a personal or a family decision, and it is ideal if Buffer salaries are structured in a way that honor and support that reality. I’m excited that working towards removing our cost-of-living differences will help significantly reduce the friction involved in making a potentially positively life-changing decision to live in a different city or country. Results, Independence, and Reward At Buffer, we are not on the typical hyper-growth VC path. This comes with some constraints: we don’t have tens of millions in funding and unlimited capital to deploy in an attempt to find a rapid path to $100m and going public (thankfully, that’s not our goal). This path also means that our experiences as teammates in a variety of ways are directly tied to whether we are successfully serving existing and new customers. For example, the level of benefits, ability to travel (in normal times), and competitiveness of compensation, are very much driven by our revenue growth and profitability. But, this is independence too. The thing we often need to remind ourselves of, is that while we may feel more constrained at times, we have full freedom of what we do with the success we achieve. Making a choice like this is one example of that. It is my intention as founder / CEO that as we succeed together as a company, we all benefit from that success and see adjustments that improve our quality of life and create wealth. We are in a position of profitability which allows us to take a significant step towards removing the cost-of-living factor from our salary framework, which I believe serves those goals. And removing it entirely will be determined by us successfully executing on our strategy and serving customers well. Reducing Cost-of-Living Bands The way our salary formula works is that we benchmark a teammate’s role based on market data at the 50th percentile for the software industry in San Francisco and then multiply that by the cost-of-living band. So, a Product Marketer benchmark at the 50th percentile of the San Francisco market data is $108,838. Depending on the teammate’s location this would be multiplied by a cost-of-living band (Low, Average, Intermediate or High). For example, if they lived Boulder, Colorado, a city with Average cost-of-living, the benchmark would be multiplied by 0.85 for a salary of $92,512. To best reflect our compensation philosophy, company values, and the path we want for Buffer, we have eliminated the Low and Average cost-of-living bands. What we’ve done is brought all Low (.75 multiplier) and Average (.85 multiplier) salaries up to Intermediate (.9 multiplier), which we now call our Global band. This is what resulted in 55 teammates seeing on average an increase to their salary of $10,265. Our two bands are now Global (.9 multiplier) and High (1.0 multiplier). This change is based on my vision for Buffer and how being a part of this team affects each of us as individually, as well as the direction I believe the world is going. I’m excited about the change first and foremost because it supports our goal of having a transparent, simple, fair, and generous approach to compensation. This is also a move that raised salaries right away for more than half of the team. This point in particular gives me a lot of joy because I want compensation to be one of the incredible parts of working at Buffer. Money isn’t everything, and we all need kind and smart colleagues, a psychologically safe environment, and to work on challenging and interesting problems, in order to be fulfilled at work. Beyond that, however, money really impacts life choices, and that’s ultimately what I want for every Bufferoo; the freedom to choose their own lifestyle and make choices for themselves and their families’ long-term health and happiness. It’s important to me that people who choose to spend their years at Buffer will have the freedom to make their own choices to have a great life. And, for our teammates who live in much lower cost-of-living areas, a Buffer salary could end up being truly life changing. I’m really happy with that outcome. The decision was also impacted by the direction that I believe the world is going (and, the direction we want to help it go). Remote is in full swing, and it’s increasingly breaking down geographical borders. I believe this is a great thing. Looking ahead 10 or even 5 years, it seems to me that we’re going to see a big rebalancing, or correction, that’s going to happen. I believe it’s important to be ahead of these types of shifts, and be proactively choosing the path that’s appropriate and energizing for us. What next? Our plan is to eventually get to one single location band, essentially eliminating the cost-of-living factor from the salary formula altogether. This will be possible once we can afford to make this change and sustain our commitment to profitability. So, this will be driven by the long-term results we create from our hard work, creativity in the market, and commitment to customers. What questions does this spark for you? Send me a tweet with your thoughts. Photo by Javier Allegue Barros on Unsplash.
More in programming
<![CDATA[I'm exploring another corner of the Interlisp ecosystem and history: the Interlisp-10 implementation for DEC PDP-10 mainframes, a 1970s character based environment that predated the graphical Interlisp-D system. I approached this corner when I set out to learn and experiment with a tool I initially checked out only superficially, the TTY editor. This command line structure editor for Lisp code and expressions was the only one of Interlisp-10. The oldest of the Interlisp editors, it came before graphical interfaces and SEdit. On Medley Interlisp the TTY editor is still useful for specialized tasks. For example, its extensive set of commands with macro support is effectively a little language for batch editing and list structure manipulation. Think Unix sed for s-exps. The language even provides the variable EDITMACROS (wink wink). Evaluating (PRINTDEF EDITMACROS) gives a flavor for the language. For an experience closer to 1970s Interlisp I'm using the editor in its original environment, Interlisp-10 on TWENEX. SDF provides a publicly accessible TWENEX system running on a PDP-10 setup. With the product name TOPS-20, TWENEX was a DEC operating system for DECSYSTEM-20/PDP-10 mainframes derived from TENEX originally developed by BBN. SDF's TWENEX system comes with Interlisp-10 and other languages. This is Interlisp-10 in a TWENEX session accessed from my Linux box: A screenshot of a Linux terminal showing Interlisp-10 running under TWENEX in a SSH session. Creating a TWENEX account is straightforward but I didn't receive the initial password via email as expected. After reporting this to the twenex-l mailing list I was soon emailed the password which I changed with the TWENEX command CHANGE DIRECTORY PASSWORD. Interacting with TWENEX is less alien or arcane than I thought. I recognize the influence of TENEX and TWENEX on Interlisp terminology and notation. For example, the Interlisp REPL is called Exec after the Exec command processor of the TENEX operating system. And, like TENEX, Interlisp uses angle brackets as part of directory names. It's clear the influence of these operating systems also on the design of CP/M and hence MS-DOS, for example the commands DIR and TYPE. SDF's TWENEX system provides a complete Interlisp-10 implementation with only one notable omission: HELPSYS, the interactive facility for consulting the online documentation of Interlisp. The SDF wiki describes the basics of using Interlisp-10 and editing Lisp code with the TTY editor. After a couple of years of experience with Medley Interlisp the Interlisp-10 environment feels familiar. Most of the same functions and commands control the development tools and facilities. My first impression of the TTY editor is it's reasonably efficient and intuitive to edit Lisp code, at least using the basic commands. One thing that's not immediately apparent is that EDITF, the entry point for editing a function, works only with existing functions and can't create new ones. The workaround is to define a stub from the Exec like this: (DEFINEQ (NEW.FUNCTION () T)) and then call (EDITF NEW.FUNCTION) to flesh it out. Transferring files between TWENEX and the external world, such as my Linux box, involves two steps because the TWENEX system is not accessible outside of SDF. First, I log into Unix on sdf.org with my SDF account and from there ftp to kankan.twenex.org (172.16.36.36) with my TWENEX account. Once the TWENEX files are on Unix I access them from Linux with scp or sftp to sdf.org. This may require the ARPA tier of SDF membership. Everything is ready for a small Interlisp-10 programming project. #Interlisp #Lisp a href="https://remark.as/p/journal.paoloamoroso.com/exploring-interlisp-10-and-twenex"Discuss.../a Email | Reply @amoroso@oldbytes.space !--emailsub--]]>
Total disassociation, fully out your mind That Funny Feeling I was thinking today about a disc jockey. Like one in the 80s, where you actually had to put the records on the turntables to get the music. You move the information. You were the file system. I like the Retro Game Mechanics channel on YouTube. What was possible was limited by the hardware, and in a weird way it forced games to be good. Skill was apparent by a quick viewing, and different skill is usually highly correlated. Good graphics meant good story – not true today. I was thinking about all the noobs showing up to comma. If you can put a technical barrier up to stop them, like it used to be. But you can’t. These barriers can’t be fake, because a fake barrier isn’t like a real barrier. A fake barrier is one small patch away from being gone. What if the Internet was a mistake? I feel like it’s breaking my brain. It was this mind expanding world in my childhood, but now it’s a set of narrow loops that are harder and harder to get out of. And you can’t escape it. Once you have Starlink to your phone, not having the Internet with you will be a choice, not a real barrier. There’s nowhere to hide. Chris McCandless wanted to be an explorer, but being born in 1968 meant that the world was already all explored. His clever solution, throw away the map. But that didn’t make him an explorer, it made him an idiot who died 5 miles from a bridge that would have saved his life. And I’ll tell you something else that you ain’t dying enough to know Big Casino Sure, you can still spin real records, code for the NES, and SSH into your comma device. But you don’t have to. And that makes the people who do it come from a different distribution from the people who used to. They are not explorers in the same way Chris McCandless wasn’t. When I found out about the singularity at 15, I was sure it was going to happen. It was depressing for a while, realizing that machines would be able to do everything a lot better than I could. But then I realized that it wasn’t like that yet and I could still work on this problem. And here I am, working in AI 20 years later. I thought I came to grips with obsolescence. But it’s not obsolescence, the reality is looking to be so much sadder than I imagined. It won’t be humans accepting the rise of the machines, it won’t be humans fighting the rise of the machines, it will be human shaped zoo animals oddly pacing back and forth in a corner of the cage while the world keeps turning around them. It’s easy to see the appeal of conspiracy theories. Even if they hate you, it’s more comforting to believe that they exist. That at least somebody is driving. But that’s not true. It’s just going. There are no longer Western institutions capable of making sense of the world. (maybe the Chinese ones can? it’s hard to tell) We are shoved up brutally against evolution, just of the memetic variety. The TikTok brainrot kids will be nothing compared to the ChatGPT brainrot kids. And I’m not talking like an old curmudgeon about the new forms of media being bad and the youth being bad like Socrates said. Because you can never go back. It will be whatever it is. To every fool preaching the end of history, evolution spits in your face. To every fool preaching the world government AI singleton, evolution spits in your face. I knew these things intellectually, but viscerally it’s just hard to live through. The world feels so small and I feel like I’m being stared at by the Eye of Sauron.
I always had a diffuse idea of why people are spending so much time and money on amateur radio. Once I got my license and started to amass radios myself, it became more clear.
What does it mean when someone writes that a programming language is “strongly typed”? I’ve known for many years that “strongly typed” is a poorly-defined term. Recently I was prompted on Lobsters to explain why it’s hard to understand what someone means when they use the phrase. I came up with more than five meanings! how strong? The various meanings of “strongly typed” are not clearly yes-or-no. Some developers like to argue that these kinds of integrity checks must be completely perfect or else they are entirely worthless. Charitably (it took me a while to think of a polite way to phrase this), that betrays a lack of engineering maturity. Software engineers, like any engineers, have to create working systems from imperfect materials. To do so, we must understand what guarantees we can rely on, where our mistakes can be caught early, where we need to establish processes to catch mistakes, how we can control the consequences of our mistakes, and how to remediate when somethng breaks because of a mistake that wasn’t caught. strong how? So, what are the ways that a programming language can be strongly or weakly typed? In what ways are real programming languages “mid”? Statically typed as opposed to dynamically typed? Many languages have a mixture of the two, such as run time polymorphism in OO languages (e.g. Java), or gradual type systems for dynamic languages (e.g. TypeScript). Sound static type system? It’s common for static type systems to be deliberately unsound, such as covariant subtyping in arrays or functions (Java, again). Gradual type systems migh have gaping holes for usability reasons (TypeScript, again). And some type systems might be unsound due to bugs. (There are a few of these in Rust.) Unsoundness isn’t a disaster, if a programmer won’t cause it without being aware of the risk. For example: in Lean you can write “sorry” as a kind of “to do” annotation that deliberately breaks soundness; and Idris 2 has type-in-type so it accepts Girard’s paradox. Type safe at run time? Most languages have facilities for deliberately bypassing type safety, with an “unsafe” library module or “unsafe” language features, or things that are harder to spot. It can be more or less difficult to break type safety in ways that the programmer or language designer did not intend. JavaScript and Lua are very safe, treating type safety failures as security vulnerabilities. Java and Rust have controlled unsafety. In C everything is unsafe. Fewer weird implicit coercions? There isn’t a total order here: for instance, C has implicit bool/int coercions, Rust does not; Rust has implicit deref, C does not. There’s a huge range in how much coercions are a convenience or a source of bugs. For example, the PHP and JavaScript == operators are made entirely of WAT, but at least you can use === instead. How fancy is the type system? To what degree can you model properties of your program as types? Is it convenient to parse, not validate? Is the Curry-Howard correspondance something you can put into practice? Or is it only capable of describing the physical layout of data? There are probably other meanings, e.g. I have seen “strongly typed” used to mean that runtime representations are abstract (you can’t see the underlying bytes); or in the past it sometimes meant a language with a heavy type annotation burden (as a mischaracterization of static type checking). how to type So, when you write (with your keyboard) the phrase “strongly typed”, delete it, and come up with a more precise description of what you really mean. The desiderata above are partly overlapping, sometimes partly orthogonal. Some of them you might care about, some of them not. But please try to communicate where you draw the line and how fuzzy your line is.