Computer Programmer (Ruby)

Digital Strategies

Pay Level: IT 3/9, Negotiable

The Computer Programmer (primarily Ruby with some Java) will work with a team of other programmers to perform software design, development, and maintenance activities. This will include configuring, customizing, and developing Ruby applications. He/she will leverage the following Ruby technologies: Servlets, JSF, JDBC, JPA, Seam Framework, JUnit, Eclipse IDE, Maven, and Ant. He/she will work to contribute to the overall objective of delivering functioning, well-designed, and maintainable applications.


  • Participate in all phases of the software life cycle development.
  • Participate as a member of a development team.
  • Research and participate in fact-finding to gather user and system requirements.
  • Produce maintainable code that meets technical specifications.
  • Unit and system test his/her own code as well as the code of co-workers.
  • Debug programs, identify the source of issues, and propose and implement appropriate solutions.
  • Document usage instructions and processes for both developers and users.
  • Respond to and resolve service requests from users.
  • Provide technical training and assistance to users and other technical personnel regarding usage of newly developed or enhanced software.

To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.


  • Computer science concepts
  • Computer languages and technologies (especially Ruby, HTML, SQL, XML, and JavaScript)
  • Version Control Systems (especially GIT)
  • Knowledge of object oriented programming concepts
  • Software configuration and testing (especially automated testing tools)
  • Composition of detailed end-user documentation and provision of end-user support
  • Usage of My SQL and Postgres
  • Principles and techniques of systems analysis, design, and programming
  • Software Development Lifecycle
  • Analyze and solve problems
  • Communicate clearly both verbally and in writing
  • Read, understand, and write computer code
  • Learn new programming technologies
  • Troubleshot errors in data and program logic
  • Assist other programmers
  • Research and learn third-party software and APIs
  • Write clear and concise programming documentation
  • Notice areas needing improvement and offer suggestions
  • Maintain a strong team mentality
  • Multitask and prioritize assignments with focus on meeting deadlines successfully
  • Apply technical standards, principles, theories, and techniques, such as change and release management
  • Prepare flow charts and diagrams for technical solutions
  • Compile, organize, analyze, and present statistical and technical data

Bachelor’s degree in computer science, information technology, mathematics, or related field or equivalent years of professional work experience and at least 1 year experience in computer programming positions of increasing complexity, or equivalent combination of education and experience. Experience can be met through internships (paid or unpaid).

To apply for this position, please visit and please be sure to complete the application in its entirety including your work history and educational/training background.