2. 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.
3. 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.
4. 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.
5. 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
6. 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
7. PivotalTracker.Build better software faster
Simple, collaborative project management from
the experts in agile software development.
pivotaltracker.com
8. 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
10. 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
11. Github.Build software better, together.
Powerful collaboration, code review, and code
management for open source and private
projects.
github.com
12. 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.
13. 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!
14. 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.
15. 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
16. 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
17. 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.
19. 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.”
20. JenkinsCI.
An extendable open source continuous
integration server.
FREE, but you need to host it on your own.
jenkins-ci.org
21. Using external CI
If you can’t install and config JenkinsCI on your
own, you can always try to find alternative
FREE solutions.
22. 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
23. 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
24. 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.
25. 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.
26. 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
27. 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
28. 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
29. 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
30. Text editors
A text editor is a type of program used for editing plain text files.
TextMate
Sublime
Atom
VIM
31. Rubygems for development env
rails_best_practices
pronto
pronto-rubocop
pronto-brakeman
pry
rspec-rails or rspec
factory_girl_rails
capybara
coveralls
33. 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