Business-Efficient Programming
• John Vandivier
Efficient programming without qualification generally refers to programming which is technically efficient. Technically efficient code optimizes performance while minimizing resource usage. That's not what this article is about. Efficient programming has a number of secondary meanings, and I'm talking about a specific secondary meaning which I call business-efficient programming. I'm here to tell you what that means, why you should care about it, and at least two strategies to improve this capability in the applications you develop.
Business-efficient programming is a programming approach which optimizes firm profit for the developing firm. A key strategy is to reduce labor costs while maintaining product quality and customer satisfaction. Another strategy would be to hold labor costs constant or even choose more expensive labor, in exchange for higher production value. Higher production value can mean higher prices which offset the higher costs and may drive higher profit. In theory, profit is optimized when marginal revenue equals marginal cost. The concrete realization of that general rule is highly context-specific and this article does not attempt to cover all possible cases, but the advice here is applicable to most modern programming firms.
Below are five things you can do today to improve the profitability of your firm. I will mainly drill further into the first three:
- Utilize a modern high-level framework
- Utilize component libraries
- Utilize other low-code solutions
- Analyze everything
- Monitor customer satisfaction
- Monitor employee satisfaction
- Monitor developer productivity
- Test insourcing and outsourcing
- Utilize a cloud provider
- Give serverless a try
- Angular component libraries [Spreadsheet]
- 11 Angular Component Libraries You Should Know In 2018
- Amexio Angular Extensions
- Best React UI Component Libraries And Frameworks · Pt. 2
- React Components & Libraries
- Best Vue.js UI Component Frameworks And Libraries part 2
- Low-code solutions may be hard to extend or modify in certain ways.
- Low-code solutions may be technically inefficient.
- Low-code solutions may have a generic look and feel.
- Open a Survey Monkey account and regularly survey employees, customers, and site visitors about satisfaction and anything you think might influence satisfaction.
- Employee dissatisfaction leads to expensive turnover and lower productivity.
- Customer satisfaction means more sales.
- Site visitor satisfaction means more sales.
- Use a project management solution to track productivity data.
- I highly recommend the Atlassian stack.
- Developer might hate it, but businesses need to track developer productivity over time, and compare this with salary. Meritocracy is the way to business efficiency, but be sure that you aren't creating excess turnover costs for yourself.
- We talked about outsourcing earlier, but think about insourcing too.
- As your firm grows, it may be cheaper to develop an in-house design capability instead of working with a third party.
ng build
. This will execute a server-side build for a basic Angular application which you can then upload to S3.