Creation
Volume Number: 25 (2009)
Issue Number: 02
Column Tag: Editorial
Creation
Go make something - it'll make you
a better tech, no matter your specialty
by Edward Marczak
Introduction
What is MacTech Magazine? There are certainly deeper questions in the universe, but this one is certainly pertinent to me and the readers of this magazine (you!). MacTech is certainly unique in that it straddles a fair range of disciplines; from interested techie, to system administrator to developer: we don't discriminate. Why is this question so pressing? Perhaps it is now more than ever.
Today, MacTech online and in print is read by 150,000 readers in 175 countries. Unfortunately, we rarely hear from the bulk of you. When we do, though, it's often about wanting a certain topic covered, or, to tell us that the content is starting to lean in a direction that feels skewed to "not me." Let's overcome that.
In the beginning...
A little background: I'm currently 38 years of age. So, I'm not the oldest technologist around, but in the computer field, I'm certainly aged. I'm fine with that, as I have experience and a perspective that people just getting into the field often do not. I also consider myself fortunate for being in the right place at the right time. I got to ride a very unique wave in watching computers develop. Yes, I've used punch cards and TTY based machines, modems with acoustic couplers and 300-baud "direct" modems. I've dialed into BBSes, surfed BitNet, telnetted into MUDs, retrieved files via gopher and shoved packets over protocols other than TCP/IP and mediums that were not twisted pair Ethernet. What good memories.
Attending university, I didn't really have much choice in a program to take, as computers were still relatively new and being fleshed out. If you were interested in computers, you took Computer Science, rife with math, assembly, Pascal and C. C++, Python, Ruby and Java either didn't exist or simply were not taught at the time, and System Administration was not a formalized discipline.
Here's where these stories come together: in my first job(s) out of school, IT (called "MIS," or, Management Information Systems, at the time), was still evolving. No matter your title, you were pretty much a techie. You wore many hats, from system and database administration to hardware guru to developer. I'll admit that, in the late 1980s and early 1990s, the scope of all those functions was certainly much smaller and more knowable. However, thanks to the evolution of Unix, System Administrators knew how to code; In C, typically. In the late 1990s, I worked with a gentleman that was the system administrator for a lab of SGI IRIX workstations used for graphics production. He also wrote custom shaders and effects for the custom 3D software they were using. Show of hands: how many of us do that today? OK, perhaps we don't need to go quite that far.
After reading over that, however, you should ask yourself what practical ways there are to increase your value. If you're a developer, learn a new API, better understand the low-level hardware that your code runs on or, better yet, learn how to package your final product in a way that makes it easy for end users and system administrators to install. If you're a system administrator, setting up a server, adding users and setting permissions are all fine activities. But when you have 100 (or more) users, have you thought about automating this process? What is your answer to "can we drop file X in each user's home directory?" If it's "really? That will take so much time!" you can be doing better.
And really, that is why MacTech is here. We like talking about all of these issues. We enjoy the practical and the esoteric (which, when it comes to OS X, admittedly are sometimes the same). Sys Admins: you're better when you can script (in any language). You're better when you understand the file system structure, and you're better when you understand a problem due to a log entry you found that makes sense because you've been studying Cocoa. Developers: you're better when you understand how all of the parts outside of your application interact with the systems of end users (can you say, "FileVault" and "network home directories?"). You're better when you sit with the person responsible for installing your software on hundreds of machines and then watching it run.
MacTech is here to make you better. If you are interested in a particular topic, but haven't seen it, let us know! But very often, a solution comes from what we now consider to be a separate discipline. To check my beliefs, I started this very conversation with some of the top developers and system administrators today.
Nigel Kersten, Mac Operations Tech lead at Google summed up this philosophy more succinctly by saying, "sysadmins should learn more from software engineering principles. No script is too small to benefit from functional/unit tests, peer review, version control, release cycles and bug reporting systems. This all holds true for pretty much everything sysadmins do." So, when MacTech publishes an article on version control systems (git, subversion, and so on), it's not just for developers. Really!
Reinforcing this point was Dave Schroeder, Senior Systems Engineer at the University of Wisconsin-Madison. "There's a lot of crossover between many tools and techniques that have value in both developer and sys admin circles. Apple has taken this same approach with WWDC, combining developer and sys admin content into one conference. Some argue these should fundamentally be separated - but that can be costly, especially for a platform that is still in its relative infancy in the enterprise realm. There's more benefit at present in keeping such content together because of the overlap that often exists: a lot of highly technical topics on the Mac OS X platform have common roots."
When asking Marcus Zarra, Owner of Zarra Studios and blogger for Cocoa is my Girlfriend, he stated, "[f]rom my point of view, Mac Tech needs to cover the entire gambit of the Macintosh now. It is getting bigger and I am starting to see it in companies more often. Getting into companies means that we need sys admin content to help teach the new sys admins. The Macintosh is no longer just about the artist or the independent developer." Yes! It's a great time to be a part of the Mac scene. Market share for Apple products increases daily. OS X shows up in more and more places- expected and unexpected. There are more switchers- business and personal- every day. MacTech is interested in providing technologists the knowledge to contribute meaningfully to this new ecosystem.
Thomas A. Limoncelli, author of "Time Management for System Administrators," (O'Reilly and Associates) says, "The #1 thing people can learn is to automate processes. Whether that means learning AppleScript, Perl, Python, or Puppet. People often think of automation as a way to save time, but automation also prevents errors and/or adds consistency, which is more valuable."
Finally, Mark Dalrymple, Software Engineer and author, generalizes what to learn this way: "[Learn] everything :-) If you're not learning something new, you're stagnating, which is no fun. Eventually you get left behind, and everyone else gets to play with the new toys."
Get Involved
Getting involved can mean several things. First, go create. Choose the itch, then scratch it. Second, have the conversation. Which conversation? Any. Blog about your experiences, get involved on mailing lists, in forums and meet your peers at events large and small. There is also one more way: send us at MacTech an e-mail, and let us know what you'd like to see. letters@mactech.com is read by all editors; we're listening. MacTech has been in print in one form or another since the first Macintosh shipped (1984). We realize that times and trends change, and we're all in the midst of a sea change, right now. There's some great content already lined up for upcoming issues, but let us know how all of this is affecting you, and it will be reflected in our content. We're looking to fuel your knowledge, which creates more value for you.
Ed Marczak knew even from the punch card and TTY days that technology was in his future. He finds all technology interesting, but chooses OS X when possible. When not computing, he spends time with his wife and two daughters.