Social Contract Theory, an IT example

After much thought I believe that the “Social Contract Theory” is one of the most important theories in the list, after all in an online environment where almost everyone is anonymous it is important that people remember that on the other end of the conversation there is another human, not because it might hurt the other persons feelings but because we want order to be maintained.

Now onto the example, I believe that in the future as cyber-security professionals we will run into situations where we have to develop a project form scratch, or setup a server form the ground up, and in situations like that it is important to follow rules and regulations, as not only will that help guide you on the proper path to setting up your project or server, once your project is almost setup and an error pops up for some reason then using online guides and forums, you would be able to look up error and consult other specialists that might know something about the problem that you are having, while if for some reason you decide not to follow a standard then whenever you happen to encounter and error or some package is not compatible with the server/project then you will be completely on your own, and all most no professional will be able to help you without investing a very significant amount of time.

Now that is considering that problem only from a selfish perspective, thinking what will I gain and what will I lose, but there is another angle to consider and that is to think about the person that will have to use the server that you setup, or debug some error that popped up unexpectedly years after you have forgotten about the project, some poor developer will have to dig through all of your broken and disorganized code to try and fix the problem, but if you had used the proper guidelines and regulations from the beginning then if that developer knew that standard then he would be able to figure out whats what and fix the problem, he would be a fish in water so to say.

A more personal example about the last point, recently I had to do a project with a partner, and we and dived the work for the project evenly with me taking the back-end and him taking the front-end. The development of the back-end went fine, but the problem arose with the front-end, my partner simply disappeared leaving me to do his share of the work as well if I wanted to pass the course, but while he was developing his part of the project he didn’t really use a standard, placing the files wherever he thought of it being convenient for him at the time, so when I tried to get in there and finish the project that he started I found that I couldn’t tell up from down! After spending a day in his code I realized that without spending way more time then I had, with the deadlines coming up, that I wouldn't be able to finish the project. So in the end I had to abandon his already partially built front-end and create a new one from scratch, but thankfully everything turned out fine in the end as I was able to defend the project.

So the conclusion is that you should do and organize things in such a way that not only does it make sense to you, but that it would also make sense to the person after you.

Comments

Popular posts from this blog

Three interesting examples of good ideas and interesting models which flopped for a variety of reasons

Review of the “Capture The Flag 101” wiki