“To become a master at any skill, it takes the total effort of your: heart, mind, and soul working together in tandem.”
― Maurice Young
I'm not the best designer, but I do make a huge effort to try to understand my users to produce interfaces that are functional and delightful.
For drawing out rough to high-fi wireframes, I'll usually use Figma or Adobe XD. I think these tools are really good for developers who aren't actually designers by trade. The number of buttons, menus and functionality that's possible with the tool itself is quite minmal, but I find I can accomplish 80 to 90 percent of most tasks with 'em. It's a lot less daunting than Photoshop or the other Adobe alternatives.
Stanford has this really great crash course on Design Thinking. I'd recommend checking it out if you're into human-centered design and would like to learn how to to solve people's problems through Empathy. The Design Thinking Bootleg is a set of tools and methods that I use to design for users of products I build.
For small front end codebases
My library of choice is React.js. It's like lego to me. Such a delightful tool. I'm a huge fan of JSX over templates, any day. Smaller projects and projects where I'm the sole developer will usually be in React with Sass for styling.
For small back end codebases
If you asked me last year, I'd say it would have been vanilla Node.js, but these days, I'm inclined to pass all of my Node.js code through a TypeScript compiler and write TS code instead. It's a lot easier for me to practice writing SOLID code this way.
For large front end projects
React + Redux w/ TypeScript OR Angular + RxJs.
Angular works better when I'm on a team of 3 or more developers because everyone seems to have their own React style. It also depends on the skill level of everyone on the team, but I find that having a rigid framework like Angular where there's only one or two correct ways to do things, like Route Guards for example, is a benefit to team productivity.
Git all the way. I prefer to use the Git Flow branching model for collaboration and releases.
Ops / Automation
Terraform over CloudFormation, and AWS over GCP. Ansible for random stuff.
Prerender.io has done a really good job and I've been happy with using them for prerendering some of my apps social links so that they can look pretty when they're shared on social media.
I code with a 2017 15-inch Macbook Pro with a 2.8 GHz Intel Core i7 processor, 16 GB of LPDDR3 ram and a 1TB hard drive. It's the fastest machine I've ever used. I never thought I'd become a "Mac guy", but here I am.
Currently, I code with two external monitors. I've really been digging the vertical slant these days, it's nice for having Slack, Asana or Discord open to monitor what's going on remotely.