Latest Posts (20 found)
spf13 5 days ago

Why Engineers Can't Be Rational About Programming Languages

Series Overview This is the first in a series of posts on the true cost of a programming language. A programming language is the single most expensive choice a company makes, yet we treat it like a technical debate. After watching this mistake bankrupt dozens of companies and hurt hundreds more, I’ve learned the uncomfortable truth: these decisions are rarely about technology. They’re about identity, emotion, and ego, and they’re destroying your velocity and budget in ways you can’t see until it’s too late.

1 views
spf13 1 months ago

How Benjamin Franklin Invented Machine Learning in 1720

How a teenage printer’s writing exercise reverse engineered the timeless principles of learning. The core algorithm that powers today’s most advanced artificial intelligence wasn’t born in Silicon Valley or has anything to do with computers. It was engineered in the dusty, ink stained backroom of a Boston print shop, nearly 300 years ago, by a teenager who was tired of being told he wasn’t a good writer. Long before he was a world famous statesman and inventor, Benjamin Franklin was an ambitious, self taught apprentice with a chip on his shoulder. Working for his older brother, he devoured books and secretly submitted anonymous essays to his brother’s newspaper, desperate to succeed in this world of words. But he had a problem. While his ideas were sharp, his prose was clumsy.

0 views
spf13 2 months ago

Cobra & Viper Fortify Security as Part of GitHub Secure Open Source Fund

I’ve spent most of my career working in New York City. Every morning, I’d walk past those towering skyscrapers, genuinely amazed at what humans can build together. The engineering, the coordination, the trust required. It’s breathtaking. What fascinates me most is the foundation. While everyone admires the gleaming towers, I think about the engineers who spent months planning what goes sixty feet underground. That invisible work makes everything else possible. No Instagram posts about foundation concrete. No TED talk talks about rebar placement.

0 views
spf13 3 years ago

spf13 Google -->

I’m leaving my role as the Product Lead for the Go Language at Google. I’m super proud of everything the Go team has accomplished in the last six years, and I’ve never been more excited for Go’s future. Read on if you’re interested in what led me to my decision, what I’ll be doing next, and what I’ll miss about my time at Google. Ten years ago, I used Go for the first time. I immediately fell in love with the language and its simple elegance. For the first time in a long time, I loved programming again. So much so that I was eager to write Go whenever I could. This led to the creation of Hugo , Cobra , Viper and a handful of additional Go libraries .

0 views
spf13 3 years ago

The New spf13.com

I’m proud to present the new and improved spf13.com a dramatic redesign of the very first Hugo powered website. After 25 years of building websites I’m happy to say that this is the best website I’ve ever made and I look forward to sharing more content than I ever have before. Something about the new design is really inviting and honestly just makes me happy, and I think it’s going to be a big motivator to write more content.

0 views
spf13 3 years ago

About Steve Francia

My name is Steve Francia (he/him). I’ve spent the last 27 years as a software, product, and advocacy leader specializing in open source and developer experiences. I’m best known for my leadership across several industry defining projects: The Go Language — Google’s cloud native programming language, MongoDB — the NoSQL database, Docker — the container engine, and Drupal — The CMS powering 10% of the commercial internet. I also authored Google’s Open Source Strategy and led Google Cloud developer strategy.

0 views
spf13 3 years ago

InfoQ interview - Go Language at 13 Years

I had the pleasure of speaking with Olimpiu Pop from InfoQ about the Go language and community. The article can be found at https://www.infoq.com/articles/go-language-13-years .

0 views
spf13 3 years ago

Gophers Say GopherCon Edition

Go Time panelists Natalie & Jon join forces with Go Team members Steve Francia, Katie Hockman, Julie Qui, and Rob Findley to battle it out and see who can better guess what the GopherCon gophers had to say! Listen to the podcast at https://changelog.com/gotime/211 Mat Ryer: Hello, and welcome to this Go Time GopherCon extravaganza… Yeah, extravaganza, yeah. I’m Mat Ryer, and I’m thrilled to announce that today again we’re playing Gophers Say, the excellent, popular, family game show based on Family Feud, or Family Fortunes if you’re in the U.K, which I am.

