├── Full Stack Developer.md ├── README.md ├── Web Developer Student Intern.md ├── code └── README.md ├── dotfiles └── README.md └── etc └── README.md /Full Stack Developer.md: -------------------------------------------------------------------------------- 1 | # Full Stack Developer (Full Time) 2 | 3 | ## About the Company 4 | 5 | [SparkFun Electronics](https://www.sparkfun.com/) is an online shop for the do-it-yourself electronics enthusiast that operates out of a purpose-built 80,000 sqft office in Boulder, CO. Our customers include inventors, artists, students, hobbyists, and just plain curious individuals looking for some fun tinkering with electronics. 6 | 7 | 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 notably being a leader in Open Source Hardware. 8 | 9 | SparkFun is a growing company with $32 million in sales in 2014. Having never taken any venture capital, SparkFun grew to its current state entirely on its own ability to generate revenue. This affords SparkFun a high degree of autonomy and independence which fosters a startup-like environment in a well-established medium-sized company. 10 | 11 | ## About the Department 12 | 13 | SparkFun's Information Technology department is responsible for the continuous development, maintenance, and security of all SparkFun web properties. This includes the primary ecommerce website ([sparkfun.com](https://www.sparkfun.com/)) and the primary educational resources website ([learn.sparkfun.com](https://learn.sparkfun.com/)). Also included is Sparkle, SparkFun's custom-built ERP system which is used to manage all content on the aforementioned web properties as well as order processing, customer management, shipping, inventory controls, manufacturing, etc. 14 | 15 | IT is also generally responsible for all server, network, computer, and software needs for the organization as a whole. This includes building and maintaining the campus network, deploying computers, printers, phones, and mobile devices to all departments, guiding the software selection and implementation process, and generally facilitating the flow of information throughout the company. 16 | 17 | ## The Daily Workflow 18 | 19 | Development at SparkFun reflects the exploratory do-it-yourself culture of the entire company. All developers take part in fixing small bugs and developing larger projects, as well as reviewing one another's code. Continuous improvement of the tool set provided to all users is emphasized as well as continuous improvement to the development process itself. Developers are encouraged to explore parts of the code base and discuss what projects inspire them. 20 | 21 | Assuming developers work best when genuinely inspired both developer inspiration and relative priority are used to determine what gets worked on and when. Collaborative development is highly encouraged and all developers have ample opportunities to work together on small, informal dev teams focusing on one project, feature, or subsystem. 22 | 23 | ## Required Qualifications 24 | 25 | * Experience developing object-oriented PHP 26 | * Experience working with modern HTML, CSS, and JavaScript 27 | * Experience working with relational databases such as MySQL or PostgreSQL 28 | * General understanding of the MVC software architecture 29 | * Experience working with modern version control systems such as Git 30 | * Competence working in a Unix-based environment 31 | 32 | ## Preferred Qualifications 33 | 34 | * Working knowledge of jQuery and Bootstrap 35 | * Working knowledge of caching systems such as Memcache or Redis 36 | * Working knowledge of NoSQL databases such as MongoDB 37 | * A visible public track record of contributions to open source 38 | * An eye for designing intuitive user interfaces 39 | 40 | ## Workplace Benefits 41 | 42 | *Note: all benefits become available after an initial on-boarding period of six weeks.* 43 | 44 | * Health, dental, and disability insurance (with FSA and HSA options) 45 | * 401k matching up to 5% 46 | * Eco pass 47 | * Full on-site gym 48 | * 2 weeks paid vacation to start, 3 weeks after one full year of employment 49 | * $1000/year continuing education/professional development fund 50 | * $25/month gym/massage benefit 51 | 52 | ## Perks 53 | 54 | *Note: some perks only become available after an initial on-boarding period of six weeks.* 55 | 56 | * Flex time – days/hours in the office can be a compromise between work life and home life 57 | * Liberal work from home / work remote policy (note: not interested in permanent remote employees for this position) 58 | * Free and/or deeply discounted access to tools, parts, and education to tinker with electronics and physical computing 59 | * Frequent Lunch and Learns – presentations by other employees and special guests on all manner of topics (often catered) 60 | * Occasional opportunities for travel to technical conferences and other professional development opportunities 61 | * Dog-friendly workplace 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SparkFun Hacker Application 2 | 3 | #### Collaborate with a team of professionals in an open source company to build cool stuff that matters! 4 | 5 | ## About this repository 6 | 7 | This repository is intended for applicants to positions in the IT Department of [SparkFun Electronics](https://www.sparkfun.com), including Full Stack Developer, Web Developer Student Intern, Development Project Manager, and Director of Information Technology. This repository is a standard way by which candidates demonstrate basic distributed version control skills, provide code samples, and answer more in-depth questions. 8 | 9 | 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. 10 | 11 | Ambitious applicants can set themselves apart by taking the initiative to complete this repository before being invited to do so. 12 | 13 | ## How to use this repository 14 | 15 | 1. Fork this repository. 16 | 2. Follow the instructions in the `README` files contained within each top level directory. 17 | 3. Send a pull request back to SparkFun. 18 | 19 | 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 your contacts in the hiring process (or, if you're submitting a pull req uninvited,the management of the SparkFun IT department) with a link to your pull reques. Use the latter method if you prefer some degree of anonymity. 20 | 21 | ### What Happens To Your Pull Request 22 | 23 | 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. 24 | 25 | During the review process you may find comments applied to your pull request - asking questions, seeking clarification, a rogue compliment, etc. 26 | 27 | ### Legal Stuff Regarding Your Pull Request 28 | 29 | **No content from your pull request will be used by SparkFun Electronics for any purpose other than assessing the quality of a given applicant.** 30 | 31 | We won't rip off your code. You retain copyright on any pull request you submit. 32 | 33 | 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. 34 | 35 | ## SparkFun Development Position Information 36 | 37 | ### About the Company 38 | 39 | [SparkFun Electronics](https://www.sparkfun.com) 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. 40 | 41 | 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. 42 | 43 | ### About the Department 44 | 45 | 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](https://www.sparkfun.com)), the primary educational resources website ([learn.sparkfun.com](https://learn.sparkfun.com)), and Sparkle, SparkFun's custom-built ERP system. 46 | 47 | 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. 48 | 49 | ## Development Team Positions 50 | 51 | Not all positions have openings at any given time. See the [SparkFun job page](https://www.sparkfun.com/jobs) for current listings. 52 | 53 | Various position descriptions are available as markdown files in the top of this repository: 54 | 55 | * [Full Stack Developer (Full Time)](Full Stack Developer.md) 56 | * [Web Developer Student Intern (Part Time)](Web Developer Student Intern.md) 57 | 58 | ## Legal Stuff 59 | 60 | This repository is licensed under the [MIT License](http://opensource.org/licenses/mit-license.php): 61 | 62 | Copyright (c) 2015 SparkFun Electronics 63 | 64 | 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: 65 | 66 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 67 | 68 | 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. 69 | -------------------------------------------------------------------------------- /Web Developer Student Intern.md: -------------------------------------------------------------------------------- 1 | # Web Developer Student Intern (Part Time) 2 | 3 | ## About the Company 4 | 5 | [SparkFun Electronics](https://www.sparkfun.com/) is an online shop for the do-it-yourself electronics enthusiast that operates out of a purpose-built 80,000 sqft office in Boulder, CO. Our customers include inventors, artists, students, hobbyists, and just plain curious individuals looking for some fun tinkering with electronics. 6 | 7 | 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 notably being a leader in Open Source Hardware. 8 | 9 | SparkFun is a growing company with $32 million in sales in 2014. Having never taken any venture capital, SparkFun grew to its current state entirely on its own ability to generate revenue. This affords SparkFun a high degree of autonomy and independence which fosters a startup-like environment in a well-established medium-sized company. 10 | 11 | ## About the Department 12 | 13 | SparkFun's Information Technology department is responsible for the continuous development, maintenance, and security of all SparkFun web properties. This includes the primary ecommerce website ([sparkfun.com](https://www.sparkfun.com/)) and the primary educational resources website ([learn.sparkfun.com](https://learn.sparkfun.com/)). Also included is Sparkle, SparkFun's custom-built ERP system which is used to manage all content on the aforementioned web properties as well as order processing, customer management, shipping, inventory controls, manufacturing, etc. 14 | 15 | IT is also generally responsible for all server, network, computer, and software needs for the organization as a whole. This includes building and maintaining the campus network, deploying computers, printers, phones, and mobile devices to all departments, guiding the software selection and implementation process, and generally facilitating the flow of information throughout the company. 16 | 17 | ## The Daily Workflow 18 | 19 | Development at SparkFun reflects the exploratory do-it-yourself culture of the entire company. All developers (including interns) take part in fixing small bugs and developing larger projects, as well as reviewing one another's code. Continuous improvement of the tool set provided to all users is emphasized as well as continuous improvement to the development process itself. 20 | 21 | Collaborative development is highly encouraged and all developers have ample opportunities to work together on small, informal dev teams focusing on one project, feature, or subsystem. Developer interns are placed on a variety of dev teams based on personal interest and skill set. The day-to-day work of interns very closely mirrors that of full-time developers to provide an environment that encourages learning modern enterprise web development in the real world. 22 | 23 | **Web Developer Interns are expected to be able to work a minimum of 20 hours a week on-site at SparkFun Electronics headquarters in Boulder, CO.** 24 | 25 | ## Required Qualifications 26 | 27 | * **Must be an active full-time student** 28 | * Experience developing object-oriented PHP 29 | * Experience working with modern HTML, CSS, and JavaScript 30 | * Experience working with relational databases such as MySQL or PostgreSQL 31 | * General understanding of the MVC software architecture 32 | * Experience working with modern version control systems such as Git 33 | * Competence working in a Unix-based environment 34 | 35 | ## Preferred Qualifications 36 | 37 | * Working knowledge of jQuery and Bootstrap 38 | * Working knowledge of caching systems such as Memcache or Redis 39 | * Working knowledge of NoSQL databases such as MongoDB 40 | * A visible public track record of contributions to open source 41 | * An eye for designing intuitive user interfaces 42 | 43 | ## Workplace Benefits 44 | 45 | *Note: all benefits only become available after an initial on-boarding period of six weeks.* 46 | 47 | * 401k matching up to 5% 48 | * $500/semester tuition reimbursement (not to exceed $1000/yr) 49 | * $25/month gym/massage benefit 50 | 51 | ## Perks 52 | 53 | *Note: some perks only become available after an initial on-boarding period of six weeks.* 54 | 55 | * Flex time – days/hours in the office can be a compromise between work life and home/school life 56 | * Occasionally work from home or work remotely (no permanent remote work) 57 | * Free and/or deeply discounted access to tools, parts, and education to tinker with electronics and physical computing 58 | * Frequent *Lunch and Learns* – presentations by other employees and special guests on all manner of topics (often catered) 59 | -------------------------------------------------------------------------------- /code/README.md: -------------------------------------------------------------------------------- 1 | We want to see your code. Please include a representative sample of your 2 | work in this directory. 3 | 4 | All languages and paradigms are welcome, but we're most interested in 5 | submissions demonstrating one or more of the following: 6 | 7 | - Clean, secure, object oriented PHP. 8 | - Usable, modern, and reasonably standard HTML, CSS, and JavaScript. 9 | - Clear, sensible, and consistently formatted code. 10 | - Sympathy for the plight of future maintainers. 11 | 12 | If you maintain or contribute to any open source projects, please supply links 13 | and a short description of your role in each project. 14 | 15 | **Tips:** 16 | 17 | * Avoid excessive amounts of code. 18 | * Exclude third party utilities and other dependencies like XML libraries or binaries. 19 | * Your samples will be *read*, not *executed*. 20 | * Less is more. 21 | * Select samples that are brief and show off different characteristics of your skill set. 22 | 23 | In lieu of or in addition to code samples please also consider providing writing samples. 24 | When applying for a more managerial position this is of particular importance as 25 | clear written communication is critical. -------------------------------------------------------------------------------- /dotfiles/README.md: -------------------------------------------------------------------------------- 1 | Experienced developers, particularly those working in a Unix environment, tend to prefer 2 | tools which afford a measure of customization. The standard Unix approach of dotfiles to 3 | customize editors, shells, IRC clients, and the like to the developers liking is something 4 | we're interested in. 5 | 6 | In this directory, please include (at your option) either: 7 | 8 | a) A sampling of dotfiles or other configuration from your working environment. 9 | 10 | b) A rationale for your lack of same (complete with some description of your 11 | preferred working environment). 12 | -------------------------------------------------------------------------------- /etc/README.md: -------------------------------------------------------------------------------- 1 | Please answer the following general questions: 2 | 3 | 1. When can you start? 4 | 5 | 2. Do you have any planned vacations/absences in the next six months that we should know about? 6 | 7 | 3. SparkFun is a dog-friendly environment. Are comfortable working aroung dogs? If you are a dog-owner, would you see yourself bringing dogs to work? 8 | 9 | 4. The active developer keeps up on happenings in the world of development and technology. Where do you you get your news? 10 | 11 | 5. The sane developer does things other than writing code. What else occupies your time? 12 | 13 | 6. The worldy developer is in touch with some form of culture (books, music, film, etc.). How do you go about feeding this part of your brain? 14 | 15 | 7. Please critique any of the SparkFun websites. With influence over the SparkFun dev team what would *you* focus on improving? 16 | --------------------------------------------------------------------------------