I find that learning about how other people do things is so beneficial to optimizing my own processes. So with that being said, I figured I'd share my development flow with everyone. To preface, I wouldn't say that my process is wildly different then a "normal" developers flow, but maybe I can show someone something cool that they didn't know about.
The majority of the time I take the time to design a site in Sketch before I write any code. I do this to avoid spending time writing unnecessary code and also to put a lot of thought into the UI and UX flow. I find that by doing this my overall end product is much more polished and put together compared to if I just jumped straight into the code editor.
After finishing my designs I then decide on the stack that I want to use. Lately I've been using a JAM Stack which includes React and Netlify. I'm a huge fan of using this React + Netlify Repo to get started super quickly. The only thing I really add to this base repo is styled-components plus a few other things depending on what exactly I'm doing for the project at hand.
I've jumped around a lot with code editors during my career. My first real one would be Sublime Text, after that I jumped to Atom, had a little stint with VIM, and now happily using VS Code for the last 2 years. I've debated for awhile going back to VIM full time again, but I feel that I'm much more efficient in VS Code. There are tons of cool extensions for VS Code, my favorite one currently being JS JSX Snippets. This extension makes creating react components so quick and easy plus there are lots of other quick JS shortcuts that I use all of the time. If you have any more recommendations for cool little shortcut extensions like this please let me know over on Twitter. Unlike most VS Code users who utilize some of the cool built in features for Git and Terminal I still stick to running everything in a seperate iTerm 2 instance. It just feels better for me having my servers running in something outside of my code editor. Also when it comes to Git I feel very out of control when it comes to using a GUI interface; I like to be able to run every command knowing exactly what's happening behind the scenes. But again, both of those are just matter of taste and don't really increase or descrease my productivity in any way.
The tools I use are nothing ground breaking. I find keeping things simple helps me to be the most productive. Fancy tools definitely can increase your productivity but I just find that to make milliseconds of difference most of the time, plus the time to learn these tools can take a lot of time. At the end of the day though, as long as you're shipping cool things your tools won't really matter.
Follow me on Twitter to stay up to date on my latest posts