Having trouble reading this email? View it in your browser.
New This Week

50% Off—Second Chance Spring Sale »

If you missed out on anything in this year's Spring Sales Event or if you're already ready to take on new topics, we've got some great news for you. For a limited time only, we're giving you one more chance to pick up any of the 48 sale titles for 50% off. Haskell and hands-on Rust, remote work, Ruby, and more—it's all back and at prices you won't see again for a very long time. Scroll down for the full list and promo code.

Recently Released:


Best Sellers:

Make sure you haven't missed anything!

  1. Portable Python Projects
  2. Modern CSS with Tailwind, Second Edition
  3. Agile Web Development with Rails 7
  4. Programming Phoenix LiveView
  5. The Pragmatic Programmer, 20th Anniversary Edition

See all best sellers...

50% Off—Second Chance Spring Sale
May 24, 2022

Enter coupon code SpringSecondChance2022 at checkout to save 50% on any of the following titles:

Offer not valid for previous purchases. Expires June, 1 2022.

Effective Remote Work
The office isn’t as essential as it used to be. It’s time to adopt a brand new mindset. Remote working is here to stay.

Distributed Services with Go
This is the book for Gophers who want to learn how to build real-world, distributed systems.

Modern Asynchronous JavaScript
Create JavaScript applications that always respond, recover quickly, and deliver maximum performance.

Become an Effective Software Engineering Manager
The software industry needs great managers. We need you. Here’s how to start.

Help Your Boss Help You
Guide your manager to treat you as a vital member of the team who should be kept as happy and productive as possible.

Practical Ways to Manage Yourself
Discover that when you manage yourself, you can lead and serve others with ease.

Programming WebRTC
Build nextgen web applications that stream media and data in real time, directly from one user to another.

Program Management for Open Source Projects
Develop processes that serve your open source project instead of making the project serve the process.

Small, Sharp Software Tools
Conquer the command line to improve and optimize your software development experience.

Practical Vim, Second Edition
In more than 120 Vim tips, you’ll quickly learn the editor’s core functionality and tackle your trickiest editing and writing tasks.

The Definitive ANTLR 4 Reference
Implement data readers, language interpreters, and translators from well-known parsing expert Terence Parr, the ANTLR creator and project lead.

Powerful Command-Line Applications in Go
Design, build, and test fast, reliable, cross-platform command-line tools using the Go programming language.

Programming Ecto
Whether you’re new to Ecto or already have an app in production, take a deep dive into Ecto and start coding cleaner and more efficient databases.

Python Testing with pytest, Second Edition
With simple step-by-step instructions and sample code, you'll get up to speed quickly on this easy-to-learn yet powerful tool.

Testing Elixir
Write tests for your Elixir applications, including unit and integration tests for OTP-based modules, asynchronous code, Ecto-based modules, and Phoenix projects.

Effective Testing with RSpec 3
Solve your testing problems by building and maintaining quality Ruby software with RSpec and the RSpec project's lead developer.

From Objects to Functions
Leverage functional programming to build and deliver robust applications in less time and with fewer defects.

Domain Modeling Made Functional
Apply the core principles of functional programming for software designs that model real-world requirements both elegantly and concisely.

Programming Erlang (2nd edition)
Write parallel programs that scale effortlessly on multicore systems with Erlang.

Programming Elixir 1.6
The introduction to Elixir for experienced programmers, completely updated for Elixir 1.6 and beyond.

Concurrent Data Processing in Elixir
Leverage concurrency by using OTP, GenStage, Flow, and Broadway to build high-performance applications and data processing pipelines.

Designing Elixir Systems with OTP
Learn to design libraries with intelligent layers that shape the right data structures, flow from one function into the next, and present the right APIs.

Genetic Algorithms in Elixir
Explore the power of genetic algorithms through practical examples, all in a language you already know.

Effective Haskell
Don’t just learn the Haskell syntax. Dive deeply into the language as you build efficient, well-tested programs.

Hands-on Rust
Make fun games as you learn the Rust programming language through a series of hands-on game development tutorials and real-world use of core language skills.

Apple Game Frameworks and Technologies
Build 2D games with SpriteKit and Swift. Add clever features like pathfinding, artificial intelligence, and complex rule systems to your games with GameplayKit.

Portable Python Projects
Create awesome automation solutions for home or work that don’t require an electronics degree, cumbersome add-ons, or expensive third-party subscription services.

