Jr. Engineer

Position Title: Jr. Developer
Status: Exempt, Salaried
Reporting Relationship: Reports to Practice Lead

Jr. Developers are entry level programmers. Developers consistently deliver on their commitments. They are solid team contributors who take direction from team leaders for work assignments, practices, and processes. They may be capable of facilitating meetings but are not expected to provide leadership.

Position Responsibilities

  • Design and develop software applications
  • Design and implement database and other architectural system elements
  • Produce deliverable documents and work products.
  • Apply agile software development practices
  • Discuss and define requirements collaboratively with clients
  • Learn and implement new technologies
  • Other duties as assigned
  • ~0-5 years of experience developing software

Technical Skills
  • Demonstrates proficiency with various developer tools
    • Mac OS/Unix, Editor, Git
  • Demonstrates Ruby or other OO Language proficiency
    • Syntax, APIs, Web Framework, Useful Plug-ins/Libs
    • Gem authoring
    • SOLID Design Principles / Design Patterns
  • Understands and produces Standards Complaint HTML/CSS 
  • Demonstrates technical understanding of Ruby on Rails / MVC
    • can competently author a Rails App from start to finish
    • knows the in's and out's of the asset pipeline
    • ES3 / ES5 Syntax: http://es5.github.com/
    • jQuery, Backbone, Node.js
    • jQuery Plugin structure
    • Testing framework knowledge (Qunit, Jasmine)
  • Demonstrates Test-Driven Development practices
    • Red, Green, Refactor, Tools (Test::Unit, J Unit)
  • Understands Object Orientated Design principles
    • Encapsulation, Polymorphism, Patterns
  • Understands Data Design principles
    • ER Diagram, Primary Key, Foreign Key, Normalization, ORM 
  • Demonstrates proficiency deploying to one or more Production Environments
    • Heroku, Raw EC2 w/ Apache or Capistrano
Other Skills
  • Experience with Agile Project Management Practices such as writing user stories, estimation, calculating velocity, defining acceptance criteria, and release planning
  • Effectively communicates technical concepts to other technical staff members
  • Effectively communicates with non-technical members of the organization
  • Effectively communicates with clients
  • Demonstrates high quality written communication
  • Demonstrates aptitude for learning new technologies
  • Demonstrates knowledge and application of Rocket Fuel Labs core values