Skip to content

Instantly share code, notes, and snippets.

@DanielBMarkham
Last active May 4, 2020 14:25
Show Gist options
  • Save DanielBMarkham/e3574720b8b352ff538fbb3b63ff83af to your computer and use it in GitHub Desktop.
Save DanielBMarkham/e3574720b8b352ff538fbb3b63ff83af to your computer and use it in GitHub Desktop.

FAQ

Are you looking for me to agree with this book?

Most definitely no. This book is meant to be a fun book that presents new and unusual ideas. As a senior developer, I expect you to have well-reasoned and good opinions based on your own experience. Don't expect me to agree with you, and I won't expect you to agree with me. Let's just exchange experiences and ideas in an atmosphere of friendship. We can disagree later. In fact, once this book is completed, I expect you to help me fix the various errors of my ways. Just not now. Now is a time for me to explain what I've learned in my career, not agree with you.

The first part is boring!

I get that. The first part is the only "super nerdy" part in the entire book. I put it first because I wanted to get it out of the way. The rest of the book just riffs off the first part to have fun in code and life by giving you examples of how the first part is applicable. I figure if I keep showing you examples eventually it's going to sink in. So if you're bored and going to quit? Jump ahead to chapter 5! Then, when you get stuck or want to argue with me, go the hell back and read the first four chapters. I can handle reformatting or moving stuff around if I have to. I know that I suck in various ways as a writer. That's why I'm asking for your help. Please help me help other people. But I can't physically deal with 50 people who want me to explain to them the first four chapters using email, Twitter, IMs, or something like that. Be kind to your friendly nerdy writer dude.

What's up with the cover?

It's just something I threw together. I like taking pictures. This was a cool one of a seashell. I'll probably get a real artist to do a real cover if I ever publish.

Many of the graphics are hand-made. That's okay. They'll get better.

Why Info-Ops 2? What kind of title is that?

  1. Ten years ago, started a book on backlogs

  2. Realized that what I was really talking about was project information management. Not documents and forms, but post-its, notes, PM tools, whatever. Not even written stuff. Conversations matter, in fact they matter most of all. Some teams need a lot. Some teams don't need hardly any? How could you tell what the minimum amount of communication you need for whatever you're doing? What format? How do you know if you're doing it the right way, not wasting a bunch of time and energy? That's what people needed to know, not processes and tools.

  3. Finished that book. The premise was that information should move around your job just like your code does. Just like there's a DevOps pipeline, there should be an information pipeline, ie Info Ops. Published the book, wrote a cool little "analysis compiler" tool, had fun.

  4. Programming friends wanted more of a coding book. Consultant friends wanted more of a big business book. So two years ago I sat down to write this sequel which is about the end of the Info-Ops pipeline, just you and the computer. I wanted to have a lot of coding in it. I also wanted to demonstrate that the stuff in the first book applies to the second. (In another 5-10 years, I plan on finishing the trilogy with how to use the same principles to run large organizations, start-ups, and programs. It will use the same principles yet again, this time at scale. That should blow some people's minds. It'll be more fun to do than these two.)

Why does the first book cost so much?

Because I'm not in the book-selling business. I doubled the price. I feel like doubling it again. I very well might do so. I am not writing books as some sort of vanity project, make a big name for myself, or to make a bunch of money. There's a serious, much bigger reason for this.

The first book was a great book and had good stuff in it, but my friends were right: devs like a different kind of book. That's why this second book has so much code in it.

