Professional Software Development - New Ebook!

Whew!  Just finished the first part of a new ebook on software engineering that I've been writing in my spare time.  It shares its title with this post.  I'm feeling relieved but also a bit frustrated at the state of tools and incompatibilities among e-readers. 
The book is aimed at Computer Science students, traditional engineers, and self-taught programmers, to give them the understanding and tools necessary to succeed as software engineers.  You may be familiar that many of the necessary skills are not taught at university, and often missed by the autodidacts among us.  This situation often leads to software project disaster, as untrained inmates run the asylum.  Sadly most of the common mistakes were discovered and understood by the 1970s (ever heard of the Mythical Man-Month?), but few organizations can be bothered to look up the solutions.

To that end, Professional Software Development (For students) promises, "everything you’ll need to know to 'hit the ground running.'" I believe it delivers… partially.  Unfortunately parts II and III are not yet finished and still in progress.  Part I is pretty hefty though, ten long chapters, so I think you'll get your money's worth and be kept busy for a while.

Did I mention there's a free version?  Woot! Yessiree, its hosted over at bitbucket, thank you:
The ebook version is available at Gumroad now!  Goodbye and good riddance, Amazon and iTunes stores.

There are two issues I've not yet solved with the Kindle version however—it is not working with Font Awesome, which I used for a quite a number of items from graphics to icons to bullets.  Hope it doesn't interfere with your enjoyment much, since my searching to date has turned up no solutions. :-/  Alternatively, you could click over to amazon with one of these links and purchase an item, which should sent a tip of a few cents my way, thank you!

It is amazing the amount of work is necessary to write a book, quite impressive; authors, please give yourselves a collective pat on the back.  I now understand why Jeff Atwood (of stack-overflow fame) advises against it so strongly.  Thankfully I've avoided his hard-copy curse.  Also, this book is timeless in general, i.e. not about Classic ASS.net-v3.0™ thankfully, so I'm not as pessimistic as he.

From the tech-angle I used Sphinx, the documentation program written in Python, as it is powerful and was familiar to me.  While very good at technical documentation, you'll have to dig in deep to get it to work well on different media such as ebooks.  For sanity (in markup) I had to write/improve some custom extensions and modify the standard themes quite a bit to get things looking decently.

Conclusion: definitely not turn-key!  It has taken me many months to get to this point, and we're just getting started.  I hope you'll find it worth it.

Btw, despite the mundane title, I've tried to liven up the text and occasional dry part with commentary, comics, music and references, and a bit of sarcasm.  Enjoy.

Update: there's been some quite interesting discussion and suggestions on Hacker News that I'm following up on.


  1. Have you thought about teaching this course offline in high school? Or you see it only as a study book? What do you think if somebody read this course in high school with your book as a reference?

  2. Teaching in person? Hmm, not sure. Otherwise yes, sounds great.

  3. I bought the kindle version of the book, unfortunately it's rather unreadable. would you be able to provide me the epub version? what is your email?

  4. Hi, I'm working with Amazon to get an improved version out, however to date they've been very bureaucratic. My apologies. I may offer a bare .epub at some point when the book is further along. Thank you for your support.

    Also, it is better to create issues at github/bitbucket:

    - https://github.com/mixmastamyk/pro_soft_dev/issues
    - https://bitbucket.org/mixmastamyk/pro_soft_dev/issues

    1. thank you, also for the book, I've really enjoyed it thus far.

  5. well thanks for sharing such improved version