Software Engineering Daily

Software Engineering Daily

By Software Engineering DailyNewsTechnologyTech News
Download on the App Store

Software Engineering Daily episodes

  • Scaling Email with J.R. Jasperson
    “As the scale continues to increase, certain effects of architecture become less and less efficient.” When you spend money online, you expect a receipt to come in your email. When you register for a new web site, you need to verify your sign up in your email. These types of emails are called “transactional email” and sending these types of email at scale is a complex engineering task. J.R. JaspersonContinue reading...
    52 min
  • Automating Infrastructure at HashiCorp with Mitchell Hashimoto

    “SaaS, whether we want it or not, in enterprise technology or in our data centers, is coming.”

    Application delivery has become more complex as software architectures have moved into the cloud. Data center infrastructure has turned into code to be manipulated, and software engineering teams are adjusting their strategies.

    HashiCorp is a company that builds open-source software for application development and deployment. Mitchell Hashimoto is the founder of HashiCorp, and he joins us to discuss a modern approach to application delivery, and the tools HashiCorp is developing.

    Questions
    • What are the problems HashiCorp is trying to solve?
    • Why does automation become more important as infrastructure becomes more complex?
    • What are the core characteristics to a good development process?
    • How do the changes in the deployment process affect developers?
    • What drives the current shift towards declarative programming?
    • Why did you choose to build your own scheduler?
    • What is Consul?
    • Links
      • Terraform
      • Vagrant
      • OpenStack
      • CloudFormation
      • AMIs
      • Schedulers
      • https://en.wikipedia.org/wiki/Declarative_programming
      • Consul
      • Service discovery
      • Mitchell’s page
      • The post Automating Infrastructure at HashiCorp with Mitchell Hashimoto appeared first on Software Engineering Daily.

        1 hr 1 min
      • Automating Infrastructure at HashiCorp with Mitchell Hashimoto
        “SaaS, whether we want it or not, in enterprise technology or in our data centers, is coming.” Application delivery has become more complex as software architectures have moved into the cloud. Data center infrastructure has turned into code to be manipulated, and software engineering teams are adjusting their strategies. HashiCorp is a company that builds open-source software for application development and deployment. Mitchell Hashimoto is the founder of HashiCorp, andContinue reading...
        1 hr 2 min
      • Bootstrapping a SaaS for Developers with Itai Lahan
        “It’s an amazing era for software developers – we have all this amazing infrastructure behind the scenes that we can build upon.”

        Ten years ago, building a highly scalable image delivery service would require millions of dollars in upfront costs, and hours of work configuring hardware server infrastructure. Today, it is possible to bootstrap this type of service, with minimal investment.

        Today’s episode is about building a content delivery network for images and video. Today’s guest is Itai Lahan, CEO of Cloudinary. We discuss Cloudinary’s early product infrastructure, and how they have evolved as a company since then. We also talk in detail about the venture capital landscape of Silicon Valley today, and how to strategize about raising money. Full disclosure, Cloudinary is a sponsor of Software Engineering Daily.

        Questions
        • How did you begin working on an image CDN?
        • What are the common problems developers have when they are trying to serve images?
        • What did the first architecture of Cloudinary look like?
        • What are the challenges of building APIs and integrations for a variety of different platforms that use your service?
        • What were the first scalability bottlenecks that you hit in the early days?
        • Why did you switch from AWS Cloudfront to Akamai?
        • How do you monitor system health and how are your operational teams segmented?
        • What was the rationale behind bootstrapping your company?
        • Links
          • Cloudinary
          • Carrierwave
          • Nginx
          • AWS cloudfront
          • Solr
          • Akamai
          • WebP
          • Amazon SQS
          • Twilio
          • Itai on Twitter
          • The post Bootstrapping a SaaS for Developers with Itai Lahan appeared first on Software Engineering Daily.

            1 hr 1 min
          • Bootstrapping a SaaS for Developers with Itai Lahan
            “It’s an amazing era for software developers – we have all this amazing infrastructure behind the scenes that we can build upon.” Ten years ago, building a highly scalable image delivery service would require millions of dollars in upfront costs, and hours of work configuring hardware server infrastructure. Today, it is possible to bootstrap this type of service, with minimal investment. Today’s episode is about building a content delivery networkContinue reading...
            1 hr 4 min
          • Developer Analytics with Calvin French-Owen

            “Its sort of like the old joke in computer science – what do you do when you have a problem? Well, add a layer of abstraction.”

            Today’s guest is Calvin French-Owen, the CTO of Segment, a tool that companies use to aggregate their analytics into once place. As Segment has scaled, the company has had to restructure its etire technical architecture. Microservices, containers, Amazon Web Services, and dev ops are a few of the topics that Calvin and I explore in our conversation, so this is a great episode for anyone who is trying to understand the relationships between those different subjects.

            Segment’s product unifies analytics from different services and puts them into one centralized place. Full disclosure: Segment is a sponsor of Software Engineering Daily. For most of this episode, we don’t even talk about the product, we talk about the back end engineering behind the product.

            Questions
            • What tools are used to transfer data to analytics systems?
            • Why is it useful to have a single API to fan out into all the different analytics processed
            • Why did you embrace microservices at Segment, and why was it different from the reasons other companies have adopted them?
            • Why are process level monitoring and program level monitoring worth differentiating?
            • Could you explain the nuance between microservices and microworkers?
            • How do you determine when to write a brand new microservice versus adding new functionality to an old one?
            • How did you do an architectural rebuild while still running the business day-to-day?
            • How should software engineering teams decide whether to build or buy certain aspects of their product?
            • Links
              • Redshift
              • Mode
              • Segment
              • Baremetrics
              • Why Microservices Work For Us
              • Rebuilding Our Infrastructure with Docker, ECS, and Terraform
              • Hashicorp
              • CoreOS
              • Terraform
              • Datadog
              • The post Developer Analytics with Calvin French-Owen appeared first on Software Engineering Daily.

                52 min
              • Developer Analytics with Calvin French-Owen
                “Its sort of like the old joke in computer science – what do you do when you have a problem? Well, add a layer of abstraction.” Today’s guest is Calvin French-Owen, the CTO of Segment, a tool that companies use to aggregate their analytics into once place. As Segment has scaled, the company has had to restructure its etire technical architecture. Microservices, containers, Amazon Web Services, and dev ops areContinue reading...
                54 min
              • Continuous Delivery and Test Automation with Flo Motlik

                “It’s Friday night and you’re basically out of the office on your way to meet with friends. And you just merge this thing and put it into production because you have that trust – that the system will capture any kind of problem.”

                Continuous integration and deployment are important tools for modern software development. With continuous integration and deployment, individual engineers can push code without waiting to synchronize with the rest of the team on a big software release.

                Today on Software Engineering Daily, Flo Motlik, the CTO of Codeship, joins us to discuss continuous integration, dev ops, and microservices. In full disclosure, Codeship is a sponsor of Software Engineering Daily, but we would be doing this interview whether or not that was the case, because Flo has a lot to say about software engineering. In this show, we get into conversations and case studies of how software teams take continuous deployment from theory into practice.

                Questions
                • How does an organization without continuous integration or delivery compare to one with these processes?
                • How should testing strategy be structured to work with a continuous deployment infrastructure?
                • What is a continuous deployment pipeline, and why is it so important?
                • How do you define DevOps?
                • Where did you get the idea to start Codeship?
                • What are the performance benefits of parallelizing tests?
                • Links
                  • Codeship
                  • Jenkins
                  • Product Hunt
                  • Everything You Always Wanted to Know About Writing Good Rake Tasks * But Were Afraid to Asks
                  • Lending Crowd
                  • Flo’s page
                  • Sponsors
                    Wealthfront is the automated investment service that manages your investments online. Check out wealthfront.com/sedaily to get your first $15,000 managed for free, as a listener of Software Engineering Daily.
                    Digital Ocean is the simplest cloud hosting provider. Use promo code SEDAILY for $10 in free credit.

                    The post Continuous Delivery and Test Automation with Flo Motlik appeared first on Software Engineering Daily.

                    55 min
                  • Continuous Delivery and Test Automation with Flo Motlik
                    “It’s Friday night and you’re basically out of the office on your way to meet with friends. And you just merge this thing and put it into production because you have that trust – that the system will capture any kind of problem.” Continuous integration and deployment are important tools for modern software development. With continuous integration and deployment, individual engineers can push code without waiting to synchronize with theContinue reading...
                    55 min
                  • Distributed Systems with Leslie Lamport

                    This episode is a republication from my interview with Leslie Lamport on Software Engineering Radio.

                    Leslie Lamport won a Turing Award in 2013 for his work in distributed and concurrent systems. He also designed the document preparation tool LaTex. Leslie is employed by Microsoft Research, and has recently been working with TLA+, a language that is useful for specifying concurrent systems from a high level.

                    The interview begins with a definition: a distributed system is a multiprocessor system in which the time required for interprocess communication is large compared to the time for events within a single processor–in other words, it takes longer for interprocess communication than it does for a process to look at its own memory.

                    Alternatively, a distributed system is one in which processors communicate by sending messages. Leslie goes on to talk about how he became interested in distributed systems, and describes the story behind his paper about the Paxos algorithm. The goal of Paxos is to maintain consensus in an environment with unexpected faults (otherwise known as Byzantine faults). After the discussion of Paxos, Jeff asks Leslie about his recent talk “Thinking for Programmers,” which emphasizes the benefit of having a specification prior to writing actual code. “Specification” can mean a variety of things, but predicates and next-state relationships provide a mathematical rigor that is well-suited to distributed and concurrent systems. The conversation concludes with Jeff asking Leslie about how a programmer can build the mental resolve to work through a difficult problem.

                     

                    The post Distributed Systems with Leslie Lamport appeared first on Software Engineering Daily.

                    51 min

                  About Software Engineering Daily

                  From the publisher's feed

                  Technical interviews about software topics.