Enterprise
Being a developer that’s come from a background of working for relatively small companies, it’s been an interesting experience working for Admiral Group Plc so far. In my little time at Admiral, I’ve changed the way I think about things, the way I tackle things, etc, it used to be the case where I was all but left to my own devices & if my solution(s) worked, awesome, no questions were asked, etc. Working for a company such as Admiral, reviews & policies are put in place to ensure that the code produced is up to par. It’s been surprising how much I’ve enjoyed having other developers review my code, just having a more detailed look into how others think about certain aspects is quite satisfying.
Thanks to working for a enterprise scale company whom support one’s desire to learn beyond what I had imagined, one thing that I’ve begun drilling into my work big time working for Admiral is risk analysis. Not just covering whether or not a piece of code is likely to work, or if there are any scenarios where a certain piece of code may fail, etc. But rather I’ve begun thinking about all aspects of risk from over engineering a solution & reinventing the wheel in house, through to using a technology that’s immature & may or may not have a battle tested ecosystem.
Risk
Of course, it makes sense why such a company needs to put risk above many other variables that need to be considered when developing & deploying applications. Admiral as a company values security big time & of course it’s to no surprise, being a financial institution & all. Admiral don’t do this purely to prevent fines regarding data protection, they mostly do it to ensure that the customer experience is kept to an all time high. The customer’s experience of utilising the applications is potentially the number one priority, if not, it’s in line with the security of the technologies that the customer is using.
Admiral doesn’t only analyse the technologies that our customers use, but also the technologies that are being used in house, Admiral even has some cyber security consultants visit to ensure that we’re all trained to a reasonable level. Of course for myself specifically, being a software engineer, my main focus regarding security is at the application layer, I’ve little knowledge about the other layer, although I’m incredibly hungry to learn more about cyber security regarding the other layers.
User Experience
Of course, the user experience should be among the top of the priorities list with regards to any software, whether the users are colleagues or customers, the experience should always be implemented with the same standards. An example being how I’ve been allocated the responsibility of implementing a 3-tier application from the ground up, the main user(s) of this application will be my fellow members of staff.
However, just because my fellow members of staff will be using it, that doesn’t mean that I plan to implement a sloppy UI, rather I plan to implement quite a stunning UI. I want to include nice transitional animations between pages & AJAX requests, I’ll be making use of SQL views, stored procedures, etc, to ensure that the performance of executing complex queries is kept to an all time high. It’s been clear that when developing some application(s) whether it’s internal or external, or both, the user’s experience should always be kept in mind.
Conclusion
These subjects that I’ve briefly covered in this article should really be core priorities for all companies, from small startups through to the largest of enterprise scale companies. However, there are other areas of the world of enterprise that I’ve not discussed, including technical topics such as pipelines through to less technical topics such as business strategy & development.