This is the latest post in our series on career advice for the aspiring archives professionals. Each edition features information and career advice from a different member of the Archives team, regarding what they do, how they got here, and how you can too. Check out our previous posts, and be sure to let us know who you would like to hear from next!
“…to found at Washington, under the name of the Smithsonian Institution, an Establishment for the increase & diffusion of knowledge among men.”
Those words come from James Smithson’s last will and testament . The Smithsonian was founded based on these words which are so important to us that we put them into our mission statement which holds true today. The Secretary’s Badge of Office even features the words “for the increase and diffusion of knowledge among men.”
Those words also get to the heart of the reason why I’m here, ultimately my job is to act as a knowledge diffuser online. As the web developer at the Smithsonian Instruction Archives, my job is to make it as easy as possible for my coworkers to place our institutional knowledge on the web, and to maintain our internal systems by which we store information about our collections. It’s also my goal to make that information easily accessible to the public via our website.
If you’re interested in a career in the web development side of things at an archive or museum, here’s a bit of advice:
- Get a technical foundation. Often times you’ll have to go from coding language to coding language in the course of multiple projects. Having a firm grip on the basics of understanding logic operators, loops, switch statements, function calls, objects and object oriented coding will make language hopping a lot easier.
- Learn XML, specifically the EAD standard (Encoded Archival Description)
- Learn Unix and know how to interact with it via command line.
- Understand how to setup, maintain and update a basic LAMP (Linux, Apache, MySQL, PHP) stack.
- Look at other people’s code. Part of the job of a web developer is maintaining code, and it will not always be your code. You’ll need to be able to debug and parse code that you are unfamiliar with.
- Learn to write self-commenting code. If you follow the immediately preceding bullet point, you’ll discover that there is nothing worse than incorrect commenting. Use human readable variable and function names that accurately describe what they contain or what they do. A good rule of thumb I was told once is to “always code as if the person maintaining your code is a maniac who knows where you live.”
- Take part in code reviews.
- Learn a repository system like Git.
- Work on your communications skills. At some point you will be working with someone who will not have the same technical background as you. You will need to be able to effectively communicate technological decisions, processes, time frames, etc., in a way that a lay person will be able to understand.
- Be adaptive. Technologies are constantly evolving and changing and you’ll need to evolve and change with them.