0 views
spf13 4 years ago

Modern Enterprise Applications with Go - Go Day 2021

Go, the language of cloud infrastructure, is maturing into the language of modern enterprise applications. This high level presentation will speak to Go’s enterprise adoption story and how it plays a role in modernization. Given at Google’s Open Source Live Day in San Francisco, November 4, 2021 . Welcome to my session: Enterprise-Ready Modern Applications with Go. I’m Steve Francia. For the past decade and a half, I’ve lead industry-changing organizations focused on bringing simplicity to the chaos. As senior vice president of MongoDB I lead the development of the first non-relational database to enter mainstream use in 45 years. As chief operator at Docker, I lead the effort to simplify containers. As a side project, I created Hugo the most secure and highest performance web engine. Today I’m the Product Lead on the Go team where we’re building a modern simple cloud-native programming language. Today, I’m here to share with you how Go is helping enterprises modernize their legacy applications. The Rise of Digital Chaos. For years, one of the most talked-about topics surrounding enterprise has been digital transformation. It seems like everyone’s feeling the need to modernize their legacy applications. As technology has specialized, it has grown exponentially in complexity. Two decades ago, there may have been a dozen choices that needed to be made with, typically, two or three options. Today the amount of choices is simply staggering. Nobody can possibly begin to understand all that is required. Three quarters of CIOs say managing performance is now impossible due to the IT complexity. Security risks have seen a similar exponential expansion. It seems like every day we hear about another major breach. The historical approach to enterprise architecture doesn’t work in the digital age. If we don’t dramatically change our approach, and soon it’ll be too late. Today, I’m here to share with you what the path is. We need to modernize our enterprise applications and a lot of folks have this wrong. They have part of the picture but haven’t grasped that true modernization requires simplifying our approach not simply containerizing it. Since you may not be familiar with Go I’ll first provide a short overview of what Go is. I’ll then share with you what a modern enterprise application requires. And, lastly, I’ll share with you how Go will help you with the migration to modern enterprise applications. Along the way, I’ll share quotes from enterprises and how Go helped them. Go is a modern programming language designed by Google for Google’s problems of building and serving server-site software at scale. Google uses Go extensively for a wide range of things from our indexing platform that powers Google search to the infrastructure Google Cloud is built on. Launched a decade ago, Go has seen explosive growth. Today Go is a top 10 language with broad adoption among the world’s leading enterprises. Go follows Einstein’s maxim “Be as simple as possible, but no simpler.” As Go is designed for maximum simplicity, it is very easy to learn and work with. Go drives the balance between productivity and performance sharing the friendliness of dynamic languages like Python and the performance of compiled languages like C and Java. As a modern language, Go was designed from the very beginning with security and safety in mind. Over the past ten years, Go has developed a large and mature ecosystem. Go is loved by both developers and employers alike ranked as the number one language across many industry surveys. Go is widely loved by developers because it makes building modern software simple and secure. But what does it take to build modern enterprise applications? First of all, they must minimize risk. They must be fully modern. Adding modern components onto or alongside legacy systems introduces significantly higher risk and complexity. Instead of simplifying things, they triple the complexity. You now need to worry about multiple systems languages and integration points. Next, they must be safe. Modern applications have to be built in a way that ensures safety. According to researchers at Microsoft 70% of the security bugs the company fixes each year relate to memory safety. Google found a similar 70% of serious bugs in Chrome are memory management and safety bugs. Legacy programming languages were not designed with safety in mind because at the time there was no such thing as a cyber attack, and bits were at a premium. Our environment today is vastly different from the one legacy languages were designed for. Modern languages massively de-risk applications. They must be secure. One of the largest risks systems face is in the form of lacking security which results in leaks and attack vectors. In the constant battle for security applications need to utilize the latest encryptions and protocols. They need to run in minimal environments, with maximum isolation and minimal external dependencies. They need to not depend on legacy libraries and environments. Modern enterprise applications must adapt to business needs. One way they do this is by utilizing service-oriented APIs approaching applications with a communication-first focus which ensures that the application has the proper separation, scalability and flexibility to adapt to new businesses requirements. This approach also isolates each feature for greater flexibility and security. They must be architected to be modular and composable. Tech debt can be a technologist’s worst enemy. This hidden tax slows down all development. Traditional inheritance-based architecture creates code that is very tightly coupled, hard to maintain and hard to adapt to new requirements. This brings us to our next point it must be easily maintainable. Teams and priorities are constantly changing. We need code that is easy to understand and pick up by a constant influx of new engineers. We want applications that require minimal maintenance without constant runtime upgrades. Our final theme: Modern enterprise applications must sustain growth. They must be scalable and efficient. Data and usage has been expanding exponentially for the past five decades. With the end of Moore’s law, an increased pressure on computing costs modern enterprise applications need rapid deployment and the ability to scale up and down with ease using resources efficiently, to keep operating and management costs down. They must have a cloud-native architecture. Modern enterprise applications must take advantage of innovations in cloud computing with a cloud-native architecture. They must be designed with automation, monitoring and repair from the beginning favoring managed services. They must incorporate event-driven components also known as serverless. Event-driven features must be properly utilized to bring cost savings adaptability and efficiency to modern enterprise applications. This requires software that loads instantly with minimal resource consumption and minimal dependencies. We’re now gonna go through these requirements and highlight the ways Go will help you build modern enterprise applications. Go helps you minimize risk. Go is a truly modern language requiring a completely clean implementation keeping your application decoupled from legacy libraries. While there is risk in a re-write, it pales in comparison to the larger risk of sticking with legacy systems or, worse, maintaining both the legacy and a modern system. Go’s high learnability, productivity and simplicity minimized the re-write risk and often paid dividends in massively reducing both operating costs and technical debt further minimizing businesses risks. Zviad, a senior principal engineer at Dropbox, said “People become very productive in Go, very fast, “our infrastructure is built in Go today, and all the new things we build in Go.” Legacy software languages were designed for a different era where safety wasn’t prioritized, or worse, often compromised for performance. This trade-off made sense in a pre-network era but it’s created massive risk in today’s environments. Modern languages, like Go, are designed for today’s environments where safety is critical. Go is memory-safe, type-safe, and utilizes low latency garbage collection. These features alone avoid over 70% of critical bugs which result from using unsafe legacy languages. Bala, a senior director of engineering at Paypal, wrote “In our tightly-managed environments, where we run Go code, we have seen “a CPU reduction of around 10% [vs C++] with cleaner and more maintainable code.” Go has been designed to create the most secure applications minimizing risk as much as possible. Go applications compile down to a single binary without any local dependencies. It’s not uncommon to see an application built using only the standard library or only a couple of well-vetted dependencies. That dependency management uses an industry-leading, tamper-evident transparency log with built-in tooling that ensures your dependencies are exactly what you expect. Go has native encryption, which has been used to power much of the Internet including key components of Google and Cloudflare. Adopting Go means that the next Heartbleed which impacted virtually every application written in any other language won’t impact your application. Go even supports distroless containers, where there’re zero local dependencies to worry about. Go helps you adapt to business needs. Service-oriented APIs provide enhanced agility, scalability and reliability allowing your business to adapt to market and strategy changes quickly. Go’s the only language explicitly designed to build service-oriented APIs. Go has native support in the standard library for all you need to build performant and secure APIs. Including a high-performance web server. This is Go’s most common use case with over 70% of Go developers using Go for building APIs. Matt, a principal software engineer at Monzo, shared “Go is a perfect language for creating microservice architectures “the concurrency features and the language in general, has allowed the easy creation “of small and simple networked services at Monzo.” A unique feature of Go is that its application structure directly mirrors the architecture of service-oriented systems. Services are designed independently and they share nothing architectured, communicating across networks. Go applications are composed of share-nothing modules which communicate across channels, a native feature in Go. This means that both your service and your application which is composed of many services are using the same architectural pattern. The benefits of agility, independence and easy maintenance are twice as impactful for Go-based services, which maximizes your ability to adapt to business needs. There’s an additional cognitive benefit for developers of using a single architectural pattern at every level of their system. John Graham-Cumming, the CTO at Cloudfare, shared about Go “I came for the easy concurrency, I stayed for the easy composition.” Kubernetes’ creator, Joe Beda, tweeted “Kubernetes’ success is in part due to Go and the Go community. “Go hits the sweet spot for distributed systems software.” High maintenance costs ensure that your technology can’t properly adapt or support business needs. Go is unique among all languages as it has been designed to minimize maintenance costs. Rapidly evolving teams are common at Google and virtually all enterprises. Go’s simplicity, easy readability and single binary deployment ensures that Go’s applications have minimal maintenance and it’s relatively easy for someone new to a code base to safely maintain them. Martin, a software engineer at Trivago, spoke about this hidden benefit of Go. “Go’s simplicity and its sophisticated tooling “let us scale not only our service, but, more importantly “the process of software engineering itself. “Reducing the friction of onboarding and training someone “has a significant impact on the company’s productivity “even more so in a constantly moving environment like Trivago.” Benjamin Cane, VP and Principal Engineer at American Express also speaking at Google Open Source Live, shared “After working on Go “most of our developers don’t want to go back to other languages.” Go will help you sustain business growth. Historically, CTOs have needed to make an impossible tradeoff either choose to delay launch as the team builds the scalable application first or choose to ship a slow prototype early acknowledging that development will be delayed significantly later as adoption growth demands a re-write effectively having to choose when to be unable to support business growth. Go has eliminated this dilemma. Go is designed for Google’s scale with built-in concurrency that takes full advantage of today’s multi-core machines and cloud services. Go enables programmers to quickly develop applications that perform at scale. No re-write needed. Eric, a Software Engineering Manager at Mercado Libre, wrote “With Go, the company obviated 88% of their servers “and cut CPU on the remaining ones in half “- producing a tremendous cost-savings.” Cloud computing brings countless benefits for flexibility and efficiency critical to sustaining business growth. Go is the only modern language that has first class support on all cloud platforms. Go is designed for cloud-native applications. Over three quarters of the projects in the cloud-native computing foundation are written in Go. Go is designed for container deployment with a very small footprint compared to the ship-the-world legacy languages like Java, Python and Node. Mariano, a software engineer at Movio, blogged “Our Go microservices currently build in five seconds or less. “They test in one or two seconds, which includes integration tests. “And they can deploy new containers via Kubernetes in ten seconds or less. “The key factor here being small images.” Among all cloud benefits, serverless has the largest potential for sustaining business growth with its low cost, instant scability and expanded flexibility. Go is an ideal fit for serverless with broad support on all serverless platforms. Go has very low resource use and nearly instant startup times, especially when compared to applications written in legacy languages which utilize interpreters. Go is well supported on all serverless platforms and Google’s Cloud Run is the ideal platform for Go applications thanks to its seamless deployment. Go: simplifying the chaos. “The biggest impediment to a company’s future success is its past success” according to Dan Schulman , CEO of PayPal. Today’s business environment is defined by modern enterprises with a move-fast-and-break-things culture. Enterprises will need to embrace the process of constant transformation to remain relevant. Go provides the flexibility and performance to assist organizations with application modernization efforts. To learn more about Go, its primary use case and to read case studies of enterprises who have transformed their organizations visit go.dev. Thank you.

