Slide 1

Slide 1 text

Empower productivity by using the right tools / methodologies

Slide 2

Slide 2 text

Disclaimer All the tools and methodologies are based on my own experiences. There is no tool or method which could be applied to everyone. Pick those you think are the best fit for your own environment. I didn’t get any advantage out of those mentioned tools. It is pure my experience and favourites. Slides are focused for Ruby developers mostly.

Slide 3

Slide 3 text

Teamwork is vital When you think about the colleagues that you come into contact within your enterprise company or a startup team, learning how to work well together is vital.

Slide 4

Slide 4 text

Better communication I’ve recently had an opportunity to work in a team and we were discussing online a lot. It also helped to communicate with team members who work remotely or from other countries.

Slide 5

Slide 5 text

Slack.Be less busy Slack brings all your communication together in one place. It’s real-time messaging, archiving and search for modern teams. slack.com

Slide 6

Slide 6 text

Project management When it comes to project management, it’s important to follow methodologies which help to remove chaos in your workflow, don’t go waterfall way, use agile instead. http://pointnorth.io

Slide 7

Slide 7 text

PivotalTracker.Build better software faster Simple, collaborative project management from the experts in agile software development. pivotaltracker.com

Slide 8

Slide 8 text

Trello.Organize anything, together Trello is the fastest, easiest way to organize anything, from your day-to-day work, to a favorite side project, to your greatest life plans. trello.com

Slide 9

Slide 9 text

Code management Code management and versioning is important part of any software lifecycle, you can’t go without them.

Slide 10

Slide 10 text

Git.local-branching-on-the-cheap Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. git-scm.com

Slide 11

Slide 11 text

Github.Build software better, together. Powerful collaboration, code review, and code management for open source and private projects. github.com

Slide 12

Slide 12 text

Hints how to use Github efficiently - Uncheck all email notifications - Unwatch all irrelevant repositories - Create specific teams inside your organization: @backend, frontend, all, designers, po and so on.. This will help to tag people who can review or comment on your issue or pull request or participate in a general conversation. If you can’t mention specific team, tag/mention your colleague straightforward. - Add continuous integration service to your repository - Don’t merge PR until someone reviews it unless you really know what you’re doing.

Slide 13

Slide 13 text

Use Github Pull Requests Pull Request = Code + Issue + Comments It’s a great way to review other developer’s code and immediately spot possible bugs. It also increases your code quality. Every pull request should be well tested!

Slide 14

Slide 14 text

Managing your server infrastructure Having a complex web application with huge amount of unique visitors, API requests, requires any company to have scalable hosting infrastructure. You’re doomed without any automation tool.

Slide 15

Slide 15 text

Chef.Automation platform for the new IT Chef is a systems and cloud infrastructure automation framework that makes it easy to deploy servers and applications to any physical, virtual, or cloud location, no matter the size of the infrastructure. getchef.com

Slide 16

Slide 16 text

PuppetLabs.Automate IT Puppet Enterprise helps you make rapid, repeatable changes and automatically enforce the consistency of systems and devices–across physical and virtual machines, on premise or in the cloud. puppetlabs.com

Slide 17

Slide 17 text

Time savers If you don’t have devops on your team, you can always use any PaaS which will do all the job for you.

Slide 18

Slide 18 text

ShellyCloud.Painless deployment. Built for Rails. Platform for hosting your Ruby and Rails apps. shellycloud.com

Slide 19

Slide 19 text

Continuous deployment From a wikipedia: “Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day.”

Slide 20

Slide 20 text

JenkinsCI. An extendable open source continuous integration server. FREE, but you need to host it on your own. jenkins-ci.org

Slide 21

Slide 21 text

Using external CI If you can’t install and config JenkinsCI on your own, you can always try to find alternative FREE solutions.

Slide 22

Slide 22 text

SnapCI.Easy builds, deployed when you want Snap delivers fast feedback so you can deliver high quality software quickly. FREE tier for a private repository. snap-ci.com

Slide 23

Slide 23 text

CodeshipCI.Continuous Delivery made simple We love having other people build great software with our tools and help them create the best products imaginable. Up to 50 builds per month for FREE. codeship.io

Slide 24

Slide 24 text

Friday Deployments.Out of your mind? Every company should have rules regarding deployments on different days, especially on Fridays. You should avoid deployments on Fridays as much as possible.

Slide 25

Slide 25 text

Monitoring your app, servers and errors It is very important to keep track of how your application behaves. It is a good practice to spot all errors before your customers do. There are several good tools which help to do so.

Slide 26

Slide 26 text

NewRelic.We are all data nerds New Relic is a Software Analytics company that makes sense of billions of metrics across millions of apps. Lite version is FREE. newrelic.com

Slide 27

Slide 27 text

Rollbar.Take control of your errors Rollbar collects and analyzes errors on web and mobile apps so you can find and fix them faster. FREE with some limitations. rollbar.com

Slide 28

Slide 28 text

Graylog2.For data analysis Field-tested open source data analytics system used and trusted all around the world. Search your logs, create charts, send reports and be alerted when something happens. All running on the existing JVM in your datacenter. graylog2.org

Slide 29

Slide 29 text

Kibana.Visualize logs and time-stamped data Kibana is a highly scalable interface for Logstash and ElasticSearch that allows you to efficiently search, graph, analyze and otherwise make sense of a mountain of logs. Kibana

Slide 30

Slide 30 text

Text editors A text editor is a type of program used for editing plain text files. TextMate Sublime Atom VIM

Slide 31

Slide 31 text

Rubygems for development env rails_best_practices pronto pronto-rubocop pronto-brakeman pry rspec-rails or rspec factory_girl_rails capybara coveralls

Slide 32

Slide 32 text

Useful resources awesome-ruby ruby-style-guide rails-style-guide betterspecs

Slide 33

Slide 33 text

Thank you Feel free to approach me through the following channels: ● https://www.linkedin.com/in/giedriusr ● https://github.com/giedriusr ● http://about.me/giedriusr

Slide 34

Slide 34 text

Empower productivity by using the right tools / methodologies Giedrius Rimkus 2014 07