

My self-published book on being a great developer - davetron5000
http://www.theseniorsoftwareengineer.com/

======
jmduke
First off, congrats! I can only imagine what a good feeling it is to publish a
book (let alone two, as it appears you wrote a Ruby book as well.)

I'm going to offer some friendly criticism on marketing. (I can't really
comment on the content of the book, given that I haven't read it.)

\- Invest $50 and buy a nice Wordpress theme off of ThemeForest, because
junior software engineers are picky folk. If it nets you two more sales, then
it's already paid itself off.

\- The table of contents tells me what I'm going to learn from this book, not
why I want to learn them. Often, the answer to "why" is either "to make a lot
more money" or "to build a lot of cool things I wouldn't otherwise." The three
points you outline underneath the ToC hit those aspects much more strongly, so
I'd move those above the fold.

\- Throwing up an email list where you send me some snippets and then try to
upsell me is advised. I haven't heard of you before, so I'd prefer some
credentials before I commit to a purchase (remember, I'm a junior software
engineer, so both time and money are scarce resources.) Testimonials would
also be helpful here.

\- There's nothing wrong with a second call to action at the bottom of the
page.

~~~
tommi
Good comments! And congratulations as well.

> Invest $50 and buy a nice Wordpress theme off of ThemeForest, because junior
> software engineers are picky folk. If it nets you two more sales, then it's
> already paid itself off.

Second this! Being a software engineer is so much more than writing efficient
algorithms. It's also about beautiful design in many ways. Average website
design gives a feeling it could correlate to average design in other fields.

~~~
jrockway
_Average website design gives a feeling it could correlate to average design
in other fields._

I couldn't disagree more. I personally see no correlation between the design
of his site and his software engineering ability. It's like saying you don't
trust that engineer to design a bridge because the ring he's wearing is all
jagged along the edges. What?

~~~
semiel
One of the primary traits of a good developer is a strong desire for
excellence. If a developer is willing to settle for a mediocre and boring
design, then that is some (perhaps small) evidence that the book may contain
mediocre and boring content.

Anecdotally: At the TechWeek Chicago job fair, there was a very high
correlation between booths with good logos and graphic design and interesting
people behind the booth. All of my good conversations were with people at the
well designed booths.

EDIT: This is especially true since we are expected to pay for the book before
we get access to it. This means that we cannot judge its quality in any
holistic way, but must do our best to pre-judge its quality through various
social signals.

~~~
jrs99
I personally go for things that have bad design. Like slackware linux. I
associate bad graphic design with great software. I love seeing a great
science fiction novel wrapped in a generic illustrated cover. It seems more
quirky and personal to me. I think good design can be bought, so I distrust
it. I really hate it when the packaging is slick, with a perfect logo, and a
perfect website, but the product is terrible. Like you were fooled into buying
it. It happens more often to me these days because good graphic design can be
bought, or copy-pasted.

------
chavesn
(Hasty, possibly unfounded criticism follows)

I'm a software engineer myself, and I already believe that great advice can
come from unexpected sources, so I visited your website willing to be
convinced that you really do know what you are talking about.

These are a few things that I had immediate and decisive opinions on:

\- Your title here: "My self-published book on being a great developer" \-
Sets me up to expect advice from someone like myself (otherwise why would you
self-publish?) -- which is a good thing. It's a sign that you relate to me.
And "on being a great developer". Concise, I really like that. Off to a great
start!

\- "theseniorsoftwareengineer.com" \- Good domain name. I like you already.
Connotes relation to career and adding the "the" makes me think about the true
meaning of "senior".

Then I get to your website. Sorry to say, but that's where it goes south.

\- It reminds me of those scammy "make millions on the internet" advertisement
websites. They may actually make a lot of money with their over-the-top
styling, so I'm not saying I'm right, but it's a turnoff to me.

\- Excerpts - Good! But they don't stand out. Call them out! Maybe even link
some great quotes to the excerpt page instead of the word "excerpt".

\- The checklist - it's gotta go. I didn't read it, even though the text was
huge.

\- Try to neutralize the statement "Not interested in management?". I don't
think you need to preemptively limit your audience.

\- The cover -- Your style is up to you, but because the text is fairly small,
in thumbnail size it doesn't balance well against the huge text on the rest of
the page. And I like large text -- but it just needs to balance well.

\- Avoid generic statements like "A guide for making the most of your career"
or "simple techniques for fixing bugs" \-- everyone offers these. What is
unique about your take? What did folks like about your blog posts that
motivated you to write this book?

\- Some of the good content, stuff you should highlight better: Stuff about
you, "instant download", "197 page eBook", links to your blog posts.

