
OK
About Michael Callaghan
Though my early career took a 10-year detour, I finally began writing software professionally in 1995. I've been doing that ever since.
Customers Also Bought Items By
Are you an author?
Author Updates
An eye-opening guide to the communication mistakes we all make and what to say instead.
Have you ever been told that your communication style is "too confrontational?" Do you have problems persuading your coworkers and managers without sounding arrogant or condescending? Have you said something and immediately regretted it? Have you ever said something you can't take back? Have you ever wondered later, 'what was I thinking???'
We have all been there. We all make mistakes. We all suffer from a lapse in good judgment from time to time. Sometimes these mistakes are a "one off" but when made repeatedly can lead to a domino effect of problems. When that happens, it can be hard to recover.
The important thing, as professionals, is that we learn from our mistakes and hopefully do not make the same ones again, thus stopping the dominoes before they all fall.
I've been making the mistakes contained in this book for almost three decades as a professional software developer. I was fired from on my first jobs for being too arrogant and also asking too many questions. I once nearly lost my job because I knew better than my leadership. One mistake even nearly got me arrested!
All these stories and more are in this book.
Had I never learned from these mistakes, they probably would have been the end of my career. Fortunately, we humans are good at learning from experience. This book is your chance to learn from mine, and hopefully have a good laugh at my expense from time to time. In fact, I hope you do laugh. I often look back, chuckle, and wonder what had possessed me to say something.
Table of Contents
Thoughts
- Don't Succumb to Prejudice
- Don't Assume Unwisely
- Don't Get Angry
Words
- Don't Whine
- Don't Use So Many TLAs
- Don't Talk So Fast!
- Don't Be Dishonest
- Don't Be Too Honest
- Don't Criticize in Public
- Don't Talk Politics
- Don't Blab on Social Media
- Don't Provide Unnecessary Details
- Don't Have an Attitude
- Don’t Tell Me “No”
Deeds
- Don’t Interrupt
- Don't Look at Your Feet
- Don't Throw Temper Tantrums
- Don't Demean Others
- Don’t Air Your Grievances
- Don't Do These Either
FAQ
Why did you write this book?
The idea of the book came about in response to a few tweets and a couple of blog posts about spelling, grammar, treating others with respect, and what happens when you fail spectacularly. Someone finally commented that I should consolidate all my stories and advice into one place. Don't Say That at Work was born.
Are you concerned about retaliation for any of the stories?
First of all, most of the stories are about things I did, which were entirely my own fault.
That said, I have taken care not to reveal the identities of any individuals I describe in the book.
How I became the go-to Angular Advocate at work - and how you can, too!
In late spring 2018, my manager approached me with some interesting news. He explained that our executive director had complained that although Angular was prevalent throughout his organization, his own developers were not very experienced with it.
What could be done about that? They discussed various options, from video course subscriptions, to books, to hiring an outside training firm to provide the necessary training.
At that point, my manager spoke up. “What if we ask Mike Callaghan to do it?” He then proceeded to recommend me in an executive meeting to train a group of our software developers how to use Angular.
Before I knew it, I was the Angular Advocate.
My Angular Journey
I’ve been using Angular since AngularJS 1.2 or so. My first ever Angular app was a mobile swimming coach, implemented with the Ionic Framework and AngularJS.
Today I build web applications with Angular almost exclusively, though I admit to having dabbled briefly with React, even so far as to writing [a book on using React with Ionic](https://gum.co/ionic-react).
When I start a new application, either personally or professionally, I tend to start with Angular.
What’s in this book?
This book consists of a series of essays I have written for various technical audiences over the past year or so. They are either directly or indirectly related to Angular development.
However, this is not a book for web development beginners. There are plenty of those. Instead, this book is designed to appeal to experienced web developers with some exposure or experience with Angular.
The content you will find is, admittedly, opinionated, as is the entire Angular ecosystem.
I describe solutions that worked for me and my team. There are probably other approaches and solutions that would also work, but I will not dwell on them.
The content of this book represents my experience, and I hope you will be able to learn something from it.
Topics Covered
Here are some of the topics that are covered in the book. Notice it is not all simply Angular. There are other useful subjects that the Angular Advocate needs to understand.
- How to introduce coworkers to TypeScript.
- How to provide coworkers a Gentle introduction to Angular.
- How to create a simple "no-code" Angular component.
- How to display "offline" status in an Angular app.
- How to support [(ngModel)] in a custom Angular component.
- When to use route resolvers, and when not to use them.
- How to keep up with Angular releases. Fortunately, @Angular makes it easy to do.
- Understanding service APIs from both the producer and consumer point of view.
- Keeping your deployment options open.
- How to spin up a test API quickly and easily with Firebase.
- The benefits of Progressive Web Apps (PWAs) and when to use them.
- How to embrace RxJS and become truly effective.
- How to use Test-driven-development (TDD) effectively with Angular.
- Knowing what code to test (and what code not to test).
- Knowing what all those weird symbols on the command line are all about.
This volume will cover the absolute basics: I will show you how to build a simple Ionic application. I will cover the application structure, explaining how an Ionic application is laid out. Next I will introduce some of Ionic’s more useful UI components and create a basic side-menu for the demo application.
Unlike many books that spend a lot of time on background, this one is designed to be fast paced, with a minimum of fuss and fluff. It is all hands-on.
By the time you complete the series, you should have the confidence you need to create and deploy your own mobile app for iOS or Android.
It will be a fast ride, so hang on.
# Book Contents
• Getting Started
• Gentle Introduction to Angular
• Your First Ionic App
• Guided Tour of the Ionic-Angular Code
• Customize the Code
• A10Dance - The Demo App
• Creating the New Project
• Modifying the Home Page
• Custom Students Service
• Adding the Roster Page
• Implementing a Student Roster
• Adding Functionality to the Student Roster
• User Confirmation and Notification
• Basic Navigation Menu
• Where to Go from Here?
• Apply What You Have Learned
• Appendix – Installing the Tools
# Series Road Map
This is the first in what I plan to be a series of books on developing applications with Ionic and Angular.
Book 1: Building a Mobile Application UI
This book is all about building a user interface for a mobile application from scratch. It contains everything you need to go from nothing to a fully functional mobile app UI with Ionic Framework and Angular. Many of Ionic’s basic UI components will be showcased:
• Ion-card
• Ion-item
• Ion-button
• Ion-icon
• Ion-menu
• Ion-alert
• Ion-option-sliding
• Ion-action-sheet
• And More
Book 2: Dealing with Data
Once the basic user interface is complete, it is time to work with data. How will the application accept, validate, and store user-provided input? This book will answer those questions.
When the application functionality is completed, it still needs to be available to its potential users. The final section of this book will be a discussion around various hosting options. You will deploy the application as a Progressive Web Application, which can then be installed on any modern mobile device.
Book 3: Devices and Deployment
Sometimes, you need true hardware integration and installation. In this book, you will work with Capacitor, Ionic’s solution for interfacing with the mobile hardware.
The book will conclude by explaining and demonstrating how to prepare, build, and deploy the finished application to both the Apple and Google Play Stores.
Sign up at https://walkingriver.com to receive advanced notice and occasional rough-draft content of new books in this series.
Let me start out by saying that this isn't a 900-page, in-depth, comprehensive course on Angular. Instead, it's a no-nonsense guide to getting your Angular app hosted as a Progressive Web Application (PWA) as quickly as possible, and with a minimum amount of fluff.
You'll thank me for not wasting your time.
Forget the App Stores!
They are too expensive: While Google only charges a one-time $25 fee to join, Apple charges $99/year just for the privilege of hosting your apps there. And even if you are willing to pay, those companies still have veto power over the content of your application.
• They are too complicated: Have you seen what's required to submit an application to either Apple or Google?
• Updates are painful: Each update to a mobile App Store requires going through the entire submission problem
• You risk arbitrary rejection: When submitting to an app store, it is possible that a faceless stranger might reject your app. I actually had an app rejected by Apple because, “it provided no user value.” Ouch.
It's time to say no.
As a software developer, you want your apps to reach as many people as possible, right? Which platform should you target to reach the most users possible? How about all of them? Progressive Web Apps, or PWAs, let you do just that... and without paying Google or Apple to be in their stores.
Progressive Web Apps to the Rescue
• No App Store Submissions! One of my favorite reasons to choose a PWA is that there are no app store submissions. If you are building an app for the enterprise, you may not want it distributed to users outside of your organization.
• Painless Updates: updating a PWA is no different than updating any other web app. Your features or bug fixes can go live as quickly as your build process allows.
What are you getting?
In this book, I’ll show you how to take an existing Angular application and deploy it to the web as a Progressive Web Application. This will make it easy for you to target the web, iOS, and Android, all at the same time, without ever asking Google or Apple for permission.
By the end of the book, you should have all the knowledge and confidence you need to deploy your own PWA that all your potential users can enjoy.
This book is the content of a presentation I was planning to give at DevIntersection Orlando in April. Unfortunately, due to COVID-19, the entire conference was canceled. Rather than letting this important material go to waste, it seemed prudent to make it available to the general public, and at a much lower price.
If you were planning to attend DevIntersection last spring, you (or your employer) would have spent about $1500 to get in the door. Then you would have had to decide which of a dozen or so sessions to attend at any given time. It's likely you would still have missed this one, and that would be a shame.
If you were to hire a professional consultant to come train you on this content in-person, it would probably cost upwards of $2000 per day once you factor in travel costs. This might make sense for a Fortune 500 company but not for a single individual or small user group meeting.
Instead, you can invest a small fraction of that amount for the exact same content, in the comfort of your own home.
Learn to Build Mobile Apps!
The Ionic Framework makes it easy
The Ionic Framework supports a variety of mobile platforms. Throughout this book, I will cover the important aspects of development with Ionic and React, going from the initial idea all the way to the Apple App and Google Play Stores.
How the Content is Structured
This book is part of a multi-volume series that can be purchased individually. It is available here as a single complete volume.
Part 1: Building the UI
This will cover the absolute basics: I will show you how to build a simple Ionic application. I will cover the application structure, explaining how an Ionic application is laid out. Next I will introduce some of Ionic’s more useful UI components and create a basic side-menu for the demo application.
Part 2: Deployment (Coming Soon)
This volume explains and demonstrates how to prepare, build, and deploy the finished application to both the Apple and Google Play Stores.
What Do You Need to Know?
I expect you to have some basic understanding of web development. You should know what a "div" is, for example, and know how to create a button. You should have a decent grasp of JavaScript, but you do not need to be a master.
I do not expect you to have ever used React or the Ionic Framework, but it certainly will not hurt you if you have. I should make clear that this is not a book on React. While I will point out basic aspects of React as they pertain to Ionic, I will not go any deeper than I must to make the demo application work.
Concepts will be explained as needed, as close to their use as I can get.
What Will You Learn?
By the time you complete the series, you should have the confidence you need to create and deploy your own mobile app for iOS or Android.
Unlike many books that spend a lot of time on background, this one is designed to be fast paced, with a minimum of fuss and fluff. It is all hands-on. It will be a fast ride, so hang on.
Important Disclaimer
This series is a work in progress. This volume will help you get a jump on your Ionic-React projects. As new content is completed, the series will be updated
Learn How to Get Your App on the App Store!
These days, it seems that everyone wants to build mobile apps. Even web developers. The trouble is, there are too many technologies involved.
And the process is really involved and somewhat convoluted.
If you are a web developer and want to build mobile apps, but you do not want to take the time to learn multiple technologies, then this book is for you.
These days, you don't have to ignore standard Web technology such as HTML, JavaScript, and TypeScript.
I will show you not only how easy it is to build your own app, but also how fun it can be.
You will see how you can quickly take your existing Web application and deploy it to the Apple App Store and make it available to millions of iOS devices.
Did you know that almost a third of all apps in the Apple App Store are built with Web technologies? How amazing is that?
Now it is your turn. Get your favorite Web app ready and join me on this fast-paced journey to enter the world of mobile application development.
I do not want to waste your time!
This book is about one thing and one thing only. Getting your web application onto the Apple App Store, where it will then be available to the tens of millions of iOS users all over the world.
In this book, I will show you how to get a web application prepared and deployed to the Apple App Store.
How are you going to do that? With Capacitor from Ionic.
Capacitor is a newer technology that will allow you to wrap an existing web application into an Xcode project and then deploy it to the Apple App Store. This book will cover the basics you need to take one of your own web apps (or you can use one of mine if you prefer).
When you are finished, you should be able to replicate the process with every web app you want to put in the hands of iOS owners everywhere.
Become the Hero!
In late spring 2018, my manager approached me with some interesting news. He explained that our executive director had complained that although Angular was prevalent throughout his organization, his own developers were not very experienced with it.
What could be done about that? They discussed various options, from video course subscriptions, to books, to hiring an outside training firm to provide the necessary training.
At that point, my manager spoke up. “What if we ask Mike Callaghan to do it?” He then proceeded to recommend me in an executive meeting to train a group of our software developers how to use Angular.
Before I knew it, I was the Angular Advocate.
My Angular Journey
I’ve been using Angular since AngularJS 1.2 or so. My first ever Angular app was a mobile swimming coach, implemented with the Ionic Framework and AngularJS.
Today I build web applications with Angular almost exclusively, though I admit to having dabbled briefly with React, even so far as to writing a book on using React with Ionic.
When I start a new application, either personally or professionally, I tend to start with Angular.
What’s in the book?The complete book consists of a series of essays I have written for various technical audiences over the past year or so. They are either directly or indirectly related to Angular development.
However, this is not a book for web development beginners. There are plenty of those. Instead, this book is designed to appeal to experienced web developers with some exposure or experience with Angular.
The content you will find is, admittedly, opinionated, as is the entire Angular ecosystem.
I describe solutions that worked for me and my team. There are probably other approaches and solutions that would also work, but I will not dwell on them.
The content of this book represents my experience, and I hope you will be able to learn something from it.
What about the preview?
This preview consists of the first three chapters, which are an overview of TypeScript and Angular. The most important thing I discovered when I became an Angular Advocate is that people expected me to help teach others. The first three chapters represent the types of things you will be expected to share with your coworkers.
- How to introduce coworkers to TypeScript./li>
- How to provide coworkers a Gentle introduction to Angular./li>
- A brief overview of the Angular CLI