
Developers have the objective of building a functional application. They are focused on building more functionality into applications. Moreover, building security creates more workload for Developers which is a disincentive and moreover, Developers are rewarded for building more functionality than building more security. I have never seen a Developer in my professional life for being rewarded for building a secure application.
Hackers are focused on how to break the application. They look for weak links in application that will enable them to access application data. Developers usually follow process to build application, but Hackers have no process and all they have is multitude of possibilities. Hackers are innovative in trying various permutations in compromising the application.
A million dollar question is whether we can build secure applications when a Developer is focused on functionality but not on breaking the application?
There is a school of thought about Inside-out security where the application is built securely from scratch. Unfortunately, this approach won't suffice because hackers traverse Outside-in. A little reflection will highlight the importance of vulnerability scanning and penetration testing of application. This will bring the perspective of what developers do not know already.
Building a secure application inside out is not enough. In order to address unknown unknowns (or blind spots of developers), penetration testing should be done. Both whitebox style penetration testing (where components of an application is known) and also blackbox style penetration testing which mi micks an Hacker who may not have any knowledge of the application, should be carried out.
An application of higher level of security is not built just by Developers. It is built by integrative process of Developer mindset and Hacker mindset. This is a constant struggle for years to come.