Sorry if this is harsh -- I think you are off to a great start and I hope this
helps even a little bit.

~~~
davetron5000
Author here. Thanks for these comments. They are not harsh and very useful and
I can see where you are coming from with all of them. I do want to address
these issues, but I also wanted to ship, so hopefully I can evolve the design
and other aspects as you've mentioned.

------
huhtenberg
I don't know. It's great that you wrote it and I can completely understand
what sort of undertaking it was, but the problem with any mentoring book is
that it should come from a recognized and credible source. If this were an
auto-biography book, written from the "what worked for me" angle, it would
certainly have an audience. But if it just dispenses advice, then it begs the
question what makes you think you are in a position to do that.

I am also not sure who it is written for - pretty much every developer above
summer intern thinks of himself as a senior :) Over-inflated self-assessment
is a norm.

~~~
tcopeland
[disclaimer: I helped proofread the book]

FWIW, I worked with Dave at LivingSocial and took over a bunch of code that he
wrote. Whatever a senior developer is, DaveC is that. He wrote great code, was
excellent in terms of executing on tasks, made major contributions to tons of
projects, was helpful, cheerful, all that good stuff.

~~~
dpritchett
This blurb needs to be on the landing page!

~~~
ternaryoperator
Really? Nothing in that blurb tells me that he's exceptional. Just a nice guy
who writes good code.

------
LargeWu
So maybe this is nitpicky, but it's the difference between books I buy and
books I don't.

In the 'Technical Debt and Slop' excerpt, there is an example about
determining whether an order is free. Basically it compares the customer's
store credit plus discounts against the price of the object. It does not
account for quantity, or other items in the user's cart. Essentially, the same
store credit amount gets applied to every item. This is a bug in the logic,
and it took about 30 seconds of me scanning the article to notice it.

Now I realize that's not the point of the excerpt. It's about code
duplication. But it's still sloppy writing. That's fine for your blog, but if
you expect me to pay, I expect content that is of high quality. Code examples
should be complete, and free of bugs.

~~~
kilburn
I think it is worse than that. To begin with, it makes no sense (to me) for an
order to have a single product by definition. This is what I think you quickly
spotted.

I understand that the author does not have an "Order" because that is supposed
to be somewhat definitive (a domain object stored in the database). If that is
the case, a much better approach would be to have a "PreOrder" object, that is
basically the same but lives in the session scope.

This PreOrder object (or ShoppingCart, or whatever) should basically "extend"
(share everything with) the Order object, inheriting all its capabilities
_except that of being persistent_. This includes the logic for computing
prices based on discount codes/rates/delivery chargers/whatever that you
normally apply to a regular Order.

Now, if you want to check if a product would be free, you just add a helper
method "free?(product)" to the PreOrder. That method would just get the
"price()" of the order, add the product to the PreOrder (itself), check if the
new "price()" is higher than before, remove the product, return the result of
the price increase check.

At this point you have accounted for any possible interaction between product
quantities, discount codes and rates, user credit, delivery costs and
whatever. No code duplication involved _at all_.

Moreover, I would say that it is actually _less_ complex (as in difficult to
understand) to build such "PreOrder"s than to add random methods to your
domain objects...

------
acjohnson55
I think $25 is a bit too much for me, unless people start raving about it. You
can price it however you want, you wrote it, but I'd give it a shot if it were
half the price, considering you're self-published and without reviews. I'm not
trying to devalue your work, but just keep in mind that you may actually make
up in quantity sold what you lose in price per item.

Also, is this your final product? Knowing that it's going to increase in
refinement over time would add to the value proposition for me.

Anyway, congrats on writing a book! It's a great accomplishment.

~~~
ricardobeat
You're being the "I'd buy your product if..." guy.

~~~
nopassrecover
Nothing wrong with that if it's genuine i.e. if it's "I'll buy it for $10"
rather than "the price is higher than I perceive the expected value, I might
buy it if it was less". It doesn't make a lot of sense to sell for less than
$25 based on expected volumes though.

Based on initial impressions I'll agree the book isn't giving off the vibe
that it's worth much more than 1-2 coffees of value ($5-$10), but after
looking into it a bit more there's no reason why it can't improve that (it is
after all a decent length book by a previously published author who has
relevant experience, so $25 sounds quite reasonable).

1\. Better site design would make me more confident the book is well designed.

2\. Include chapters in the same format/design as the book (rather than just
HTML pages).

