West Point’s motto is “Duty, Honor, Country.” I graduated in 1993. Why did a former Army Officer end up at Red Hat?
Red Hat is an “Open Source Software Company”. In order to work here, you have to understand those four words.
Software. The world is run on Software now. There are more computers in your life than you are aware of. You carry one in your pocket. One wakes you up in the morning. One runs your coffee maker, another your oven. Your car has multiple computers in them. But computers do nothing without software. Without software, a computer is a corpse. Software makes things happen, things that were not even dreamt of in our parents time. Software is the magic we dreamed of after seeing the Magicians Apprentice. Software is the Force we wanted to control after seeing Star Wars. It is that incantation that makes the world conform to better suit our mood.
Source. Code. Python, C, Pascal, Lisp, you need to understand code. You need to be able to write it, because if you can’t write it, you can’t read it. If you can’t read it, you can’t review it. Just like inspecting a Soldier getting ready to go out on patrol. Lead from the front means you have to understand software. There are two broad trends in software, and it helps to be really solid in one of the two, or better yet, both. They are: Systems Programming and Applications programming. I’ll use broad strokes here, and go more for accuracy than precision: Systems programming is compiled languages, usually C, multi threaded, consumed by a wide array of applications. Applications programming is more likely in a scripting language, such as Python, and maps to solving something for the end user of the system. If you can pick apart why these two statements are whitewashing over a wide array of details, you are on the right track. Bottom line, you should understand source code.
Open: “Democracy dies behind closed doors.” “With enough eyes, all bugs are shallow.” Great leaders understand the power of communication. Open Source is communication. Richard Stallman uses the term “Free Software” instead of Open Source, and I think he has the right emphasis. Software is power, and Free Software ensures that we the consumers are not consumed by that power. Open Source means not only open to be read, but open to be modified. DNA, the original software, morphs over time, from generation to generation. Open Source software protects the codes right to morph, to evolve.
This mode of operation is the soul of Red Hat. We’ve strayed from being Open about software from time to time, and always get a two pronged smackdown to get back into what we believe. One comes from our customers, who have taken our message to heart. They say “I want that” but when “that” is something built around some proprietary product, they feel threatened, and threatening our customers is not a good idea. The other smack comes from internal. Red Hat has hired people who have built their identity on Free and Open Source Software. When we feel like that value is being compromised, we yell. Not just in ones and twos, but across the board, across the company, old, new, and in between. This is a case where you want people to complain. If we didn’t complain, we would leave. Red Hat not only “Default[s] to Open” but is constantly migrating “proprietary to open.”
Company. We are a business. “How does a business make money selling Free Software?” We manage the complexity for other companies. If it is the full time job of a handful of people to understand a single packaged application, what happens when you need hundreds of those to run your company. Yes, each one is free, but the net effect requires resources to manage. You can try to do it in house, and for some organizations, that makes sense. Our customers are those with a lot to lose, and a lot to gain. They look to Red Hat to manage that complexity for them. We fix things before customers know they are broken. With patch security holes before the bad guys know they exist. We work with organizations like the NSA, DoD, and DISA to make sure that the stack of software used in some of the most tightly controlled information systems in the world is secure. I almost said “Rock Solid” but rocks are static, and these systems are dynamic. They need to be able to flex and adjust like a suspension bridge in a high wind. Making that happen is not only not easy, it requires a special skill set. We can only do it because of the Open Source software model that we are built on.
OK, enough history. What would I recommend that you do if you wanted to work here?
Probably the #1 thing you can do is become an active community member of a critical software project. I work on Open Stack, and it is one of the fastest moving, most visible, exciting projects happening today. Now, I don’t expect you to code. Not yet. Your contributions can come in many ways, and contributing code is only one of them. Here are some others that you can use to prime the pump.
Get it installed on Fedora. Fedora is a Red Hat based community that releases a distribution built around the Linux Kernel. It is one of the two main distributions you can build upon, the other being Ubuntu. Since we are Red Hat, it makes sense to know and work with Fedora. You will hear the terms “Upstream” and “Downstream” when talking about software. Upstream is where you get software from, and Downstream is where you send software to. Kinda like the Elves in the Hobbit and the Barrels of foodstuffs headed to the Long Lake. For Red Hat’s Linux distribution, upstream is Fedora. You should have no problem getting Fedora installed into a virtual machine or an old system. Once you do, install the Fedora Open Stack on top of it. Play with it. Break it. Read the docs, and provide feedback. Better yet, provide better docs. Not your own write up, but find the docs that are broken, and contribute fixes back to those sources. Contribute, not just to complain, but to improve.
Use it to solve a real world problem. Set up a home cluster (two machines) and run somethings on virtual machine on them. Use it at work, if you can. The more real world your experience, the better your feedback.
It doesn’t have to be Open Stack. Prior to Open Stack, I worked on FreeIPA, and Identity management system. That is also a great project you can work on. Use Open Office to make your presentation slides, and look at how that community runs. Mozilla. Real Player. Any software that you currently purchase has an Open Source analogue. Find it, use it, contribute, and get your name out there. If you are big enough in the Open Source world, Red Hat will come looking for you, as will the other players in the space. Qumranet, Spring Source, and MySQL all established themselves as Open Source companies. All attracted the interest of major players. You don’t need to go that far, but it is worth tracking how the game is played.
When the time comes to interview, you better be able to talk the talk, and show that you can walk the walk as far as the Open Source Software ecosystem. This is the heart of what we do, and this is the future. The Apples and Microsofts and Googles and Oracles will continue to sell their proprietary apps. However, they are all being driven by the social movement that is open source software.
Why do I direct this specifically at my West Point classmates? Because we went to a school who’s mission is “to provide the nation with leaders of character that serve the common defence.” That value, the common defence, is now tied to software. I think I made that point clear. We live in a Democracy, and we believe in the power of the individual. It is, perhaps, the defining value of the USA. We’ve all served our time wearing green, painting our faces and rolling around in the mud. There is a need for that. But with out the software that makes a modern Army go, those men and women out there on the ground are vulnerable. Yes, much of that software is proprietary, but more and more of it each day is built from Open Source components. Cryptography, Networks, and Big Data Processing are the base upon which decisions are made and communicated. And they are all built primarily out of Open Source software. Whether we are talking the Spec Ops community or disaster relief, the big green machine depends on what we do, perhaps more than anyone realizes.
It is so much more than the Government Agencies. The Stock Exchange. The data centers for the food distributors. Basically, the entire infrastructure of communication in the country and the world depends upon Open Source software. Maybe that sounds grandiose, but it is true. Hell, I take it for granted so much that I forget how hidden it is from so many people I interact with on a daily basis. This is how I have decided to carry on after hanging up my uniform. I really don’t think there is another company in the Country right now that I could feel as good about working for than Red Hat. It was a very deliberate choice of mine to pursue working here. I think you will probably feel the same way.
OK, long enough rant, longer than I had planned on writing. I have code to write and review.