Ruby Developer

Job Description

Are you an organized Sr. Technologist/ Ruby Developer with the chops to mentor? Our clients are working with cutting edge technologies and are seeking leaders that are actively engaged in the technology industry. To be successful in this role you must have a deep appreciation for technological advances and a strong understanding of how industry evolution will benefit an organization.

You must believe in the idea of failing forward and you contribute as an idea leader on your team. To you, mentoring others and providing growth opportunities through coaching is just as rewarding as being praised for your brilliant software applications! You recognize that failing and learning from past errors is part of the job, being able to identify opportunities for product or process improvement is crucial to the success of this role.

This position will require experience with architecture, design, and a high degree of comfort developing complex, end-to-end custom software applications in a fast paced, ambiguous environment. As this role is highly visible, our clients would like to see candidates with a bachelor’s degree in computer science or a related field. We would like candidates to have a minimum of six years of experience in RoR and other OOO based programming languages.

Core Qualifications Include: 

  • 10 or more years of experience as a technical lead senior engineer or solutions architect on enterprise programs
  • 6 years in RoR and other OOO based programing languages.
  • Experience developing applications as a Principal/Senior Software Engineer
  • Software development experience including: OOP, concurrency programming, design patterns, RESTful service implementation, Service Oriented Architecture, Test-Driven Development, Acceptance Testing, Transact-SQL, and SQL Server
  • Experience creating tools to automate the deployment of an enterprise software solution to the cloud
  • Strong object-oriented design and development experience
  • Knowledge of design patterns and their implementation
  • Validates information delivery by developing and completing usability test plans; evaluating traffic patterns; studying user feedback; coordinating with Usability Specialists
  • Implements information architecture by preparing paper and interactive prototypes and mockups including page layout and navigational elements; coordinating with Web Producer and Production Developer to integrate site concept, visual design, writing, interface, and navigational structure; documenting structure and processes
  • Agile or Lean Software Development experience such as Kanban, Scrum, Test-Driven Development, and/or Extreme Programming methodologies
  • Experience using automated testing tools like RSpec, Capybara, Jasmine, Selenium, and/or other test automation tools
  • Database Management, Data Modeling, Presenting Technical Information, Problem Solving, Strategic Planning, Data Maintenance, Verbal Communication
  • Experience helping others to design, write, conduct, and direct the development of tests
  • Positive team player attitude with excellent verbal and written communication skills
  • Self-motivated and willing to “do what it takes” to get the job done
  • High degree of organizational skills
  • Strong written and verbal communication skills

 

Primary Responsibilities:

  • Ability to understand and  influence the vision of program strategy
  • Plans information architecture by studying the site concept, strategy, and target audience; envisioning architectural scheme, information structure and features, functionality, and user-interface design; creating user scenarios; preparing data models; designing information structure, work-and dataflow, and navigation; evaluating information representation; conducting creative meetings.
  • Organizes information by translating user behavior into media structure and elements; crafting interactive experiences; producing workflow diagrams, user scenarios, flowcharts, and storyboards; preparing interaction specifications, navigation rules, organization of information, and site maps; coordinating with business, technology, visual, structural, editorial, cognitive, and brand strategists.
  • Design and develop solution strategy which supports productivity, maintainability, interoperability, and product growth
  • Prevent decision process from stalling by ensuring solution level issues are addressed promptly
  • Conduct, manage, and enforce code reviews.
  • Conduct technical and feature risks assessments and communicate to the architecture and product management groups
  • Educate and enforce clean code that follows the main programming principles
  • Enforce Proper Unit, Integration, System, Performance level Tests, Code Coverage, and Static/Dynamic Code Quality Metrics
  • Work with Architects to ensure proper solution based on the established architectural principles and patterns
  • Mentor and guide technical resources within team
  • Guide and participate in recruiting best technical talent for the team
  • Write web services, business objects, and other middle-tier framework using the framework
  • Use tools and technologies to extend and improve the functionality of our product
  • Leverage open source and other technologies and languages outside of the framework should the need arise and autonomously be able to make use of those decisions
  • Develop cutting edge solutions to maximize the performance, scalability, and distributed processing capabilities of the system
  • Provide troubleshooting and root cause analysis for issues that are escalated by the team
  • Work with development teams in an agile context as it relates to software development, including test driven development, automated unit testing and test fixtures, and pair programming
  • Enhances information architecture team accomplishments and competence by planning delivery of solutions; answering technical and procedural questions for less experienced team members; teaching improved processes; mentoring team members.
  • Identifies user requirements by researching and analyzing user needs, preferences, objectives, and working methods; studying how users consume content, including data categorization and labeling; meeting with focus groups.
  • Updates job knowledge by tracking research regarding web design and usability; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.
  • Enhances organization reputation by accepting ownership for accomplishing new and different requests; exploring opportunities to add value to job accomplishments.