Designing and developing new web applications. Maintaining and troubleshooting existing web applications. Writing and maintaining reliable Ruby code. Integrating data storage solutions. Creating back-end components. Identifying and fixing bottlenecks and bugs. Integrating user-facing elements designed by the front-end team. Connecting applications with additional web servers.