Show HN: My book for programmers called “Junior to Senior” was published today
holloway.comAfter a four year journey, the book I wrote to help junior and mid-level programmers earn their first promotion was published today . The book is titled Junior to Senior: Career Advice for the Ambitious Programmer and is now available on Holloway’s website[0].
I truly believe that soft-skills are what makes the difference between a good programmer and a great one. I also believe that anyone can learn the soft-skills needed to accelerate their programming career.
I wish I’d had better resources to learn these things in the early years of my career and I’m hoping this book will become a useful resource for the next generation of programmers to build successful careers.
What this book covers:
Choosing a career path: generalist vs. specialist
What makes you a senior engineer?
How to deal with feeling like an impostor
How to build trust and work with your manager
How to recover when you make a mistake, and what to do during incidents
How to ask better questions
How to read and understand unfamiliar code
How to add value to your team and company
How to identify and manage risk
How to deliver better results
How to communicate more effectively with both technical and non-technical audiences
The importance of a healthy work-life balance
How to ask for a promotion, and how to prepare for it
I wrote this book because these soft-skills are rarely taught in coding bootcamps or computer science degrees, yet they are critical to every programmer’s career trajectory. Almost every programmer I know, including me, had to learn and develop these soft-skills on the job. It took hard work and a lot of trial and error to learn how to communicate my ideas effectively, navigate office politics, manage risk, and so many other things that programmers encounter in their jobs today.
Get instant lifetime access at holloway.com. Use this link for a launch discount:
[0]: https://www.holloway.com/b/junior-to-senior?vip_code=JTSLAUN... Congrats! I wrote my own book on a similar topic (link to site in my profile) and I can say without question it was one of my top 5 proudest professional moments. Books are a big deal. And we need more on this topic to help more developers get better at building software faster. (The tech is part of that, but so is the communication.) So, again, congrats! Thanks! And congrats on your book as well. It turned out to be way more work than I imagined, but it was worth it. I ended up learning and growing as an engineer myself during the whole process. Getting the right words down on paper really forces you to organize your thoughts and clarify what points you're trying to make. I'm hoping this helps junior devs focus on the soft skills earlier in their career, rather than putting them off until they're ready for the promotion. Holloway seems to support downloads but this book doesn't have that option. Is that intentional? Hmm, I believe you should be able to download it. I've reached out to my contacts at Holloway to see if there's a reason why the download isn't available. I am actually looking for something just like this, I would have bought it right now, if there was a download option. Any chance of getting that enabled, seems like holloway supports it. Pretty sure you should be able to download it, but I don't see the option either. I've reached out to my contacts at Holloway to see if there's a reason why the download isn't available. Fantastic, just ordered a copy! I would be interested to know how you found self-publication? What did you use to write it, and where did you market it apart from HN? How many are you hoping to sell? congrats on shipping, OP. i also wrote a jr to sr book and it was one of the most rewarding things i've ever done. good luck! Congratulations on the book! I think we need more books like this.
Recently on YT, I have been watching more and more videos on the subject. Most of them target beginners (which is fine) but few talk about what comes next. So your book is very welcome. Thank you! I agree, there's plenty of resources out there to learn how to code, but there's a lot that goes into being a professional programmer than just writing code. I'm hoping this will be a good resource for developers working towards their first promotion. Exactly, it's either targeted for begineer or for advanced. Very few resources on advanced-begineer or intermediate level. Congrats on the book! Glad you're sharing what you learned during your career. Honestly, that list above has lots of things Seniors probably could brush up on. Is there a kindle version? The kindle version will be release in the future, hopefully soon. We're planning to make some revisions to the book based on some of the feedback (as well as adding/updating the links at the end of each section). So in the short term, the Holloway reader will be the best place to read the book as these revisions are made. If I buy now, will I be able to download for kindle later without having to repurchase? Josh with Holloway here. As David mentioned, this title does not currently include a download to load on to your Kindle. (Most of our readers prefer the online Holloway Reader, and we publish in that format because it's a more powerful reading experience with search, commenting, and easier content updates.) But yes we do add PDF and EPUB formats when there is enough demand. And no downloads do not require repurchase. If you purchase now you are getting online access plus future content updates as well as future download formats that are added. Hope that helps! It looks very good! Once the Kindle version will be available I will buy it! Now this, is a book I'm willing to hoop around US sanctions and then fight Iran's internet filtering to read. Thank you. A junior engineer reads an API to do what they need to do. A senior reads an API to figure out what can be done. That there one the major differences between he two. Out of curiosity, how much does holloway.com take from each sale?
Are you allowed to sell digital or physical copies yourself? How can I read this offline? Doesn't seem to be a way to load it on my kindle or laptop. Is there a PDF? We're planning to make some revisions to the book based on some of the early feedback we've gotten, so for now the Holloway reader is the best place to read the book. We do plan to offer PDF and ePUB versions in the bundle in the future though. I would have purchased this today if it were available in PDF or ePUB or Kindle store. I'm sure I'm not the only one. I do understand the appeal of an online reader but you should perhaps consider making your work available in a number of different channels to suit potential buyers' preferences (i.e. you are probably leaving money on the table by only having an online reader option). Any plans for a phisical print in the future?, I do enjoy reading a real book more than a digital one I've read the free preview on the different meanings of what is a senior engineer, and I have to say I'm not convinced. "Years of experience" VS "Technical ability" is at best reductive, at worst completely wrong. I encourage you to look at large companies and how the levels are defined (https://www.levels.fyi/blog/amazon-leveling-progress.html here for example, for Amazon) and the nuance that there is. The different parts you cover are commendable ("How to build trust and work with your manager", "How to ask better questions", etc.), but they are bare minimum requirements for an engineer that has a couple of years of experience, they're not what is needed to reach the senior software engineer level. Junior to not Junior anymore? Sure. Junior to Senior? I don't see it. Agreed. I've found some value in years of XP but its very contextual. It feels like its used as gating many times vs depth of experience. Have come across and promoted many seniors with lesser years that have the experience and talent to put their money where their mouth is. And... plenty of 20-30 year veterans that are not good at all. One framing I like to use when asked about junior and upwards is at the junior level you are focused on self success which is learning skills, building knowledge on how to develop software, the SDLC processes, estimation, and consistency. The higher you go the responsibility set grows to impact other developers on the team and products to a higher degree. Further is expanding horizontal and depth impact where you impact other teams and larger parts of the organization. Last is that you don't have to be a senior to act senior but for them it is explicit responsibilities. > "Years of experience" VS "Technical ability" is at best reductive, at worst completely wrong. I'm not sure it's a completely useless model, but it's problematic. One problem that comes to mind is that a certain number of seniors are going to settle into their role and are going to be driven by different things than a young kid at his first junior dev job. The junior may be more driven because there's more at stake and may come with a fresh perspective since they're actively learning. > they are bare minimum requirements for an engineer that has a couple of years of experience, they're not what is needed to reach the senior software engineer level. Depends on who defines "senior". You're correct in terms of what it is to be a senior engineer. To get the title of senior engineer is more a function of time and social skills. Thanks for the feedback. Holloway's platform makes it easy to make revisions, and I plan on updating the content periodically based on feedback like this. Comments from readers in the book itself also help as well to adjust the content over time. I had a feeling this topic would be a bit controversial on HN :) I tried to address this in the book in the first section of "What Makes You a Senior Engineer?" by talking about the different meanings, and how the software industry doesn't have a standard definition of what a senior engineer role entails. Everyone will have a different opinion on what makes a senior engineer, so I'll try to add more info about the nuances involved in the senior title in future revisions. If I may suggest some further feedback, I think mentoring is very important at a senior level. Perhaps this could be covered in a chapter in the existing communication section, unless of course I missed something! I think learning to identify how engineers could improve, and being able to successfully help them, is a big level-up. Departments will want to trust their seniors to do this proactively - rather than say, just when questions come up - as this helps foster a healthy team with everyone growing. One other point comes to mind on impact - as this is often seen as a key differentiator for senior engineers. It's good to see the section on improving processes in your book, as this is a nice way to add a lot of value. Another way to make an impact is keeping a close eye on product delivery and cycle time, and identifying any problems. For example, is work getting released often, or is it getting stuck in 'nearly done'? Are there frequent blockers to builds or deployments? How is cycle time looking recently, and are there any lurking issues where work is getting blocked frequently? How do we work around this current setback - is there a short term solution to keep things moving while we work on a proper fix? Are we currently on track for delivery? Managing complexity is another area which can be tough to navigate as a new senior. Just some thoughts which came to mind, as we all see things from a different perspective. Overall, I really like the focus of the book. We need more of this stuff and this will help a lot of people, so kudos on the release! That's some great feedback, thank you! I'll add these to my notes for the upcoming revisions. There's a section about having a "team-first approach," but I agree with your comment that mentorship is another trait that could even deserve it's own section. From his LinkedIn profile, the author doesn't seem to have experience in the likes of Amazon. "Senior" will vary depending on the size of company and the scale of problems it deals with. I don't think someone should have to work for Amazon in order to write a book about how to become a senior developer. >> "Senior" will vary depending on the size of company and the scale of problems it deals with. No matter what company you work for, your role is in a specific context, typically within a group or working on a project. And it's not the scale of problems the company deals with which makes you a senior developer. It's the scope of your assignments and the breadth of knowledge and experience which it takes for you to be able to tackle them. I did not say it's a requirement, just highlighting what type of experience the author has. In terms of pure job title I agree, but it's not the way it is presented here. This book claims to give you the keys to unlock the skills you need to reach the "Senior software engineer" level. It doesn't tell you it's not for large companies and it doesn't tell you that the "Senior software engineer" level he is talking about may meet the expectations of one class of company but not the other. The target is specifically "ambitious" software engineers. I'm fairly certain that ambitious software engineers are many to have FAANGs as a target. That's why I found useful to mention here the type of experience the author had in his career. Prospective readers can judge the likelihood for the book to be useful for them based on this additional data point. I wrote a blog post in 2018 about the different dimensions of being a senior engineer and have to say it is a complext and deep topic. I counted 10+ different aspects: https://www.mooreds.com/wordpress/archives/2812 "they're not what is needed to reach the senior software engineer level" I don't really follow your train of thought. It might help if you could list one or two additional things, beyond what appears to be in the book, which someone should have in their toolbox in order to become a senior developer.