3\. Tell me front and center that the book is 197 pages (that's quite a lot!).
First impression I thought this was a couple of blog posts worth of generic
advice, not a decent length book.

4\. Make the links to the successful blog posts that spawned the book more
prominent (bonus: site adds credibility).

5\. Make it easier on scanning that he's already an accomplished well-reviewed
author (Build Awesome Command-Line Applications in Ruby). Include reviews from
here initially in the context of showing author credibility (need to make it
clear they're not for the current book though obviously).

6\. Highlight the experience in an easier to skim way

7\. Make the book cover look different, e.g. 3D rotate with imaginary book
pages, or border, or on a darker background or something (the white edges for
me at least didn't look like part of the book, so I see the slim narrow purple
band and think "booklet" not book).

For reference, Nathan Barry does some of the best sales pages I've seen
(Patrick McKenzie aka patio11 happens to agree).

Nathan's advice:

[http://nathanbarry.com/learned-selling-6000-ebook-
today/](http://nathanbarry.com/learned-selling-6000-ebook-today/)

[http://nathanbarry.com/step-by-step-landing-page-
copywriting...](http://nathanbarry.com/step-by-step-landing-page-copywriting/)

Samples:

[http://nathanbarry.com/webapps/](http://nathanbarry.com/webapps/)

[http://nathanbarry.com/app-design-handbook/](http://nathanbarry.com/app-
design-handbook/)

~~~
acjohnson55
I was being serious about my price point. Not because I expect he'll lower the
price, but just to give my data point to take into consideration with whatever
other feedback he's getting. If it were $12.50, I'd buy it. That's on the high
end of what I like to pay for eBooks, but I respect what the author's doing,
and I want to be a better senior engineer. To me, that's a reasonable price to
pay with the preconceived notion that I'll probably have to dig through the
book for the gems that really resonate with me. Maybe it's my background in
econ, but I often approach things with my valuation in mind.

~~~
markbernard
I agree totally here. You cannot price an e-book the same as a textbook. Plus
e-books give you a much wider audience so lowering the price is not
necessarily a bad thing. Check out Joe Konrath's blog. He is a fiction author
but much of what he says cover the span of e-book publishing.

------
ewest
If you want your experience to come through, don't make it the primary point.
Your experience will become apparent in the things you write and the way you
write about them.

Out of the first 9 paragraphs in 'Focus on Delivering Results' you use "I" in
6 of them - you start 3 of them with "I". The excerpt reads more like a
biography.

I don't know whether you worked with a copy editor - if you didn't, you should
have.

You also should have had some independent reviews prior to publishing - maybe
someone would have been kind enough to tell you about all of those "I"s - they
make the text "feel" rough and unfinished.

You could go crazy with the "I"s in your "about the author" section, yet let
the book's content speak for itself.

Given this, the excerpt diminishes the book's value for me, so it's unlikely I
would pay $25 for it. If I wanted a biography, I would get a biography.

------
muppetboy33
Nice job. I also did this. I got tired after twenty some years of repeating
myself to juniors, so I wrote "Coding: On Software Design Process". --
Jonathan

[http://www.amazon.com/Coding-On-Software-Design-
Process/dp/0...](http://www.amazon.com/Coding-On-Software-Design-
Process/dp/0615404820)

~~~
shubb
Thanks for the recommend, I purchased. So far as I can tell, this book isn't
so much about how to code, as how to work with people. It's by Jonathan Locke,
who has an impressive history, and (judging by the online preview) a lovely
writing style.

------
web007
First impression is that you may be a great engineer, but you need a great
designer if you want to sell your book. I'm still interested in the content,
but it's a definite turn-off to see a site that looks like something I
designed (aka not good - references available upon request).

Somewhat related, there's a 914kb 1007x1024 black-and-white PNG for a 197x200
image of the author. That should probably be fixed, if for nothing else than
it's killing your bandwidth. I only noticed because I thought I was back in
dial-up days with how slowly it came through.

All of that aside, I'm intrigued. I'm going to bookmark this and come back in
a couple weeks, I'll have to see how it looks after you've taken the other
comments here on HN into account.

------
jasonswett
I'd like to point out that $25 is probably not too much to pay for a book that
might earn you an extra $X,000-$X00,000 over the course of the rest your
career. There's of course a chance that you could read this book and increase
your earning power by exactly zero, but I have a hunch that there's at least
$25 worth of good advice here.

The design is FINE! It communicates what the book is about in a way that takes
very little effort on the visitor's part. I think Dave did a perfectly okay
job with it.

I've actually been saving up thoughts and writing scraps to write a book like
this myself, but I'm probably not qualified and I'm glad somebody else did a
better job first. Nice work.

~~~
shasta
The cost of reading this book isn't $25. It's $25 plus the opportunity cost of
however many hours it takes to read it.

~~~
rismay
Nice. I'll take this as an opportunity to link to an Austrian economist.
Austrians happen to be the best economists.
[https://en.wikipedia.org/wiki/Friedrich_von_Wieser](https://en.wikipedia.org/wiki/Friedrich_von_Wieser)

------
ruswick
This design is visually abrasive. I would suggest getting rid of the the
purple accents and changing your typography.

~~~
jcoder
This comment is verbally abrasive. I find the site very clear, legible, and
intuitive.

------
shubb
A lot of negativity here, mostly based on the 90s site.

Reading the excerpts, what the author is doing is quite clever. He creates an
identity, the reliable, effective Senior Engineer.

The reader wants to be more like that identity, so he takes you through
different situations and says, 'This is how a Senior Engineer would act and
think in this situation'. For example, [A senior engineer would not ship his
code until it was really production quality, even when rushed].

The situations and issues he talks about are often a result of social pressure
(to ship, to deliver features that don't matter in order to show progress on
the burn chart). It's easy to get caught up in those moments. If the book
allows you to step outside that, and think 'What would a true Senior Engineer
do here', and the answer is 'The long term right thing', I think it's
valuable.

But not $25 of valuable. Sorry, that is too much for a speculative purchase
(which this is, given the author isn't a known quantity like Jonathan Locke at
bottom of the thread.

------
wasd
You absolutely need an email capture. I'm not ready to buy yet but if you sent
me periodic posts I would be more inclined over time.

------
davetron5000
Author here. Apologies that the design of the website has been so distracting.
I ultimately decided that I needed to ship, but I can see where those
commenters are coming from (and I appreciate that most of you have been
constructive). I CAN say you should all be glad to not see the 3-D book I
created in Pixelmator. I saved you from SOMETHING, at least :)

Since I've now made real revenue just on the first days' sales, I feel more
confident spending actual money on the site design.

I opted NOT to use a template because none of them seemed adaptable to what I
wanted to do.

Anyone willing to help me out, or can recommend someone who would?

------
fekberg
Congratulations Dave! About a year ago I self-published my first book and it
ended up being the best thing I ever did (so far). How did you write the book?
I used LaTeX for mine, less mess with the tools! Another thing, have you
considered going Print-On-Demand as well? I've got my book on Amazon using
CreateSpace, they don't take a lot of the money and the book gets good
exposure; while I also have a DRM free PDF, ePub and Mobi. As well as on
Kindle.

Good luck with the sales and again, congratulations on becoming an author!

------
noahc
I just wanted to say congrats on getting something out in the world.

Don't worry about all the criticism on this page, particularly from anyone who
has never written a book before.

------
pydanny
Congratulations on self-publishing your work. I know how much work it is
(published a book this year, working on a second) and I know what it's like
when you get criticism. Keep up the good work and a big lesson we learned was
this:

Take the negative criticism on your book and reverse it. Every time we got
dinged on a problem with the text in our book we worked on that chapter until
we felt like no one could ever complain.

------
laureny
I can't help but think that giving generic coding advice by using a
dynamically typed language is anathema to a book, because you see all these
symbols in the source (customer, account, etc...) but you have no idea what
methods they respond to and which ones are compatible with which other ones.

I hope that as a senior software engineer, you make your points using other
languages than Ruby in your book.

~~~
davetron5000
Author here. There is very little code in the book and it is split between
Ruby and Java. The chapter on writing includes a fair bit about how the API
documentation burden in statically typed languages is lower, since the types
are part of the method signatures.

------
piratebroadcast
Sorry to he a hater but that landing page looks like balls and the book cover
looks like balls. Looks like a high schoolers HTML project. Also, 'Who you are
and what you have done and what makes you qualified' should be higher up and
more noticable. I would find someone who has done something similar in the
past and base your sales pitch/designs from that.

------
sgloutnikov
Congrats and Thank You! I just purchased the book, and look forward to reading
it. As a young software engineer, I enjoy reading books like this to get many
different points of view that I can learn from.

In relation to the comments about the price--I think it is reasonable. It
really depends on how much you think you can get out of this book, or a book
like this.

------
trvd1707
I hope the book had a good revision using a good spell-checker. Please fix the
e-reaeers on your page to e-readers.

------
amykhar
One mild criticism. A book such as this is really going to depend on the
author's reputation. You buried the info about yourself way below the fold.

I'm also not certain about the price. I would pay that price from a big name.
For anybody else, I wouldn't go above $10.

------
lightbritefight
You have a minor misspelling under book types:

ePub (iPad and most other e-reaeers)

------
celwell
Nice to see a programming book that's more meta. I'm sure that it will be
useful; especially for new college grads.

~~~
TeamMCS
Has anyone read this yet? I'd like to see a basic review before I through $25
at a relatively unknown author. Though regardless, congratulations on self
publishing and getting a book out!