0 views
spf13 4 years ago

Google Cloud Next 2021 - Modern Enterprise Applications with Go

Over the past couple of years, Go has matured to a complete end-to-end offering with seamless and secure dependency management, its own integrated development environment, and the inclusion of generics – Go’s most requested feature, previewing in Q4 2021. We’ll share how Go can fit into your application modernization plans to increase productivity, reduce risk, and save on operational costs. Given at Google’s Cloud Next Conference, October 13, 2021 . STEVE FRANCIA: Welcome to my session, “Enterprise-Ready Modern Applications with Go– The Rise of Digital Chaos.” For years, one of the most talked-about topics has been digital transformation. It seems like everyone’s feeling the need to modernize their legacy enterprise applications. As technology has specialized, it has grown exponentially in complexity. Two decades ago there might have been a dozen choices that needed to be made, with typically two or three options. Today the amount of choices is simply staggering. Nobody can possibly begin to understand all that is required. 3/4 of CIOs say managing performance is now impossible due to the IT complexity. Security risks have seen a similar exponential expansion. It seems like every day we hear about another major breach. The historical approach to enterprise architecture doesn’t work in the digital age. If we don’t dramatically change our approach, and soon, it will be too late. Today I’m here to share with you what the path is. We need to modernize our enterprise applications, and a lot of folks have this wrong. They have part of the picture, but haven’t grasped that true modernization requires simplifying our approach, not simply containerizing it. Who am I? I’ve spent the last decade and a half leading industry-changing organizations, focused on bringing simplicity to the chaos. As senior vice president at MongoDB, I led the development of the first non-relational database to enter mainstream use in 45 years. As chief operator at Docker, I led the effort to simplify containers. As a side project I created Hugo, the most secure and highest performance web engine. Today I’m one of the leads of the Go Team, where we are building a modern, simple Cloud-native programming language. Since you might not be familiar with Go, I’ll first provide a short overview of what Go is. Then I’ll share with you what a modern enterprise application requires. Lastly, I’ll share with you how Go and Google Cloud will help you with migration to modern enterprise. Along the way I’ll share quotes from enterprises, and how Go helped them. Go is a modern programming language designed by Google for Google’s problems of building and serving server-side software at scale. Google uses Go extensively for a wide range of things, from our indexing platform that powers Google Search to the infrastructure that Google Cloud is built on. Launched a decade ago, Go has seen explosive growth. Today, Go is a top 10 language, with broad adoption among the world’s leading enterprises. Go follows Einstein’s Maxim– be as simple as possible, but no simpler. As Go is designed for maximum simplicity, it is very easy to learn and to work with. Go drives the balance between productivity and performance, sharing the friendliness of dynamic languages like Python and the productivity of compiled languages like C and Java. As a modern language, Go was designed from the very beginning with security and safety in mind. Over the past 10 years, Go has developed a large and mature ecosystem. Go is loved by both developers and employers alike, ranked as the number one language across many industry surveys. Go is widely loved by developers because it makes building modern software simple and secure. But what does it take to build modern enterprise applications? First of all, they must minimize risk. They must be fully modern. Adding modern components onto or alongside legacy systems introduces significantly higher risk and complexity. Instead of simplifying things, they multiply the complexity. You now need to worry about many systems, languages, and integration points. They must be safe. Modern applications have to be built in a way that ensures safety. According to researchers at Microsoft, 70% of the security bugs that the company fixes each year relate to memory safety. Google found a similar 70% of serious bugs in Chrome are memory management and safety bugs. Legacy programming languages were not designed with safety in mind, because at the time there was no such thing as a cyberattack and bits were at a premium. Our environment today is vastly different from the one legacy languages were designed for. Modern languages massively de-risk applications. They must be secure. One of the largest risks systems face is in the form of lacking security, which results in leaks and attack vectors. In the constant battle for security, applications need to utilize the latest encryption and protocols. They need to run in minimal environments with maximum isolation and minimal external dependencies. They need to not depend on legacy libraries and environments. Modern enterprise applications must adapt to business needs. One way they do this is by utilizing service-oriented APIs. Approaching applications with a communication-first focus ensures that the application has the proper separation, scalability, and flexibility to adapt to new business requirements. This approach also isolates each feature for greater flexibility and security. They must be architected to be modular and composable. Tech debt can be a technologist’s worst enemy. This hidden tax slows down all development. Traditional inheritance-based architectures create code that is very tightly coupled, and hard to adapt to new requirements and very hard to maintain. Which brings us to our next point– they must be easily maintainable. Teams and priorities are constantly changing. We need code that is easy to understand and pick up by a constant influx of new engineers. We want applications that require minimal maintenance without constant runtime upgrades. Our final theme is that modern enterprise apps must sustain growth. They must be scalable and efficient. Data and usage has been expanding exponentially for the past five decades. With the end of Moore’s Law and increased pressure on computing costs, modern enterprise applications need rapid deployment and the ability to scale up and down with ease, using resources efficiently and keeping operating and management costs down. They must have a Cloud-native architecture. Modern enterprise applications must take advantage of innovations in Cloud computing. With the Cloud-native architecture, they must be designed with automation, monitoring, and repair from the beginning, favoring managed services. They must incorporate event-driven components, also known as serverless. Event-driven features must be properly utilized to bring cost savings, adaptability, and efficiency to modern enterprise applications. This requires software that loads instantly with minimal resource consumption and minimal dependencies. We’re now going to go through these requirements and highlight the ways that Go and Google Cloud Platform will help you build modern enterprise applications. Go and GCP help you minimize risk. Go is a truly modern language, requiring a completely clean implementation, keeping your application decoupled from legacy libraries. While there is risk in a rewrite, it pales in comparison to the larger risk of sticking with legacy systems, or worse, maintaining both a legacy and a modern system. Go’s high learnability, productivity, and simplicity minimize the rewrite risk, and often pay dividends in massively reducing both operating costs and technical debt, further minimizing business risk. Zviad, a Senior Principal Engineer at Dropbox, said, “People become very productive in Go very fast. Our infrastructure is built in Go today, and all the new things we build in Go.” Legacy software languages were designed for a different era where safety wasn’t prioritized, or worse, often compromised for performance. This trade-off made sense in a pre-network era, but has created massive risk in today’s environment. Modern languages like Go are designed for today’s environment, where safety is critical. Go is memory safe, type safe, and utilizes low-latency garbage collection. These features alone avoid over 70% of critical bugs resulting from unsafe legacy languages. Bala, a Senior Director of Engineering at PayPal, wrote, “In our tightly managed environments where we run Go code, we have seen a CPU reduction of around 10% versus C++, with cleaner and more maintainable code.” Go has been designed to create the most secure applications, minimizing risk as much as possible. Go applications compile down to a single binary without any local dependencies. It’s not uncommon to see an application built using only the standard library, or only a couple well-vetted Go dependencies. Go’s dependency management uses an industry-leading, tamper-evident transparency log, with built in tooling that ensures that your dependencies are exactly what you expect. Go has native encryption, which is used to power much of the internet, including key components of Google and Cloudflare. Adopting Go means that the next Heartbleed, which impacted virtually every application written in any other language, won’t impact your application. Go even supports distroless containers, where there are zero local dependencies to worry about. GCP, CI/CD, and Artifact Manager have direct access to Go’s Vulnerability Database and can provide you instant warnings about security threats. Finally, Go and GCP will help you adapt to business needs. Service-oriented APIs provide enhanced agility, scalability, and reliability, allowing your business to adapt to market and strategy changes quickly. Go is the only language explicitly designed to build service-oriented APIs. Go has native support in the standard library for all you need to build performant and secure APIs, including a high-performance web server. This is Go’s most common use case, with over 70% of Go developers using Go for building APIs. Matt, a Principal Software Engineer at Monzo, shared, “Go is a perfect language for creating microservice architectures. The concurrency features, and the language in general, has allowed the easy creation of small and simple network services at Monzo.” A unique feature of Go is that its application structure directly mirrors the architecture of service-oriented systems. Services are designed independently in a share-nothing architecture communicating across networks. Go applications are composed of share-nothing modules communicating across channels, a native feature of Go. This means that both your service and your application composed of many services are using the same architectural pattern. The benefits of agility, independence, and easy maintenance are twice as impactful for Go-based services, maximizing your ability to adapt to business needs. There’s an additional cognitive benefit for developers of using a single architectural pattern at every level of your system. John Graham-Cumming, the CTO at Cloudflare, shared about Go, “I came for the easy concurrency, I stayed for the easy composition.” Kubernetes creator, Joe Beda, tweeted, “Kubernetes success is in part due to Go and the Go community. Go hits the sweet spot for distributed system software.” High maintenance costs ensure that your technology can’t properly adapt or support business needs. Go is unique among all languages as it has been designed to minimize maintenance costs. Rapidly-evolving teams are common at Google and virtually all enterprises. Go’s simplicity, easy readability, and single-binary deployment ensures that Go applications have minimal maintenance and that it’s relatively easy for someone new to a code base to safely maintain it. Martin, a software engineer at Trivago, spoke of this hidden benefit of Go. “Go’s simplicity and its sophisticated tooling let us scale not only our service, but more importantly, the process of software engineering itself. Reducing the friction of onboarding and training someone has a significant impact on the company’s productivity, even more so at a constantly moving environment like Trivago.” And Benjamin Cane, Vice President and Principal Engineer at American Express, shared, “After working on Go, most of our developers don’t want to go back to other languages.” Go and GCP will help you sustain business growth. Historically, CTOs have needed to make an impossible trade-off– either choose to delay launch as the team builds a scalable application first, or choose to ship a slow prototype early, acknowledging that development will be delayed significantly later as adoption growth demands a rewrite– effectively having to choose when to be unable to support business growth. Go has eliminated this dilemma. Go is designed for Google Scale with built-in concurrency that takes full advantage of today’s multicore machines and Cloud Services. Go enables programmers to quickly develop applications that perform at scale, no rewrite needed. Eric, a Software Engineering Manager at MercadoLibre, wrote, “With Go, the company obviated 88% of their servers and cut CPU on the remaining ones in half, producing a tremendous cost savings.” Cloud computing brings countless benefits for flexibility and efficiency, critical to sustaining business growth. Go is the only modern language that has first class support on all Cloud platforms. Go is designed for Cloud-native applications. Over 3/4 of the projects in the Cloud-Native Computing Foundation are written in Go. And Go is designed for container deployment, with a very small footprint, compared to the “ship the world” legacy languages like Java, Python, and Note. Mariano, a Software Engineer at Movio, blogged, “Our Go microservices currently build in 5 seconds or less, they test in one or two seconds which includes integration tests, and they can deploy (via Kubernetes) new containers in 10 seconds or less. The key factor here is small images.” Among all Cloud benefits, serverless has the largest potential for sustaining business growth, with its low cost, instant scalability, and expanded flexibility. Go is an ideal fit for serverless, with broad support on all serverless platforms. Go has very low resource use and nearly instant startup times compared to applications written in legacy languages that utilize interpreters. Google’s Cloud Run is the ideal platform for Go applications with seamless deployment. Go and GCP help you simplify the chaos. “The biggest impediment to a company’s future success is its past success,” according to Dan Schulman, the CEO of PayPal. Today’s business environment is defined by modern enterprises with a “move fast and break things” culture. Enterprises will need to embrace the process of constant transformation to remain relevant. Go provides the flexibility and performance to assist organizations with application modernization efforts, and GCP provides flexible managed services to guide your organization into the modern era. To learn more about Go, its primary use case, and to read case studies of enterprises who have transformed their organizations, visit Go.dev. Thanks for spending time with me today. I hope that you’ve learned something. I hope you enjoyed it, and I hope to see you at a future conference or one of the many Go conferences. Thank you.

