1 When Innovation is Appropriate
2 ==============================
3 :author: Aaron Ball
4 :email: nullspoon@iohq.net
5
6 == {doctitle}
7
8 I have recently found myself very burned out on IT. Don't get me wrong, I love
9 doing anything related to building systems of any kind. I love to design
10 systems and I love programming (not that those two are very distinguishable).
11 Modular design that implements seperation of concerns well is like poetry to
12 me. All that goes to say that I still enjoy working with computers in most
13 capacities. What's really burned me out is the constant fight.
14
15 I work in a heavily regulated industry with a team that is made up of half
16 Linux guys and half AIX/IBM guys. I find that the Linux engineers are fighting
17 with the AIX guys about ways to do things. They don't want to use any product
18 that doesn't come with an enterprise support package (IBM support is
19 preferable). They always give the excuse "Well do you want to be the one at
20 3:00 in the morning who's trying to figure out some obscure problem by yourself
21 with management breathing down your neck, or do you want a third party who you
22 can point the finger at and send a ticket to?". The thing about that mentality
23 though is that pointing the finger at a vendor doesn't get your systems up any
24 faster, nor does it better you as an engineer.
25
26 I disagree with this mentality (as evidenced with this post). My feelings on
27 the matter are that my employer is paying me money to be the best at my job
28 that I can be. That goes without saying that it brings me tremendous
29 satisfaction to be great at my job. That means learning to support whatever
30 weird stuff is already in place and engineering better solutions for the ones
31 that break. After all, why bandage a problem when you can solve the problem all
32 together.
33
34
35 [[two-schools-of-thought]]
36 == Two Schools of Thought
37
38 All this goes to highlight two different mentalities (yes, I know how cliche
39 this sounds). One group of people asks "why", and the other asks "why not".
40
41 The "why" people will often look at a problem and think only inside the box the
42 problem's circumstances provide. If an outside the box solution is considered,
43 that solution is likely only inside of another box (from one proprietary
44 solution to another). They consider outside the box thinkers to be reckless and
45 "cowboy" because outside the box in many cases entails making ones own
46 solution.
47
48 The other group, the "why not" folks, tend to view the "why" people as closed
49 minded and paralyzed with indecision. They mentally roll their eyes when they
50 hear the phrase "enterprise support" and often look at budgets and say "Why are
51 we paying so much money when we can do such simple work for free".
52
53 Granted, these are generalizations of course. Not all of the above mentalities
54 apply globally and neither do they apply in their implied levels. These
55 attitudes are spectrums and do not accurately describe everyone in either
56 group.
57
58
59 [[i-personally...]]
60 == I Personally...
61
62 When I see a problem at work, my first reaction is not to look for a paid
63 solution that's going to cost loads of money and make finding employees with
64 experience with the solution harder. The way I view it, if you pay for a
65 software so expensive that only a fortune 200 has the resources to buy it, you
66 are limiting your pool of hireable people down to those who have ever worked at
67 a fortune 200. Instead I go in search of an open source product that is
68 established well enough to be able to handle the problems we throw at it (eg:
69 puppet, apache, clustered mariadb, openstack, kvm, native Linux tools, etc). If
70 one does not exist and the problem is still surmountable without needing an
71 entire development team, I try to build my own solution using design best
72 practice and then I document it like my job depends on it (code comments, class
73 architecture design documents, database schema design documents, etc). The way
74 I see it, building my own solutions gives me better understanding of how
75 already existing solutions work. It also helps because it gets me to research
76 better ways to do something. From the business' perspective though, they need
77 to find a developer to maintain my product when I am gone, so in these cases an
78 enterprise solution might be better.
79
80
81 [[a-short-list]]
82 == A Short List
83
84 Here's a short list of people and companies who have asked why not (notice how
85 they're all world renound innovators)...
86
87 Google is [seemingly] one of those companies who has a lot of people working
88 for it that ask why not. They are experimenting with low traffic server farms
89 that use ARM processors to save on electricity. Twitter is built on Ruby, an
90 open source language, because it actually can do the job and do it well (why
91 not when the alternative is licensing IIS, Windows, MsSql and using .Net).
92 Facebook (despite the problems I have with them) is built on PHP and when that
93 wasn't fast enough for them, they built their own php to c++ converter. The
94 Linux kernel which now runs the majority of the servers on planet earth is
95 built by people sitting at their jobs and at home, donating their time because
96 the alternatives aren't good enough, and again, why not? OpenStack is used and
97 developed by NASA, an organization who has safely sent people to space and
98 back, and Rackspace, one of the biggest hosting providers in the world.
99 Wikipedia, one of most frequently visited websites in the world, is built for
100 free on PHP and MariaDB because again, why not? Have you ever seen Wikipedia
101 crash? The http://en.wikipedia.org/wiki/Lustre_%28file_system%29[Lustre
102 filesystem] is an open source load balanced filesystem that runs 60 of the
103 world's top 100 super computers and 6 of the top 10. NASA also uses it.
104
105
106 [[in-conclusion]]
107 == In Conclusion
108
109 It's people asking "why not" that brought us things like HTTP, SSH, Apache, pgp
110 encryption, multithreading, fiber and copper communications, radio-based
111 networking (WiFi), and so much more. I seriously doubt that I will ever make
112 anything nearly as cool or world shaping as
113 http://www.goodreads.com/quotes/10286-if-i-have-seen-further-it-is-by-standing-on[the
114 work upon which everything I have made is built], but I can at least try in the
115 effort to not perpetuate bad methodologies and maybe contribute if even a
116 little to the knowledge base that is so readily available to all of us.
117
118
119 // vim: set syntax=asciidoc:
|