In India, especially in IT companies, how frequently you see a developer, still coding after 8 years of experience? Well - I see only 1 out of 20 at that level. Rest 19 instances, I see developers always be in the range of 6 months to 5 years experience, who actually code. After that point, they are elevated to lead levels and forced to unlearn coding!
But customers expect a high level of quality in products. Functionally people make it work, one way or the other. When it comes to performance and security, I have not seen a bunch of 0-5 years developers, consciously coding with performance or security in mind. If you see such developers, let me know, I am serious - my clients need them asap.
Given this, I also see companies spending lot more time and money on performance tuning, in mundane manner. Basic tests with 5 user concurrency fail miserably. Why can't this be done right at the development stage itself? Oh, always the management is averse to new procurement of tools. Without proper tools, we cannot catch performance issues quickly.
Before the SLA is placed on the developers, management must provide simple tools on performance, to developers. If this commitment is missing, you will always be reactive in performance tuning.
Assume that the tools are given, WHAT IF we set these following SLAs on developers, before they release the build to QA teams?
- No http 400 or 500 errors must
be seen at 25 virtual user concurrency level (sanity
performance test) - The dev team itself must do and clear the build
- Every page they deliver, must
respond within 2 seconds for 25 vusers
- No exceptions and errors must
be seen in the log files, at 25 vuser level
- Run 25vu test for 1 hour,
ensure no memory leakage is seen
- Run 25vu test for 1 hour,
ensure no database connections are kept open after the job is
done
- Every SQL query must respond
within 200ms at 25vu concurrency