Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Empowered productivity

Empowered productivity

My pure experience on how software should be built within teams.

Giedrius Rimkus

July 08, 2014
Tweet

More Decks by Giedrius Rimkus

Other Decks in Technology

Transcript

  1. 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.
  2. 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.
  3. 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.
  4. 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
  5. 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
  6. 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
  7. Code management Code management and versioning is important part of

    any software lifecycle, you can’t go without them.
  8. 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
  9. Github.Build software better, together. Powerful collaboration, code review, and code

    management for open source and private projects. github.com
  10. 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.
  11. 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!
  12. 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.
  13. 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
  14. 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
  15. 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.
  16. 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.”
  17. Using external CI If you can’t install and config JenkinsCI

    on your own, you can always try to find alternative FREE solutions.
  18. 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
  19. 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
  20. 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.
  21. 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.
  22. 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
  23. 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
  24. 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
  25. 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
  26. Text editors A text editor is a type of program

    used for editing plain text files. TextMate Sublime Atom VIM
  27. 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