Keystone Systems is a growing firm producing software for library automation, selling to libraries nationally, and is a leader in its field. Keystone is a North Carolina company with its offices in Raleigh. KLAS, the Keystone Library Automation System, is the main focus of Keystone's development and support efforts. KLAS is used in special and academic libraries.
At Keystone, our primary business is to provide a quality automation system with full support services to libraries, businesses and institutions. We offer computer and library systems experience to support our customers in obtaining and fully utilizing the best automation systems available.
Keystone offers excellent long term career growth potential with room for advancement and provides good employee benefits.
Keystone Systems seeks persons who feel they can quickly learn, have a history of completing challenging tasks on schedule, have a "can do" attitude, and are looking for positions of responsibility. Persons selected for positions will receive training in various areas as appropriate and can draw on others within Keystone as needed. We feel that there is a substantial opportunity for career and personal growth at Keystone Systems.
All positions are based in Raleigh, NC.
We are currently looking to fill the following positions:
Software Development - Full-Stack Developer
Keystone Systems is seeking a full-stack developer.
This is a full time position. No contractors will be considered.
As a member of the Keystone development team, you will be integral to helping us transform KLAS from a traditional thick client-server application into a web-based application, while leveraging all existing tested and proven business logic. As you learn the system, you will also become part of our support team in the role of level two support, including performing some maintenance of the legacy application.
Technology stack for the current KLAS desktop client includes:
- .Net
- Progress OpenEdge WebClient
- PASOE (Tomcat)
- Progress Advanced Business Language (ABL)
- Progress Relational Database
and for the existing web interfaces:
- HTML/CSS, Javascript, Bootstrap
- Java Server Faces
- WildFly
- Java
- Progress ABL
- Progress Relational Database
The future technology stack for the web-based version of KLAS has not been finalized, except for the continued use of Progress Relational Database and Progress ABL. In your new role on Keystone’s development team, you will have an active part in helping decide what the next generation of KLAS will look like and what technologies will be used to create it.
Educational / Experience Requirements:
- BS in Computer Science or Software Engineering and 5 years of relevant industry experience
- OR, a degree in any STEM field with coursework in Computer Science and 7 years of applicable experience.
This is not an entry-level position; therefore, the following skills are required:
- Fluency in HTML, CSS, JavaScript (or TypeScript)
- Fluency in at least one server-side scripting language such as PHP, Python, Node.js or Java.
- Solid working knowledge of Linux and basic shell scripting.
- Solid understanding of REST APIs and experience consuming them from server and client code.
- An understanding of OAuth2 in any implementation model, but Keystone uses Keycloak.
- Solid working knowledge of git, including local repositories, GitHub or BitBucket. Experience using git, bash, or a willingness to learn.
- Working knowledge of agile development methodology, particularly Scrum.
- An understanding of object-oriented design and design patterns.
- A thorough understanding of relational databases and a knowledge of at least one query language such as SQL or Progress ABL.
- Experience using testing frameworks such as JUnit and Selenium.
Strongly desired skills:
- Familiarity with
- Accessibility and Section 508, and/or Web Accessibility Standards such as ARIA and WCAG.
- A web framework such as Angular, React.js, or any SPA framework.
- A server-side framework such as Node.js.
- A desktop framework such as Electron, .Net or Progress ADM2.
- Amazon Web Services
- Solid understanding of Java Server Faces and/or Java EE applications, or similar enterprise architecture.
- Working knowledge of Docker
- Working knowledge of Jenkins, Gradle and Ant.
- Experience creating REST APIs, especially for access and maintenance of data in databases.
Required soft skills:
- Ability to learn and follow coding conventions established by the team.
- Willingness to write and share technical documentation for code, projects, customer support services and responsibilities, etc. in applications such as JavaDoc, Swagger doc, Confluence pages, and Jira Issues.
- Desire to collaborate with co-workers, teach them new technologies, and patience to work with them as they do.
- Work with customers and support staff while serving in a level two support role.
- A willingness to learn new technologies and techniques.
Remote work is allowed, but all developers are required to:
- Participate in daily development team stand-up meetings via Slack
- Be onsite at our office in Raleigh, NC one day a week for in-person design sessions and meetings
- Attend bi-weekly staff meetings in person.
This is a salaried position with a generous benefits package including: separate paid vacation and medical leave, a floating personal holiday, as well as 9 company holidays, and health insurance.
Minimum Annual Salary = $85,000, but a candidate with the right combination of job-related skills, experience, relevant education and training, creativity, and positive attitude will warrant a higher initial offer.
Customer Support - Systems Specialist
Keystone Systems is seeking a Customer Support - Systems Specialist.
This is a full time position. No contractors will be considered.
Keystone Systems is looking for a friendly, team-oriented individual to join our Customer Support team. The primary responsibility of this position is to provide on-going support to users of our integrated library system (a database software which helps libraries track and manage their patrons, collection, and overall operation) by phone and email. While customer support is the primary task, our support staff are also actively involved in project implementation and training new customers. As a result, experience in training (especially in creating webinar-style sessions) is of particular interest.
An applicant must have excellent communication skills, be well organized, and a self-starter. All team members should work well with others and accept responsibility to see a task through to completion.
Keystone Systems is a small, family-owned company which prides itself on getting to know our customers and providing them with exceptional support. Our customer base includes primarily specialized library services and other organizations, and includes a number of libraries serving the disabled community.
Requirements:
- Previous customer support experience.
- Proven analytical and technical troubleshooting skills.
- Strong commitment to service.
- Ability to work independently.
- Ability to work with customers with varying levels of technical expertise.
- Willingness to perform periodic on-call duty.
- Excellent written and verbal communication skills.
Desirable elements: (certain to catch our attention)
- Experience with Accessibility, Section 508, and / or Assistive Technology.
- Knowledge of library automation systems.
- MLS, MSLS, or MSIS.
- Work experience in a library setting.
- Experience creating and recording webinar-style presentations.
- Experience with writing course plans and / or training materials.
- Experience in a classroom setting and / or public speaking.
Primary duties and responsibilities are:
- Provide telephone and email based support for KLAS (Keystone Library Automation System).
- Troubleshoot, diagnose, and resolve issues reported by customers.
- Communicate application issues to the KLAS development team - both from customers and those identified in testing.
- Consulting and training new users during installations. Some occasional travel may be necessary which is unlikely to exceed 2-3 weeks over the course of a year.
- Occasional software usability and bug testing.
- Periodic late shift duties, providing support for customers in other time zones, until 7pm Eastern, usually about once per week.
- Periodic on-call duties, during which you may need to respond at any time to rare emergency issues, such as a server outage, at most one week per month.
Duties may include:
- Participate in on-going system design.
- Work with KLAS development team on system requirements and specifications.
- Systems design review.
- End user documentation.
- Attending and presenting at our Users’ Conference, held every two years.
Keystone employees are currently primarily working from home; we expect to transition to a more hybrid approach with employees expected to be in the Raleigh, NC office 2-3 days per week. Benefits include health insurance, starting at 2 weeks of vacation, 2 weeks of sick time, and 9 company holidays each year.
Salary Range = $40,000-60,000 annually commensurate on experience
To apply for any of the positions listed please complete the form below and submit your cover letter and resume in PDF or Word format.
Good luck!
KLAS Employment Application
To all recruitment agencies: Keystone does not accept agency resumes. Please do not forward resumes to our resume address, Keystone employees or any other company location. Keystone is not responsible for any fees related to unsolicited resumes.