0 views
spf13 4 years ago

Rust vs Go Panel at RustLab Conference

The folks at Develer liked JT ’s and my article Rust vs Go - Better together so much they decided to feature it as a panel for RustLab 2021 where JT and I spoke along with some of our friends. Like the article, this panel highlighted the strengths of both Rust and Go and when each is ideal to use.

0 views
spf13 4 years ago

Rust vs Go: Better Together

While others may see Rust and Go as competitive programming languages, neither the Rust nor the Go teams do. Quite the contrary, our teams have deep respect for what the others are doing, and see the languages as complimentary with a shared vision of modernizing the state of software development industry-wide.

0 views
spf13 4 years ago

Break things on purpose podcast

I had the privilage of sitting down with my friend Jason Yee as a guest on his podcast. Listen to the podcast at https://www.gremlin.com/blog/podcast-break-things-on-purpose-steve-francia-product-and-strategy-lead-at-google/ Jason Yee: Hey, everyone. Welcome to Build Things On Purpose. Our slight deviation from the Break Things On Purpose podcast, where we talk with people that have made really cool things and we learn some tips from them about how we can make cool things as well, things that are reliable and that scale well. So joining us today we have Steve Francia.

0 views
spf13 5 years ago

Grokking Go.dev - Go Time Podcast

