I use Atom because it's been around long enough to have plugins for everything. It is very unlikely that there isn’t a plugin for your favorite language. It’s super easy to install plugins and packages (or to write your own!). The editor defaults are great: it’s the best default setup I’ve ever seen for a text editor. One can download this thing and get working immediately.
At the end of the day, most modern text editors are great. I do love Visual Studio Code as well! I often find myself switching between the two for no other reason other than just because.
As far as the backend goes, we first had to decide which database will power most of Daily services. Considering relational databases vs document datbases, we decided that the relational model is a better fit for Daily as we have a lot of connections between the different entities. At the time MySQL was the only service available on Google Cloud SQL so this was out choice. In terms of #backend development Node.js powers most of our services, thanks to its amazing ecosystem there are a lot of modules publicly available to shorten the development time. Go is for the light services which are all about performance and delivering quickly the response, such as our redirector service.
I use Microsoft IIS because it is shipped by default with Windows Servers for which of them I usually develop applications. IIS perfectly managed from PowerShell which I use as well, thus it is very easy choice for me. I could have clean Windows instance and bring it to desired state using PowerShell capabilities. Also this is default configuration for debugging in Visual Studio which means that I develop in the environment which is closer to production.
In my last side project, I built a web posting application that has similar features as Facebook and hosted on Heroku. The user can register an account, create posts, upload images and share with others. I took an advantage of graphql-subscriptions to handle realtime notifications in the comments section. Currently, I'm at the last stage of styling and building layouts.
For the #Backend I used graphql-yoga, Prisma, GraphQL with PostgreSQL database. For the #FrontEnd: React, styled-components with Apollo. The app is hosted on Heroku.
Go is a high performance language with simple syntax / semantics. Although it is not as expressive as some other languages, it's still a great language for backend development.
Python is expressive and battery-included, and pre-installed in most linux distros, making it a great language for scripting.
PostgreSQL: Rock-solid RDBMS with NoSQL support.
NATS: fast message queue and easy to deploy / maintain.
Docker makes deployment painless.
Git essential tool for collaboration and source management.