Okay, so part of becoming a software engineer worth hiring is developing tremendous communication skills. Many of us budding engineers are turned off by the idea of learning how to talk to those who don't even know what Git is. Sadly, those are the same people who pay us. It doesn't pay to be pretentious towards those who need a little more guidance than engineers do.
One of the highlights of my career has been my pursuit of chart-drawing mastery–I'm not even joking. I don't like writing code nearly as much as I enjoy making complex concepts/ideas consumable for regular people. By regular, I just mean non-engineers or those who stopped learning math the moment variables entered the picture.
Push alert: Someone on WallStreetBets dropped $7mil on ICOs this month and urges us to AmA him. Cool story, bro.
Here are two big things I learned about communication as an engineer in the last few years:
1) Write everything down. Every. Last. Detail.
2) Don't write code until you can draw it.
Sounds simple enough.
I always hated the whiteboarding portion of software engineering interviews. I remember I had one character start off my whiteboarding interview by graphing x^2. I'll never forget that son of a bitch for that. It was totally unnecessary. However, that son of a bitch was foreshadowing what would be the bane of my existence three years later.
A few years into my career as an engineer, I found myself drawing charts every other day, explaining what I drew to myself as much as needed and to other people as much as they needed me to. I learned that it was even better than writing pseudocode. For some reason, people respond better to drawings than they do to lines of broken English which happens to be somewhat valid Python.
Here's a list of tools I use to draw my ideas neatly:
- Web Sequence Diagrams - ideal for making flow charts. You have to pay for it in order to use the good shit, but -you can pay once and get the most out of it.
- Draw.io - Probably the prettiest shit you'll ever draw will come out of this. So many fucking widgets.
- MonoDraw - If you come from the days of writing txt files and dropping ASCII art in some BBS for all your nerd-ass friends to enjoy, or the Phrack Magazine days, this tool will take you back and impress the fuck out of your coworkers. Only one fucking problem: It's for MacOS. Yeah, I know.
I'm a visual learner. I know that because my guidance counselor told me that back in high school (Thanks, Mr. Sanchez.). Charts are great. The tools I mentioned just makes your charting worth looking at. For the most part, during your career as a software engineer, you'll be scribbling boxes on random shit–tables, walls, glass, napkins, notebooks, Post-Its, and other random shit.
What are some nice chart drawing tools?