I had the privilage of joining my coworker Julie Qiu as we talked with our friends Carmen, Mat and Jon about the new website we are launching for Go, go.dev . Listen to the podcast at https://changelog.com/gotime/115 Mat Ryer: Hello, and welcome to GoTime! I’m Mat Ryer. Today we’re talking about Go.dev. It’s a user-friendly hub of curated resources for Go, and we’re lucky enough to have three of the brains behind it joining us today: Carmen Andoh, Steve Francia (also known as @spf13) and Julie Qiu. Hello, everybody!

0 views
spf13 6 years ago

The Legacy of Go

This presentation was developed for GoLab in Firenze Italy and delivered as the closing keynote of the conference. The presentation talks about legacy, looking both backwards and forwards. It talks about the legacy of langauage Go inherited and how it is paying respect to that legacy. It concludes talking about the legacy Go hopes to leave behind.

0 views
spf13 6 years ago

Go Q&A Session - Utah Go Users Group

I was traveling with my son in Utah, visiting my old university and connected with our Go Users Group while I was there. They graciously invited me to speak at their next meeting and I was excited to be a part of the conversation. This was a great opportunity to learn more from our users and how we can improve Go. We also learned about the Go community in Utah and how best we can help support them in their Go journey.

0 views
spf13 6 years ago

What Should a Modern Practical Programming Language Look Like

Keynote delivered at The Landing Festival – Berlin . This presentation describes the many inspirations and influences of the Go programming language and goes into detail about how we shaped and created the language.

0 views
spf13 6 years ago

Product Management for Everyone

An interactive workshop developed for and given at the Landing Festival in Berlin 2019. This workshop covers: What a product manager does How to become a product manager Practice thinking like a product manager Building product manager skills

0 views
spf13 7 years ago

Go – On The Shoulders of Giants

This presentation was developed for Curry On and delivered as the closing keynote of the conference. The presentation describes the many inspirations and influences of the Go programming language and goes into detail about how we shaped and created the language.

0 views
spf13 7 years ago

演讲:Go, a global phenomenon (英语演讲)

This presentation was given in 深圳市 China, July 2018 as part of the InfoQ ArchSummit conference . It covers why Go was created and it’s impact across the globe.

0 views