I got tired of explaining to developers why the first book was an important book. Figured the best way to do that was write this second book with lots of code, nerdy stuff, and examples. Then, if they're interested? They can either buy the first book or not. If they grok it, the price isn't that much. (And if they don't grok it, I wouldn't give it to them for free, it'd be a wasted exchange for both of us). I've always had a policy that if you can't afford something I create, ask me and I'll give it to you. Other than that, I choose to make price an indication of the commitment readers are making to learn something important.

What's the real purpose of this beta group?

To do a double-check for explanatory ability. Many times with complex subjects you have to write on them again and again until the "magic" happens, that is, until you can write the idea simply and fluidly in a way most anybody can understand. That's the way it feels with these concepts. So I'm asking you to take a look to see if it makes sense. Both with your feedback and with watching you guys talk about your confusions online, I can figure out where I'm not doing a very good explaining things. Then I'll work on kicking ass with a good, breezy style. Content comes first, then flash.

Is this some kind of marketing thing? Are you going to ask me to say nice things about the book?

Yes, I very well may ask you to say nice things about the book, if you like it. I like people saying nice things. I am a writer. I have an ego. The real reason, however, is helping others. Many times other people can get a much better idea if they'll like a book or not by listening to what readers say, not the author. After all, if you ask me, I'm a hella good writer! So I'm not the person to ask. But fishing for compliments or marketing is not the point of the exercise.

The primary goal is a second set of eyeballs and feedback on the explanatory power. Fair warning, though! I may not get back to you on the first third or the other two sections. If the book starts looking like a disaster? I'll shut everything down and go back to work until I get it right. What you're doing is very important to me.

I'm not asking for a bunch of work, detailed editing, or any kind of public comments. However, there will be a public Dropbox folder for edits and comments. I imagine anything you say there would be semi-public. Or if you'd like to just email, that's fine too. So if you do make comments, I might just steal them. If that bugs you, use email and remind me when you provide your fededback.

So yes, you are part of my nefarious, evil, master plan. I am a mad scientist and you are my lab rats. Mwahahahaha! The truth is out! You are most certainly part of a hidden, manipulative experiment, but this is an experiment on content, not an experiment on marketing. Shhhh! Don't tell the others!

What makes you think that you're right on all of this? What are your credentials?

As I say in the preface to the book, my job is thinking up goofy shit. Here's some you might find useful. As I say in the book's closing, I do not claim to be right about any of this. What I claim is to have a self-consistent mental model I'm sharing with you that's applicable across the various scales of technology development, at least to the depth needed to come up with some interesting ideas. This book takes a lot of really smart people and glosses across their work just to patch something together for us to play with using mental experiments. I make no apologies about that; it is the same process I hope you use when solving technology problems in a new domain. It's not perfect or right; it's just good enough. And just like solving technology problems, I expect the model I create for my answers to be different from yours. That's great! Let's compare notes later.

As for credentials, I make absolutely no claim to authority, nor would I accept any if it were offered to me. Frankly, if you care about credentials, you probably don't know tech. This is the one place on Earth where a PhD in particle physics can work next to a self-taught high-school dropout, and both of them be on an equal footing. In this business the people who know what they're doing judge people on how useful their ideas and solutions are, not credentials. I offer this because it's useful. That's all.

Why don't you participate in arguments or friendly discussions about "X" online?

Because written communication and spoken, in-person communication are drastically different things. Written communication encourages viewing language almost as a proof tool, where words are used to show others wrong and yourself correct. These discussions harden positions, making people more stupid than we already are to begin with. I choose not to do it. But hell, if you want to talk about anything, I'm game! Let's just do it in person. No topic is off-limits. I have plenty of opinions, but I'm much more interested in yours. How did you come to have them?

I am extremely interested in using the dialectic to explore and refine shared definitions we might have about important things. It's just that I'm not at all interested in stating and defending positions using the written word.

Having said that, and this is also important, socialization limits creativity. That is, the more socialized you are in a particular group, the more you are naturally programmed to think along predetermined paths. There's nothing wrong or broken about it, it's just the way people are. We naturally and subconsciously norm. If you care about your creativity and intellectual freedom, you should manage that. I do.

Why is there so much swearing?

I grew up in a very old-fashioned religious family. No profanity! Then I left all of that, went in the Marines. There was quite a bit of profanity, as you might imagine. Then out of the Marines, into consulting and becoming a father of four. Back to no profanity again!

What I actually enjoy doing the most? Saying stupid stuff like "Jeepers Creepers!" or "Golly gee!" It's funny because inside my head I am definitely not using those words, and it amuses me to watch people try to process it. Plus I like collecting little arcane idioms like that.

I found, however, that without a few choice profane words here and there, most developers wouldn't take me seriously. So now I'm adding them back in a bit at a time, always with an eye for trying to punch the reader in the nose at the right time so that they think I'm authentic.

So while I actually prefer corny old phrases, I am trying to "strategically" add swearing in so that the text has more of an authentic voice. I don't claim to understand readers, I just write for them at times.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment