Found in 2 comments on Hacker News
techjuice · 2017-07-08 · Original thread
If you want to become a professional and not just a dabbler I would recommend reading some of the following books I have in my bookshelf:

[0] RHCSA & RHCE Training and Exam Preparation Guide by Asghar Ghori. This book will help insure you know your stuff as your system engineer/administrator wise.

[1] A Practical Guide to Linux Commands, Editor and Shell Programming Third Edition. This book will cover the majority of what you would need and want to know when connecting to a remote linux system over ssh.

If you want to get under the hood and become an expert, the following books should help get you started:

[2] Advanced Programming in the UNIX Environment

[3] The Linux Programming Interface: A Linux and UNIX System Programming Handbook

[4] Linux Kernel Development 3rd Edition

To get a nice general overview and get up and going quickly:

[5] How Linux works: What every superuser should know

[6] The Linux Command Line

[7] Python Crash Course

[8] Automate the boring stuff with Python. This is a great book to help you think about how to automate most of the repetitive things you will end up doing on a regular basis.










japhyr · 2016-07-19 · Original thread
I wrote an introductory Python book for No Starch, Python Crash Course. Bill Pollock, the owner of no starch, invited me to consider writing a book after I gave a lightning talk at PyCon a few years ago. Writing for no starch was a really good experience, and I'd do it again.

I feel fortunate that my first writing experience was with no starch. They take each book seriously, and work hard to craft a high-quality book. They have their own editors on staff, and they asked me to recommend a technical editor. They trust their authors to know their field well enough to identify an appropriate technical editor. I am deeply grateful to my technical editor, Kenneth Love. Kenneth has a deep knowledge of Python and a strong background in teaching. He caught many technical issues, and we had numerous conversations about how best to present certain concepts to new programmers.

The writing process was clearly defined. I drafted a chapter, got feedback from a no starch editor, and then sent the chapter off for technical review. After that it went to a copy editor, and then the chapter went through a final layout process. It was my responsibility to respond to feedback at every stage. Every so often Bill would read through the chapters and offer feedback as well. At first this process felt like a bit much; in the end I really appreciated the attention to detail, and I can't imagine writing for a publisher that doesn't have a rigorous approach like this.

I committed to this work for several reasons. Writing at the introductory level is a little different financially than writing about a niche technical topic. The market for an introductory Python book is much larger than the market for just about anything else. I think of the audience for technical books as a pyramid; introductory books target the base of that pyramid. Any topic that requires background knowledge is higher up the pyramid, and the opportunity to make a meaningful number of sales is lower.

I teach high school math and science. Writing an introductory technical book has opened many doors, and I don't feel stuck in teaching at all now. I can write more, and I can easily shift to teaching CS full time if I want to. Just the process of completing a quality book has taught me a lot about following through on the less enjoyable but necessary aspects of a long-term business project.

Here's the no starch description of Python Crash Course:

Here's the Amazon page. I was terrified to read the first reviews on Amazon when the book came out, but now I really enjoy reading what people have to say about something I put so much effort and thought into:

Fresh book recommendations delivered straight to your inbox every Thursday.