Senior Software Engineer (Remote) at Inspire
Inspire’s Technology organization is seeking a Senior Software Engineer to join our growing team. You will be responsible for working in our core backend systems by integrating with third party APIs, writing background processes, and creating APIs for some of our most important internal tools. You will join a dynamic team and contribute alongside them, working in a collaborative and supportive environment.
You’ll rely on your experience to make our technology platform better, furthering our mission of impacting the world positively through renewable energy. If you have a passion towards technology and interest in solving tough problems and care about our mission of spreading renewable energy across the country, let’s talk!
THE SENIOR SOFTWARE ENGINEER HAS 4 MAIN RESPONSIBILITIES
- Be an integral contributor within a product-design-engineering “squad”. Write code, write tests, ship code to production multiple times per week.
- Own your features, from inception to completion. Participate in grooming sessions, code-reviews, QA, and post-deploy monitoring.
- Write and maintain comprehensive documentation of solutions.
- Advocate for best-practices within the team and mentor more junior engineers through pair-programming, code reviews, and coaching.
SOME YEAR 1 DELIVERABLES
- Internal APIs/Services
- Modify existing services and RESTful APIs to support internal applications and customer-facing applications
- Work on asynchronous and scheduled job-processing
- Vendor API Integrations
- Integrate with RESTful APIs for our third party vendors.
- Implement new integrations, and improve our existing integrations. Document internal Inspire APIs when updating
- Tech Stack Improvements
- Make recommendations and implement changes to how we test, lint, review, deploy code.
- Assist in the migration of our last Sinatra/Padrino application to Rails
- Ability to get up to speed quickly: Be actively contributing code within the first sprint, within a month you’ll start to own your first feature.
- Learning about an application in our stack, sharpening your tech skills along the way
- Eliminating bugs in your code and others code through a combination of automated and manual testing.
- Deliver Results/Resourceful (I take risks, and move with speed because I believe our mission requires it)
- Team First (I can’t do this alone but as a team we can)
- Honest/Transparent (I can speak my mind, even when it’s difficult)
- Motivation to Learn (I want to further my understanding of technology)
- Feedback Seeking (I know I’m not perfect, I want to know how I can get better)
- Must Have
- Experience that provides a foundational knowledge in software engineering concepts, with a focus on web technologies. Typical applicants have 3-5 years experience. If you have less (or more), and feel you’re a fit, please feel free to apply. We welcome applications from candidates with traditional and non-traditional education.
- Some examples of topics you’d feel comfortable speaking about:
- How and when to use modern frameworks
- Best practice for API conventions
- Optimal code organization
- When to test your code and how
- Optimal relational database structure
- You should have worked on a web application, APIs, databases, or other business-focused technology systems in a professional environment.
- Desire to provide technical mentorship to the core team. This could take many shapes but some examples include:
- Providing actionable, helpful feedback on pull requests,
- Running best practice presentations
- Pair programming with other engineers
- Experience with the following languages and frameworks (if you don’t have experience in all of them, that’s ok!)
- Ruby, Rails, Sinatra/Padrino, ActiveRecord, Ruby Sequel, RSpec
- Git/Github/Your choice of text editor
- Experience deploying to Heroku, AWS, or similar
- Nice to Have
- Experience in a mission-driven team or renewable energy
- Experience leading change within a team