Show HN: My book for programmers called “Junior to Senior” was published today (holloway.com)
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...
39 comments
[ 2.4 ms ] story [ 45.4 ms ] threadAnd 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!
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.
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!
"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.
"Senior" will vary depending on the size of company and the scale of problems it deals with.
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.
Prospective readers can judge the likelihood for the book to be useful for them based on this additional data point.
>> "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.
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.
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.
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.
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!
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.
I counted 10+ different aspects: https://www.mooreds.com/wordpress/archives/2812
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.
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).
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?
Once the Kindle version will be available I will buy it!
A senior reads an API to figure out what can be done.
That there one the major differences between he two.