Similar authors to follow
Manage your follows
About Alvin Alexander
Alvin took the circuitous route to software development. He managed to get a degree in Aerospace Engineering from Texas A&M University when all he was really trying to do was play baseball. Once he became a practicing engineer, he realized he liked software and programming more than engineering. So in approximate order he taught himself Fortran, C, Unix, and network administration, sed, awk, Perl, Java, Python, Ruby, JRuby, Groovy, PHP, and Scala.
During this process he started a software consulting firm, grew it to fifteen people, sold it, and moved to Alaska. After returning to the “Lower 48,” he self-published two books (“How I Sold My Business: A Personal Diary”, and “Zen and the Art of Consulting”). He also created alvinalexander.com, which receives millions of page views every year.
These days Alvin is a survivor of two types of cancer and two rare blood diseases. He runs his consulting business, Valley Programming (valleyprogramming.com), and hopes to one day get back to running his 501(c)(3) nonprofit charity, the Zen Foundation (zenfoundation.org).
Customers Also Bought Items By
Save time and trouble building object-oriented, functional, and concurrent applications with Scala. The latest edition of this comprehensive cookbook is packed with more than 250 ready-to-use recipes and 1,000 code examples to help you solve the most common problems when working with Scala 3 and its popular libraries.
Scala changes the way you think about programming--and that's a good thing. Whether you're working on web, big data, or distributed applications, this cookbook provides recipes based on real-world scenarios for both experienced Scala developers and programmers just learning to use this JVM language. Author Alvin Alexander includes practical solutions from his experience using Scala for component-based, highly scalable applications that support concurrency and distribution.
- Strings, numbers, and control structures
- Classes, methods, objects, traits, packaging, and imports
- Functional programming techniques
- Scala's wealth of collections classes and methods
- Building and publishing Scala applications with sbt
- Actors and concurrency with Scala Future and Akka Typed
- Popular libraries, including Spark, Scala.js, Play Framework, and GraalVM
- Types, such as variance, givens, intersections, and unions
- Best practices, including pattern matching, modules, and functional error handling
Functional Programming, Simplified makes the process of learning functional programming (FP) in Scala as simple as possible by breaking down complex topics into small, bite-size chunks that are easy to understand. The lessons are presented in a logical sequence — the order in which the author learned them — culminating in advanced topics like functional domain modeling, and how to write and use monads.
The book’s lessons include:
- A simple set of rules for functional programming in Scala
- How and why to write pure functions and use immutable variables
- Why function signatures in FP are *much* more important than method signatures in OOP
- How pure functions work with I/O (file, database, and network)
- How to read anonymous functions
- Lessons on recursion, with many images to help explain how it works
- How the concepts of JVM stacks and stack frames work
- Partially-applied functions and currying
- How using Option naturally leads to flatMap, and how flatMap naturally leads to for-comprehensions
- How and why to use case classes and pattern matching
- How to use monads like State and IO
- How to use monad transformers like StateT
- How (and why) to write your own monads
- Domain modeling in functional programming
- How to use “lenses” to update immutable data models
- Concurrency lessons cover Akka actors and Scala futures
- Visual lessons on collections’ methods like fold and reduce
- How to use the ScalaCheck property-testing framework
- How to write and use “type classes”
- Algebraic Data Types (ADTs) are explained
"If you're thinking about buying or selling a business, I encourage you to spend a little time reading this diary. For less than the price of a cup of coffee, and just a few hours of reading time, you can learn some valuable lessons about what the author did right, and more importantly, what he did wrong."
Alvin Alexander founded a computer consulting business in the basement of his home in the 1990s, grew it into a very successful twenty-person business, and then sold it ten years later. During the process of trying to sell his small business, he wrote many small notes before and after meetings, and those notes eventually became a diary of everything he went through.
After the sale was completed, he published a portion of that diary on his website, HowISoldMyBusiness.com. The website quickly grew popular, with many comments like, “Thank you!”, “You helped me make money”, and “Please share more information.” After all that encouragement the book is finally here, including (a) an all-new “Lessons Learned” chapter, and (b) additional chapters on the five years that have passed since he sold his company.
If you're thinking, “Should I sell my small business?”, or “How can I sell my company?”, this book is for you. It shares the “behind the scenes” secrets of the process of selling a business that you won’t find anywhere else. Because of everything that happened during the sales process, the book will probably also be very helpful for people interested in buying a business, and people who are partners in a business, such as LLC business partners.
In the end, this book is an investment. Think of it this way: How much money would you be willing to spend to make thousands of additional dollars when you sell your business? If just one tip from this book makes you only a thousand dollars, it will still be one of the best investments you ever made.
Alvin Alexander has worked as a consultant for over twenty years. He began at the bottom, working for a small salary plus the exciting promise of "incentives". Sadly, those incentives didn't come right away. In fact, they barely came at all during the first year.
But he kept pushing forward, and after working 90-hour weeks for 18-24 months, and making pretty much every mistake a consultant can make -- such as offering advice without knowing all the facts, or before anyone actually asked for his advice -- things got better. The short story is that he created his own consulting firm, grew his income to over $300,000 per year, sold his business, and "retired" before his 45th birthday.
Here's how Mr. Alexander describes Zen & the Art of Consulting:
As I wrote this book, I kept thinking back to my first years as a consultant -- the lean years -- and asked, "Would this information have helped me?" I also thought about the employees I hired, and how I coached them to prepare for meetings and handle certain situations. If I thought a story told an important lesson, I included it here.
In the end, this book is for any consultant with ambition. It’s written for the consultant who wants to be involved in the big decisions, the consultant who meets with clients and prospects to discuss their most challenging problems, the consultant who makes the big presentations, influences decision-makers, and has happy, long-term customers. It’s for the person who aspires to be a partner in a consulting firm, or who wants to run his own consulting business.
Finally, with the summary sections ("cheat sheets") at the end of the book, you can also use this as a reference manual, such as reminding yourself of the important points the night before a big meeting.
I hope you enjoy this book, and I hope it leads to a rewarding, fulfilling career.
All the best,
In his latest book, Alvin Alexander, author of the Scala Cookbook and Functional Programming, Simplified, brings you a swift introduction to the Scala programming language. In a little over 200 fast-paced pages, Mr. Alexander demonstrates that Scala is a beautiful, modern, expressive programming language. The book is broken down into 56 short chapters to help you easily find what you need. Lessons include:
- An introduction to Scala’s two types of variables, `val` and `var`
- Scala control structures, including powerful `for` expressions and `match` expressions
- An overview of Scala collections classes and methods
- Object-oriented programming (OOP), including features of Scala classes and methods
- Functional programming (FP), including pure functions, using functions as variables, case classes, match expressions, functional error handling, and more
- Modular programming with traits
- How to build Scala projects with SBT
- How to write TDD and BDD unit tests with ScalaTest
- Programming concurrency with Akka actors and Scala futures