Before our clients hire us, they've often already invested a lot of time, energy, and money into having custom web applications developed to help them solve some business challenges. They come to us looking for a team to provide dependable support and maintenance of their existing Ruby on Rails (and a handful of React) projects. We do this in the form of recurring retainers where we take care of small feature updates, bug fixes, performance improvements, chipping away at their technical debt, and helping them experiment as they navigate forward as a business.
This model means we rarely spin up brand new web applications for clients. It also means we get to build lasting partnerships and influence how companies plan for the life of their web applications.
So, if you're the type of developer that really enjoys building shiny new things or pitching entire app rewrites, this probably isn't the position for you. However, if you're the type of developer that enjoys jumping into the deep end of complex projects, helping iterate and improve software, taking responsibility, and being given opportunities to help lead projects, we should talk.
We are a small team and each of us wears many hats. In this role you'll typically focus on:
- Participating in short daily stand-ups to outline what you completed yesterday and are aiming to accomplish today
- Keeping an eye out for your teammates by lending them a hand in tackling a challenge
- Jumping between 2 - 4 client projects/week (sometimes a few each day)
- Collaborating with your team members in all parts of a project, from planning, to estimating, to coding, testing, and bug fixing
- Documenting the tricks and lessons you learn to share with the dev community on our blog
- Asking clients for clarification on requirements that you aren't sure you understand
- Saying,"I don't know yet, but I'll help figure it out!"
- Improving the overall test coverage of our client projects
- Performing code reviews on your teammate's pull-requests
- Googling weird error messages
- Sharing praise when someone on the team does something amazing
- Occasionally helping out with DevOps/sysadmin tasks
- Sending your code for peer review
- Taking advantage of our flextime scheduling to swing by the gym, go for a run before the rain starts, or sitting in the park with a book
- Communicating directly with clients to help define features, user stories, improvements to existing applications
- Deploying code to staging or production environments
- Tracking time for our client work so that we can pay our bills
- Sitting down with interns or junior developers to hone your mentoring skills
- Noticing inefficiencies in our existing processes and taking note to raise it at our next team meeting
- Adding useful information to the README files that will help your teammates
- Sharing useful links with your peers in Slack
Requirements
Must-Haves:
- 2 - 4 years experience with Ruby on Rails
- Ability to clearly and competently convey your thoughts and ideas verbally and in emails, JIRA tickets, and Slack messages
- Experience collaborating with clients, stakeholders, and decision-makers
- Understanding of how SQL databases work and how to navigate them
- Comfort with an Apple Mac environment (maybe you even like to dabble with Linux?)
- Comfortable with Git
- Experience writing automated tests for Ruby on Rails apps
- Experience using Capistrano, Git, etc., to handle Rails deployments
- Knowledge of HTML and CSS/Sass
- Experience using Heroku and AWS S3 buckets
Nice-to-Haves:
- Experience w/React, Ember, Angular, Backbone, or other front-end frameworks
- Knowledge of software design patterns and experience with implementation
- Experience leading in-person or online workshops or presentations
- Strong writing skill
Most importantly, we're looking for developers that embody our core values:
- PROACTIVE - We actively seek opportunities to improve our clientʼs products, our processes, and our abilities.
- CURIOUS - A natural curiosity for the undiscovered results in remarkable work for our clients – and stronger connections for our team. We ask questions, learn, and aren't afraid to fail.
- DEPENDABLE - We are invested in our work. We manage expectations. We support our clients and teammates. We hold ourselves, our teammates, and our clients accountable.
- VERSATILE - We readily adapt to change and encourage innovation because our team and work are transparent and flexible.
- DELIGHTFUL - We choose to set a mindful, positive tone that allows everyone to flourish.
NOTE: Planet Argon staff are working safely from their homes for the time being;remote candidates are encouraged to apply for this position. This is a full-time position, so responses from freelancers, design studios, or recruiters offering their services will be ignored.