This is a collection of links worth a read, in no particular order.
- The Twelve-Factor App: A synthese of experiences and observations of developers having taken part in development, operation, and scaling of hundreds of thousands of apps. They developed a methodology, the twelve-factor app, for building software-as-a-service apps, which:
- Use declarative formats for setup automation, to minimise time and cost for new developers joining the project;
- Have a clean contract with the underlying operating system, offering maximum portability between execution environments;
- Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration;
- Minimize divergence between development and production, enabling continuous deployment for maximum agility;
- And can scale up without significant changes to tooling, architecture, or development practices.
- The Hut8labs blog: very interesting (if sadly not updated very often) readings about product development flow.
- Daedtech’s posts over the expert beginner: How Developers Stop Learning: Rise of the Expert Beginner and How Software Groups Rot: Legacy of the Expert Beginner. This explains that in the absence of feedback (actual experts) or competition, a beginner, instead of progressing (novice, advanced beginner, competent, proficient, expert) will branch out to the state of ‘expert beginner’ where they will overestimate their skills and will reach a local minimum in progression. Without external prodding (training, competition, peers) they will stay in this state and stagnate. If they happen to work in a company where years of experience are more valued than skills, this will be very detrimental to the organisation as a whole.