4 ms·
One other major suggestion I'd add: Practice writing. Just write whenever you can, in whatever environment, no matter how unformal. Your company wiki, your p
by nhashem 14y ago
One other major suggestion I'd add:
Practice writing. Just write whenever you can, in whatever environment, no matter how unformal. Your company wiki, your personal blog, whatever.
Maturing from a "junior" engineer into a more experienced one usually means initiating suggestions, not just following them. As the OP said -- have an opinion! But your suggestions will always be limited to how well you can communicate them. And a lot of your interactions wherever you work will be with non-technical people, so the better you can frame technical situations to them, the more they will enjoy working with you and cede to your judgment.
I've seen so many talented software engineers not find the professional success they deserve because they couldn't write. You will do brilliant things, and those brilliant things will make your employer money, and your ability to write will matter a lot in how much that brilliance is valued. Likewise you will make mistakes, and sometimes those mistakes will cost your employer money, and when that happens someone will be upset, and your ability to write will matter a lot in how soon they calm down.
Some of the most important keystrokes in my career were not for writing lines of code, but for how I composed an email. I'm not saying your expertise in software development doesn't matter -- of course it does, and a bad software engineer that's a good writer does not make them a good software engineer. But your ability to write and communicate can be a tremendous force multiplier for your career.
- freshhawk 14y agoI could not agree with you more. I would also add that it's not just writing those emails or communicating but actually taking the time to understand the office politics/social dynamics of the place you are working. I've seen many talented engineers miss out on the success they deserve because they felt that their specialty being "technical" meant they didn't have to concern themselves with "the politics". Often it's partly true, and it's very tempting to those more introverted than average. Write well first, but after that they should learn to tell exactly who to write to, what tone to take and when they should write to them. It can make a truly astounding difference in your career path.
- wonnage 14y agoNot only is writing important for working with non-technical people, but it's a big part of interacting with your fellow engineers too. Think stuff like providing clear pull request feedback without offending the person you're reviewing. And, if you work in an office that avoids interruptions by using email/IRC, it obviously helps to be comfortable writing out your thoughts. I'll also make the (admittedly unprovable) assertion that good code is good writing. Code and sentences can say the same things in different ways - what's the one that minimizes misinterpretation while remaining concise and interesting to read? Just as you want the key points of an essay to live within the most engaging sentences, important code should look important. Style in programming is as crucial as it is subjective, and it requires you to empathize with your readers much as you would when writing anything else. So yeah, dust off that Tumblr account and use it for something other than reblogging.
- tomjen3 14y agoAnd I who entered this business because I liked to deal with computers, rather than humans. How do I avoid becoming a writer, while still being able to have a job as a software developer?
- schmrz 14y agoMost of us like handling computers more than humans but it's not really that black and white. In order to get the most out of your career you will need to learn how to handle humans too. That of course doesn't answer your question. You can probably keep your job whilst having poor communication skills but that will be a (significant) limiting factor for you.
- tomjen3 14y agoOh I should have been much more accurate. I hate having to be a communicator, I don't mind handling people -- they are (in aggregate) a pretty interesting bunch and I love to figure out what makes them tick.