I believe 2017 was the most productive year in my career. I would like to share hardware / languages / frameworks / tools I used in 2017. Maybe somebody will find inspiration for themselves. My feedback will be Yes or No.
MacBook Pro (Retina, 13-inch, Early 2015), 2.9 GHz Intel Core i5, 8 GB 1867 MHz DDR3. I am really happy that in 2016 I invested near $2000 in MacBook Pro. I didn’t regret for a moment for this decision. It is light and fast. Yes for some project and apps it is slow, but there are much more advantages than disadvantages. Definitely yes in 2018.
Java ecosystem stack: Spring Framework — 101% yes. Yes, I agree it is not suitable for all of your projects, but Spring ecosystem can fit a lot of different cases. Apache Maven / Gradle — two yeses. Right now I cannot make a clear choice on build tool. Lombok — 101% yes. Lombok is simple and useful. JMH — yes. If you are not using JMH for your benchmarks you probably are doing something wrong. Next: JUnit, Mockito — Yes. 0$ :)
IntelliJ IDEA — yes. I am using Community Edition, so it is 0$. Eclipse bye-bye. I know “never say never”, but I will probably never use Eclipse again. For front-end purposes, I started using Atom IDE. I really like it, so it will be yes. I am using Sublime Text right now as I was using Notepad++ a few years ago, so my verdict — probably.
Git — Yes. GitHub, BitBucket — Yes. In our company we use GitHub for education and prototype purposes, BitBucket for free private repositories :)
DigitalOcean — yes. DigitalOcean is simple enough to start some project that needs to be deployed into a cloud. AWS — probably. Right now DigitalOcean 100% fit our requirements. We pay $ for a few droplets. I will explain later.
Slack / Skype / Telegram / Messenger / Google Hangouts / Viber — yes and no for everything :) Sometimes there are troubles with each of this. I think there is no magical communication tool. Slack / Google Hangouts — work messages, Viber — private messages, Skype / Messenger / Telegram — in the middle of work and private messages.
Trello — yes. Small teams management will be simple. We use our own approach: Assigned / Blocked / In Progress / Acceptance / Done. It is working. Labels: High Priority, Low Priority, Feature, Bug, DevOps etc. Due Dates / Checklists / Attachment — great. One minor issue we have it is estimations when you need to switch between tasks. A free version is awesome, so $0.
Jenkins — yes. Jenkins — $0, but hosting on DigitalOcean is $20. I think you need to automate everything you can even if a customer doesn’t want to pay $20 per month. It’s worst to invest time to CI approach at least. If you have a CD approach with each of your customers — you are on a roll :)
Now I will tell briefly about other tools, cause there are so many of them :)
Evernote — you need a nice editable notebook? It is your choice. Yes.
Sentry.io / Papertrail — cloud log tracking system? Prototyping — Yes. Production — probably :)
mLab — database-as-a-service for MongoDB? Prototyping — Yes. Production — 0$ only for 0.5GB.
Webmin — server monitoring? Yes, but it depends what you need to monitor :)
Tunnelblick — security + VPN? Yes.
Postman —API development / testing? Yes.
Calculator — do you need to calculate your real salary after a conversation with your wife or girlfriend? I vote Yes. You will use it once per month, but it will be significant usage. The tool is $0, your result depends :)
Maybe I missed something, but I don’t think it’s necessary to talk about Gmail / Google Drive / Dropbox etc.
Totally: ~$2000 investment in 2016, $20 / per month in 2017.
In the end, I want to use a quote I found on the Internet: “We become what we behold. We shape our tools, and thereafter our tools shape us” © Marshall McLuhan