Incidental Duties:The above statements describe the general nature and level of work being performed in this job. They are not intended to be an exhaustive list of all duties, and indeed additional responsibilities may be assigned, as required, by management.Education and Experience:Bachelor s degree in Computer Science or related field preferred. 3+ years of hands-on experience developing web applications that are used in a production environment. Experience writing robust, pragmatic code following design patterns/anti-patterns.Knowledge and Skill Requirements/Specialized Courses and/or Training:
- Actively participates in software development and team ceremonies as a member of a cross functional team.
- Develops software features using established patterns and technology.
- Contributes to all aspects of the technology stack from client side programming to developing back end services.
- Able to contribute to areas of the code/project that they re not familiar with.
- Able to explore how contributions may affect related dependencies and larger architecture.
- Investigates and addresses bugs.
- Demonstrates initiative and pro-actively implements application improvements and updates.
- Ensures code contributions are easy to read, maintainable and include the appropriate test coverage.
- Language proficiency in at least one programming language.
- Works effectively with all members of a cross functional software development team.
- Provides visibility into progress,able to unblock themselves.
Machine, Tools, and/or Equipment Skills:PC servers, workstations and laptops. Work with standard current computer applications, word processing, spreadsheets, enterprise applications such as ERP, MES, PLM and CRM.All qualified applicants will receive consideration for employment without regard to race, color, religion, age, sex, sexual orientation, gender identity, national origin, disability or protected veteran status.
- Experience developing and supporting web applications using programming/scripting languages such as Ruby, Python or Java.
- Experience developing applications using a framework such as Ruby on Rails.
- Understanding of relational database design. Experience with NoSQL data stores is a plus. Must be able to write simple SQL queries and understand database concepts such as stored procedures, views and triggers.
- Experience working with web services. Knowledge of or experience with micro-services or service-oriented architecture a plus.
- Knowledge of application security and identity management solutions such as OAuth, certificates and encryption.
- Experience with performance tuning tools (e.g. Chrome Web Tools).
- Knowledgeable about web standards, W3C specifications, and cross-browser/cross-platform/cross-device compatibility.
- Experience with distributed version control systems such as Git.
- Ability to work effectively with minor supervision and a strong attention to detail in a team environment.
- Ability to work on multiple projects at the same time.
- Individual must be highly motivated and self-directed.
- Excellent written and verbal communication skills.
- Experience with Agile development methodologies.
- Familiarity with continuous integration.
- Knowledge of or willingness to learn Ruby, Java or any language/technology required by the project.