This post (Programming first principles - 2. Audience - Who this series is for) was originally published on Sargalias.
In this post we'll talk about who this series is for / who will benefit from this series.
I would like to address three types of developers. Let's call them beginner, intermediate and advanced developers.
These are not intended as an insult to anyone. They're just a broad categorization of programming experience for the purposes of this post.
Let's get right to it.
In this post, what I mean by a beginner programmer is someone who is still struggling to get small projects working.
At this point it's probably more valuable to focus on overcoming those problems rather than applying programming principles.
Programming principles are more about code organisation, which begins to matter more as a project grows in size. Yes it's important to apply principles from the beginning, but if a project will stay small for its entire lifetime then it's less important.
Having said that, I highly recommend this series anyway if you have the time. While you may not be able to apply these principles immediately, you'll gain good early exposure on them. I really believe this will give you a great head-start and a natural aptitude for when you attempt to learn programming principles more seriously in the future.
For this post, what I mean by intermediate developers is developers who can get small projects working and can successfully work on large projects but feel like their code structure and organisation could benefit.
I feel intermediate developers will benefit most from this series, particularly if they actively want to learn about programming principles.
For advanced developers, I think it depends. If you're already very comfortable with programming principles, there will be less value for you in this series.
However, there is probably something you'll pick up anyway. Also you enjoy the different angle I use to try to explain the principles.