Mazes for Programmers
Explore a dozen algorithms for generating puzzles randomly, each copiously illustrated and accompanied by working implementations in Ruby.

Exercises for Programmers
Get sharp and stay sharp with more than fifty practice exercises rooted in real-world scenarios.

The Ray Tracer Challenge
Challenge yourself and code a photorealistic 3D renderer from scratch, test-first, with shadows, reflections, and support for a half-dozen graphics primitives.

Build a Weather Station with Elixir and Nerves
Build and deploy a production-grade weather station sensor hub using Elixir and Nerves, all while leveraging the best practices established by the Nerves community.

Build a Binary Clock with Elixir and Nerves
Become a better Elixir programmer as you build your own desktop showpiece with a layered approach to software design.

Rust Brain Teasers
Are you ready to experience Rust like never before? Then sharpen your brain and get ready for a challenge!

Python Brain Teasers
Take on 30 simple programs that will challenge and deepen your understanding of Python.

Go Brain Teasers
Think you know Go? Put your knowledge to the test with 25 short programs that will surprise and satisfy you.

Exploring Graphs with Elixir
Harness the outstanding power of concurrent processing in Elixir to work with distributed graph datasets and manage data at scale.

Your Code as a Crime Scene
With its unique blend of forensic psychology and code analysis, this book arms you with the strategies you need, no matter what programming language you use.

Debug It!
Learn the secret of the tools, techniques, and approaches you need to tackle any bug with confidence.

SQL Antipatterns, Volume 1
Use SQL the right way—it can save you from headaches and needless work, and let your application really shine!

A Common-Sense Guide to Data Structures and Algorithms, Second Edition
Big O notation can make your code faster by orders of magnitude. Get the hands-on info you need to master data structures and algorithms for your daily work.

Web Development with Clojure, Third Edition
Create a series of web apps of growing complexity, exploring the full process of web development using a modern functional language.

Agile Web Development with Rails 7
Take hold of a toolkit that's so powerful even a single individual can create a modern application fit for building a competitive business.

Programming Phoenix 1.4
Build the next generation of web applications as you journey from Phoenix novice to expert.

Programming Phoenix LiveView
This definitive guide to LiveView isn’t just a reference manual—it'll teach you how to think in both Elixir and LiveView.

Programming WebAssembly with Rust
Discover the easy way to build cross-platform applications without sacrificing power. Change the way you write code for the web.

Build Websites with Hugo
Build your next website using Hugo, the fast static site generator that makes web development fun again.

Practical Microservices
Practical Microservices dispels the confusion around microservices, showing readers how to build projects for long-term developer productivity.

Design and Build Great Web APIs
Design, build, test, secure, and deploy NodeJS web APIs with this fast-paced and comprehensive book.

Do More with What You Know

From paperbacks and ebooks to online courses and beyond, if you want to create technical content, we may be your perfect partner.

Leverage our 20+ years of experience, our global distribution network, our massive fan base, our relationships with industry leaders, our editorial, production, and marketing prowess, and even our reputation for excellence. Sure, you could go it alone, but with some of the highest royalties in all of traditional publishing and your own personal team, why would you bother?

Shoot us an email at proposals@pragprog.com or visit pragprog.com/publish-with-us for more details today.

Let's publish something together!

Who Are We?

The Pragmatic Bookshelf publishing imprint is wholly owned by The Pragmatic Programmers, LLC.

Andy Hunt and Dave Thomas founded the company with a simple goal: to improve the lives of software developers. We publish timely, practical content on classic and cutting-edge topics to help you practice your craft and accelerate your career.

We are not a giant, faceless, corporation. We're a small group of experienced professionals committed to helping make software development easier.

Thank you for your continued support!

Be the First

Sign up for this newsletter at https://pragprog.com/newsletter/ and be the first to hear about our newest content, best promotions, and upcoming events.

Want even more? Follow @pragprog on Twitter and The Pragmatic Programmers on LinkedIn for commentary, news, job openings, and even puzzles.

And while you're here, remember to look up Andy Hunt @PragmaticAndy and Dave Thomas @pragdave, too.

Thanks for your continued support,

By Professional Developers, for Professional Developers

Sent by the Pragmatic Programmers, LLC. • 9650 Strickland Rd Ste 103-255• Raleigh NC 27615