Athena Analytics provide software the “Athena Tracker” to educational institutions. This software uses machine learning to identify a student's potential. The student's performance throughout school is then tracked against this for the purpose of highlighting when they dip below their own unique potential and may require some additional support. We recognise that each student's pathway through school is unique. Success is different for each student. Traditionally academic tracking is focused on both the high achievers and the students that require most support. Our software aims to ensure that every student gets this type of attention and no student gets missed in a busy school system. Over 300 schools are using the Athena Analytics products.
We are looking for an experienced Ruby on Rails Developer to join our growing software development team. This person will work on the Athena Tracker software – adding features to constantly improve the product. This successful candidate will also have the opportunity to work on new innovative software and lead a software development team.
Responsibilities
Design, build, and maintain efficient, reusable, and reliable Ruby code Integration of data storage solutions (may include databases, key-value stores, blob stores, etc.) Integration of user-facing elements developed by front-end developers with server side logic Identify bottlenecks and bugs, and devise solutions to these problems Help maintain code quality, organization and automatization
Required Skills:
Experience working with Ruby on Rails (5+ version) and a deep understanding of all of its components. Ruby, a deep understanding of its object model, methods/constants lookup, ruby threads and GIL, ruby dynamics (callable, runnable objects, callbacks, hooks, runtime introspection and so on). Built in classes and modules (Enumerable, Enumerator), Forwardable and Comparable modules and such. Need to understand TDD and BDD practices and be able to test Rails applications process in depth including all common gems (rspec, capybara, factory bot, database cleaner, shoulda matchers, webmock, timecop, simplecov, faker, vcr and so on). Need to understand common ruby patterns (decorator, factory, singleton, observer, iterator, command, chain of responsibility and so on). Active Record (pattern itself, conventions, migrations mechanism, types of associations, scopes, difference between optimistic and pessimistic locking). Object-Oriented Design (SOLID, GRASP, especially POODR). PostgreSQL (MVCC, data types, security, reliability and disaster recovery, concurrency and performance, b-tree, multicolumn, expressions, partial, gist, gin indexing and so on); SQL (without ORM); PL/pgSQL would be a plus Git (without GitKraken, SmartGit, SourceTree). Basic Network Engineering (TCP/IP, NAT) and all protocols from layer 7 in depth (HTTP, HTTPS, SMTP, FTP, SSH, DNS and such). Security (sessions mechanism, cross-site request forgery, cross-site scripting, session hijacking, difference between SQL Injection and CSS Injection, feature policy and content security policy http headers). Linux administration skills. Key Values stores (Redis, Memcached). Experience with AWS or other cloud services (Google Cloud, MS Azure, Heroku, Digital Ocean, etc). Experience with Docker
Bonus skills:
Experience with orchestration tools, such as Docker Swarm or K8s; Experience with message queue and streaming systems (RabbitMQ). Experience with GraphQL
About Athena Analytics
Through working on our academic tracking software, the Athena Tracker, we have built a model to help estimate what a student would most likely have gotten in the Leaving Certificate in a normal school year, based on their previous results. This model is based on the results of 130,000 previous students, and all of their previous results.
These estimated results can be used as an unbiased, evidence-based estimate for schools, based on well researched and tested statistical methods. It will incorporate patterns specific to subjects and levels and will recognise outliers in students' previous results - ensuring no student is penalised for one bad result. More information available here.
Our usual State Examination Reports can also be used in assisting schools with understanding past results of this set of students at Junior Certificate level and past recent results of the school at Leaving Certificate. More information available here.