SparkFun Systems Administrator Application
Collaborate with a team of professionals in an open source company to build cool stuff that matters!
About this repository
This repository is a mechanism by which applicants for Systems Administrator at SparkFun Electronics can demonstrate basic distributed version control skills and provide code samples.
Typically an applicant will come in by a job post on one of many job boards with little more than a resume and cover letter. Applicants who look viable on paper will be invited to a brief phone screen that includes an initial technical assessment. Well-qualified applicants will then be invited to fork and complete this repository in advance of an in-person interview.
Ambitious applicants can set themselves apart by taking the initiative to complete this repository before being invited to do so.
How to use this repository
- Fork this repository.
- Follow the instructions in the
READMEfiles contained within each top level directory.
- Send a pull request back to SparkFun.
Note that pull requests can either be sent back to the main repository or you can create a branch on your fork and create a pull request into master on your fork. The latter method requires that you contact the management of the SparkFun IT department with a link to your pull request, and affords you as an applicant some degree of anonymity.
What Happens To Your Pull Request
Your pull request will never be merged (to keep this repository open for the applicants that use it after you). When you've either been hired or declined your pull request will simply be closed.
During the review process you may find comments applied to your pull request - asking questions, seeking clarification, a rogue compliment, etc.
Legal Stuff Regarding Your Pull Request
No content from your pull request will be used by SparkFun Electronics for any purpose other than assessing the quality of a given applicant.
We won't rip off your code. You retain copyright on any pull request you submit.
However, by submitting a pull request, you affirm that the content within is solely your original work. Content generated collaboratively with other individuals must be identified as such and content generated entirely by other individuals should not be included. Failure to meet these guidelines may result in disqualification as an applicant.
Systems Administrator Job Description
About the Company
SparkFun Electronics is an online shop for the do-it-yourself electronics enthusiast. Our customers include inventors, artists, students, hobbyists, and just plain curious individuals looking for some fun tinkering with electronics.
SparkFun is also very committed to bringing electronics education into the mainstream by curating free educational materials and working with schools and institutions around the country to bring electronics into the classroom. Lastly, SparkFun is a staunch advocate of the open source movement, most recently being a leader in Open Source Hardware.
About the Department
SparkFun's Information Technology department is responsible for all company computer systems, including a 350 sqft on-site data center for internal data storage, network services, building security, and a full production web stack for all SparkFun web properties. The department also runs custom development on all web properties including the primary ecommerce website (sparkfun.com), the primary educational resources website (learn.sparkfun.com), and Sparkle, SparkFun's custom-built ERP system.
Where possible (which is most everywhere) open source languages, tools, and technologies are used and where possible code developed by SparkFun IT is given back to the community as open sourced libraries.
The Daily Workflow
Systems administration at SparkFun involves, foremost, maintaining uptime and performance of all critical SparkFun services. This includes maintaining the internal network for the 80,000 sqft office/factory/warehouse, maintaining all internal servers, and maintaining the production web stack, as well as securing devices and monitoring usage for malicious activity.
Candidates for this position can expect to work under the guidance of the Senior Systems Administrator and in coordination with the Desktop Operations Manager (for user workstations, printers, phones, etc.) and a development team of ten (some of whom specialize in DevOps). The candidate in this position is a peer in the highly collaborative department and helps define and prioritize new projects to scale infrastructure in pace with this growing web-based technology company.
- Proficiency administering Linux-based systems
- Experience with administering networking and routing for dozens of VLANs / hundreds of users
- Experience provisioning cloud-based resources such as EC2
- Experience administering OpenStack
- Experience with server configuration version control systems like Chef
- Proficiency in the Debian ecosystem
- Working knowledge of administering relational databases like MySQL or PostgreSQL
- Working knowledge of administering caching systems such as Memcache or Redis
- Working knowledge of administering NoSQL databases such as MongoDB
- Experience working with modern version control systems such as Git
- A visible public track record of contributions to open source
Note: all benefits become available after an initial on-boarding period of six weeks.
- Health, dental, and disability insurance (with FSA and HSA options)
- 401k matching up to 5%
- Eco pass
- Full on-site gym
- 2 weeks paid vacation to start, 3 weeks after one full year of employment
- $1000/year continuing education/professional development fund
- $25/month gym/massage benefit
Note: some perks only become available after an initial on-boarding period of six weeks.
- Flex time – days/hours in the office can be a compromise between work life and home life
- Liberal work from home / work remote policy (note: not interested in permanent remote employees for this position)
- Free and/or deeply discounted access to tools, parts, and education to tinker with electronics and physical computing
- Frequent Lunch and Learns – presentations by other employees and special guests on all manner of topics (often catered)
- Occasional opportunities for travel to technical conferences and other professional development opportunities
- A generous stipend to build a custom workstation upon hire
This repository is licensed under the MIT License:
Copyright (c) 2015 SparkFun Electronics
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.