What are the responsibilities and job description for the Ruby Developer position at NRTC?
NRTC is Member Driven and Technology Focused – providing solutions that help our 1,500 electric and telephone members bring all the advantages of today’s evolving technology to rural America. NRTC’s solutions are developed specifically to meet the needs of rural utilities and their customers, and include integrated smart grid solutions, metering networks, next-generation energy, demand management, broadband, managed services, mobile and video. We are a dynamic, growing cooperative with more than 750 employees operating out of seven office locations.
CrowdFiber is located in Rome, Georgia, read more about Rome here. We are a small team with a strong focus on developing creative solutions to support broadband providers in furthering the expansion of high speed internet into rural communities across America. We are member owned as a part of NRTC, allowing us to fully focus on our customers' needs. Our key differentiating factor is that almost everything is geographically referenced within CrowdFiber. We make extensive use of maps and visualization tools to allow customers to see their data in a context that makes sense.
JOB SUMMARY:
CrowdFiber seeks a Ruby Developer to help with its growing customer base that is helping close the digital divide in America. Some examples of what you might do here:
Develop an MVT tiler for displaying map datasets from a rails app
Work with API’s from all different types of systems
Deploy to all different types of infrastructure: Bare metal, AWS, linode
Build custom api endpoints for customers
Solve a complex address matching problem
Write example code for customers following our API’s
Add test coverage for an edge case
Other duties as assigned
Our technology stack and workflow:
Backend:
Our primary language of choice server side is Ruby, with a little Python, node and elixir mixed in where needed. Our framework of choice is Rails, with Sinatra and Rota used in a few of our micro services.
For databases, we reach for Postgres almost exclusively, with postgis, and pg_bouncer as standard components in our deployments. For in memory stores, redis is our go to.
We use docker, nginx, freenas, and vyos. Containerization has been a key to allowing CrowdFiber to grow and respond to changes quickly.
Frontend:
For styling, we use Bulma and Bootstrap. Our system uses liquid for customizing frontend view to meet the customers branding and style guidelines.
React and vanilla javascript is our “go-to” with jquery mixed in where it makes sense. Leaflet, D3 and highcharts to make things contextual for our users, we are always exploring new frameworks and libraries to improve our frontend experience.
Workflow:
Github is our distributed code management tool of choice, so we use the built in features for work management to reduce the number of places required to disseminate information. Discussions and issues are used by the entire team to coordinate. Slack for chat and zoom for meetings. We use Codeship for continuous integration and our own internal tool for deployment.
Code review is integral to our processes, testing with Rspec, rubocop for style management and short feedback cycles on deployment to allow quick error resolution. Coding is a craft and constructive feedback is expected within our team.
EDUCATION AND EXPERIENCE:
We are looking for a developer with at least 3 years of experience with ruby or a ruby-like language that is willing to work on both front and backend systems. You will need to be able to develop features within our technology stack from start to finish, with support from other developers when specialization is needed in an area. You will need to be able to work within a Linux environment.
We are looking for generalists, you do not have to be a wizard at all things, if you are strong with databases but have to read up on the latest webpacker methods, that's ok. You should be willing to learn new skills and improve existing ones.
How you developed your skills matters less than being able to demonstrate them. You will be tested on the skills listed on your CV that are relevant to our technology stack or business. You should be a lifetime learner and enjoy learning new things. A high school diploma, GED or equivalent is the only formal education requirement.
Experience within the telecommunications, internet service providers, or networking fields are a plus.
You should be able to communicate your thoughts and intentions in a clear and concise manner.
PHYSICAL DEMANDS:
Work is typically performed in an office setting at home or a location of your choosing.
Infrequent travel may be sought to work in-person together
Salary : $80,000 - $110,000