Engineers Should Blog
insights.excitingrole.com
insights.excitingrole.com
Soft skills helps you grow as an engineer, it's true, but I think it's important to understand that not every exercise should become a public material.
But, in a generation publishing their every 2nd gym workout on instagram, who am I kidding anyway.
It's also easier to sit down and come up with a well thought through answer that you can link out when asked again. Opposed to paraphrasing each time and potentially missing key points/clarity.
For example, I wrote this up after meeting lots of clients when I was freelance who were regularly questioning why they couldn't find technical co-founders > https://hackernoon.com/developer-risk-profiles-why-you-wont-...
Also, writing is a skill. The more you write the better. That means you will sometimes write shit. Thankfully, you can go back and rewrite your early work when your skills improve.
I normally write short posts and then revise them afterwards as many times as required. In fact, I edited this post to add more info.
This is the issue. The latest generation has been told to constant work on their personal brand (ugh), and blogging is one way to do it. Though if we're working together, keeping the engineering wiki up-to-date is probably more helpful for the team than a some Medium fluff piece.
Don't get me wrong, there are some great blogs out there (e.g. A List Apart), and there's a benefit to a blog post reaching 100 people versus a Stackoverflow answer relevant for 10, but I think those that will blog well will do it naturally ("hey, people have been asking about this a lot, I should share a write up").
If everyone just contributed more by answering questions, or updating wikis, that'd would already be hugely beneficial, but to tell people sit down and write long-form is asking a lot. And JCDenton2052 also mentions the possibility of fucking up the signal-noise ratio.
This sounds a lot like saying, "You should only learn to code when you have something useful you want to build. Something useful for other people".
You can't write a good blog post without having already written some number of bad ones. If you think you might someday have something to say, you should practice blogging.
Writing a post without intending to publish is similar to writing pseudocode, never intending to compile. With great discipline one can learn to write good quality code without compiling it, but if you intend to compile, you actually think differently and produce better quality code.
* That may be true for producing better code in a particular programming language or family of languages, but not designing better solutions. Designing software including prototyping and pseudocode independent of the constraints of a particularly development environment is invaluable. Too often I squish my problems to fit the tools I know best.
* Depending on the audience writing can be very different. This feels like a different spectrum of communication. I mentor teammates in improving all forms of written communication and this often starts with connecting with the audience of their email.
* Journaling (keeping a dairy) is being shown in recent studies to have all kinds of health benefits.
* For sure, and most people get a lot more practice with certain kinds of writing (email, technical documents, HN comments) than others. Blog posts generally have a certain audience in mind (you can specify at the beginning of the post which audience you're targeting, if you want), and it's a very different audience than most forms of writing. You should write blog posts if you want to get better at that.
* I don't contest the value of writing for an audience of one. It's just different from writing to an audience of a blog (even if that audience is mostly theoretical).
I should note that I disagree with the statement "every engineer should blog", as it has the usual failings of sweeping statements. However, if you wish to become a better writer, and in particular a better writer of content that can be widely understand by a relatively vaguely defined audience, then I highly recommend blogging.
To add to this, I'd say: if you don't have a writing habit, the barrier to actually writing something when you do finally have something useful to say will be incredibly high.
I am willing, however, to give the GP the benefit of the doubt because they said "Engineers should blog publicly when they have something to say", not "Engineers should blog when they have something to say". Practicing writing does not mean that you have to publish everything.
And thankfully, technical blog articles don't attract too many comments on average. Quite often I find that a blog article on a technical point actually advances discussion on that idea.
All I would say is to make a honest effort. Try and do a basic rewrite before hitting publish.
Yes, you need a good guide, good general principles so that you're not practicing in the wrong direction. And yes, you need occasional "recitals" where you test audience reactions. But 99% of the work involved in developing any skill is just raw, rote repetition that most audiences are not only not interested in, but actively avoid.
Fair enough. I can see why my comment came across as if I said there were no other options.
But my point is to use resources at your disposal. One of the amazing resource at our disposal today is the ability to cost-effectively publish a half-baked idea on our website knowing that a) that could still be useful for a small section of people and b) its mistakes could be corrected by another small section of people who know the topic in greater detail and c) all this happens in such a way that everyone is, quite literally, "on the same page".
I love writing. I put more than half of mine in a drawer. A drawer is a wonderful place for of unfinished drafts that aren't ready or aren't working.
I don't know if everyone should write; that feels presumptuous. But if you do, I highly recommend a drawer.
I say - write as well as you can and as much as you can, and don't worry about quality. And if putting it online helps to motivate you - go ahead, use every tool you need to keep moving forward, because that is what matters, this is the only thing that matters.
There's been so many times when I was not sure whether my post was worth publishing, and then have received overwhelmingly positive feedback. And then there's been plenty of times I've written something I'm really proud of, and nobody cared.
So don't worry about the drawer, and don't worry how good your writing is, or "whether you should be a writer". All that's gonna do is make you insecure and stand in your way.
Just put yourself out there, even if you're feeling uncertain. Writing always has positive value, to you and to people around. Worst case scenario - nobody will read it, so by putting it in the drawer, you're guaranteeing the worst case scenario.
Writing is never bad for you. It's like saying that you shouldn't be pretending to be a programmer, when you know you arent. What the fuck does that even mean?
First you aren't a writer/programmer. Then you pretend to be a writer/programmer, by attempting to do what writers/programmers do. Then, if you keep doing it long enough, you become one.
And yes, writing can be bad for you. You sound like someone whos very attached to the idea that writing is good, but maybe lacking in reasons.
Writing, like everything, takes work. For a lot of people its a complete waste of time.
To me, most writing has no value.
I would like to know how writing could be bad for you. Please elaborate.
He seems like he doesnt even know why he thinks writing is good, and if i were him id be a little embarassed.
Please do elaborate and explain how and why I should be ashamed of myself because I really don't know how writing can ever be bad for anyone.
For example, the most popular article on my blog is about the TCP "time wait" state on Linux. I knew for years how it worked and wanted for people to stop blindly use some sysctls. Therefore, I thought, what's best than a blog post to spread some awareness on this? But, for every sentence, I had to be sure that this was true. So, I checked, I tested. It took me a lot of time. I would never have done that if this was just for my drawer. My drawer never sets random sysctls and my drawer doesn't know better than me, nor it would shame me for telling incorrect stuff.
It's like publishing as an open source project: you have to be more rigorous in what you publish. There is some balance to find.
The open source analogy is actually pretty good. Some projects you know you how to go about right away. But when you're not sure, start anyway; rough drafts are like prototypes. Dropping a few (not all) can be part of the process.
The benefit of blogging isn't just to broadcast your knowledge but creating a place to discuss the subject and learn something yourself.
I find it strange that this is the top comment on a forum that wouldn't exist if engineers didn't write publicly. This site is curated from a wide pool of writing and and would benefit from more people writing. Whether something is worth saying is a very subjective call and I don't see how your opinion should dissuade someone from writing.
100% hit. I do write sometimes on StackOverflow to give back some help to the wonderful minds over then Internet, because, sharing knowledge is what makes the whole engineering better. What percent of clickbait attention-craving blogging does share some useful insight and/or knowledge?
>I find it strange that this is the top comment on a forum that wouldn't exist if engineers didn't write publicly.
Maybe because you didn't understand the core meaning of the comment? (I address this equally to my writing skills: English is not my first language). It's not "engineers shouldn't write", at all.
Look, here's an example, which emerged this morning as a pure coincidence:
I have a almost-finished blog post draft in front of my eyes my colleagues and I have been writing some time now. It outlines a problem we've stumbled, and, we believe, many other engineers have stumbled or will stumble upon quite soon (while migrating their code from Go 1.3 to 1.6 and further). The problem is exceptionally boring and stupid. We took extremely boring un-brilliant way to solve it.
The engineer who first encountered could've just written something like 'go memory management sucks', or 'how go moves forward and breaks my stuff in production', a million-and-first post about minor opinion. This is what I call useless noise, and, when used for self-promotion, quickly becomes click-bait out of desperation to get at least some attention.
Instead, we've fixed the issue, and in spare time have been slowly adding detail, reproducing cases and generating isolated statistics exactly for this case, and it grew into useful piece of knowledge for regular engineers (like we are) not to repeat the stupid mistakes we've done.
It is not as immediately rewarding, to sit on it longer until your writing has at least some utility for others, and will pay them off for the time and attention and context switch they've invested into you. This is what matters, not the "exceptionality" of engineers who are writing this.
Many want to sell their services and write long articles because its not as spammy as short snippets. But we should able to tell clickbait.
I mean there are too many clickbaity articles on the internet, arent there ?
Some small grain of my writing becomes decent enough (English is not my main language) that my employer takes it and uses somewhere.
Because, I believe, writing is important. Noising everything around with your writing isn't important and isn't even OK.
There's even nothing wrong with using writing for promoting yourself, if there are great things you can share with the world. There are a few dozen blogs I read over weekend, some of them are obviously self-promotion driven to attract attention to services or products; but they give me insight into new things in extremely polite fashion, and I love it. But only when the first phrase of my initial comment is valid:
Engineers should blog publicly when they have something to say.
I have been blogging for over a decade and have definitely had some positive experiences, including a co worker finding a post when searching for a solution and an interviewer checking out my blog and mentioning it. I have also had a small bit of work come to me directly because of my blog. (However my blog is pretty unfocused in part because I am a generalist and primarily wrote for myself. I am sure a focused blogger could do better.)
However, the most important thing is to get started with some kind of public presence. If SO or HN or github are what you feel comfortable with, start there. Don't be an anonymous programmer.
If you are looking to blog, I think you should plan to stick with it for at least a year. Nothing is sadder than the abandoned blog. Here are some motivational tips: http://www.mooreds.com/wordpress/archives/2129
4. The topics I want to blog about are controversial.
That is, strong but controversial opinions on certain technologies are just as likely to help you get noticed as hurt you (i.e. get noticed in a negative way.) Even if the topic isn't technically controversial, it can still be a negative. Revealing that you helped {religious minority church} set up their network, or that you solved a problem with {porn website} can also put a mark on you that is not automatically good. Heaven forbid you worked for/supported {political organization} this election cycle.
So the answer is, of course, to self-censor. You have to strip out your opinion and context and only blog about technical details that you are very confident are correct. Keep your jokes gender neutral and your insights limited to your profession.
But that's boring. That's not blogging, it's writing a corporate memo. We've just ratcheted up the difficulty, limited the new thoughts you're allowed to think, and made you invisible to all hiring managers who can't recognize when your technical manuscript applies to their industry.
But you could look at the flip side of that and say that this is actually filtering out opportunities wouldn't be a fit. Much like qualifying leads in sales is something you want to do as quickly and easily as possible, doing the same for employment opportunities can help you focus on organizations where there is a culture fit.
With respect to your example, if an employer was offended by your support for a minority group or political candidate, is that an employer you'd feel comfortable bringing your whole self to work at?
I may be hopelessly Pollyanna, but I think I'd avoid that type of situation. If you are a software developer and those are the only type of opportunities you have access too, I agree, you should avoid blogging about such controversial topics. Or get good at remote work.
I think the way to get around this is to stick to your best evidence as much as possible to back up your opinion, and try not to stray too far from it. That makes the conversation about the evidence, and not your "out there" take on things. For example, if you're pushing TDD (which has experienced a bit of a backlash of late), you might cite something like https://www.infoq.com/news/2009/03/TDD-Improves-Quality or http://blogs.ugidotnet.org/luKa/archive/2010/06/27/scientifi... which is a list of studies .
If I was interested in assessing someone's caliber, I'd rather look at their Github than their blog. Anyone can write a blog post, not everyone can write good code.
Blog if you have some insight into technology that hasn't been already elucidated or if you disagree with what's out there.
Having said that, I plan to start my own blog at some point. What will I be writing about? I'll start with reviews of technical books. Why? Because I have read a couple since the beginning of the year that I was unhappy with and had to return, but bought them in the first place because other people said good things about them. Hopefully if someone in the future considers them they will come across my view and take it into consideration.
"not everyone can write good code"
Not everyone can tell what's good, what's not, and why.
And searching through 20x the amount of code now to find something that a) works, b) is documented, c) is kept up to date (and is also accurate/correct) - just gets harder the more 'stuff' gets published.
Many hackers are great at what they do, actually producing working, sensible products, but aren't bloggers. Sure, if you can do both, all the more power to you. People who can't blog (out of desire or time or just because they don't like writing may be) shouldn't be seen as any less a hacker because they don't. The best way to gauge a person's ability is their work, which github, et. al. is supposed to provide.
[0] https://techcrunch.com/2015/02/28/beware-the-pretty-people/
But can "anyone" wrote a good clear blog post that explains a problem, talks about a solution and some of the plusses and minuses of alternatives? Can "anyone" maintain a blog for a number of months or years?
I'd say these are differentiating features.
This is very true. There have been many, many times when there's a technical article on the top of HN on a topic that I would never have imagined writing about simply because it seemed too basic or "entry-level". There have even been a few topics that I had actually considered writing about but dismissed it, thinking to myself "nah, everybody already knows that".
-- William Godwin
goo.gl/wylZZm
I read (or rather, try to read) plenty of poor technical writing linked on HN and Lobsters every week. Because a lot of people blog as a form of self-documentation and to improve their "personal brand" activity, people rarely give or listen to writing criticism.
I ran into an issue with some HP ProCurve switches that HP basically said "yeah, that can't happen". It was only after writing it up -- along with a video -- and someone from HP reading it that they reached back out to me, flew an engineer out to "witness" it firsthand, and fix it. Later, they flew me out to Roseville for a few days to hang out with some of their engineers. Later, they invited me (and paid all my expenses) to attend an HP Tech Day as well as Interop NYC.
In addition, I was invited to attend several Net Field Day [0] events where I got to hang out with some very smart people in the networking industry in Silicon Valley. Stephen Foskett, the guy behind NFD, knew about me from my blog.
Also, while I was at one of the NFD events, I got an e-mail from someone who "knew me" from my blog. An ISP in my area needed a new Network Engineer to replace their main guy who had just left. They were about to start doing some new things and needed someone with lots of experience with OSPF and BGP in particular. After I returned, I met the owners to chat over breakfast one morning. I've been working there a little over five years now.
I've done a handful of small "side jobs" as well, mostly for smaller companies whose IT guys found me via a Google search and reached out to me for assistance.
Last, it's certainly not making me rich but (even though I really haven't written much in the last five years) the ads that appear on my blog (and Youtube videos) still earn enough so that Google has to send me a 1099 every year. Beer money. :-)
ETA: I actually wrote up a similar post, "Why You Should Be Blogging" [1] in 2011. It was kinda sorta aimed at others studying for Cisco exams but I think it's probably general enough to apply to the HN crowd as well (I haven't re-read it recently, TBH).
[1]: http://evilrouters.net/2011/10/20/why-you-should-be-blogging...
It'll be the mark of a good writer to properly cut the content from the fat.
But this isn't about being a good writer. It's about improving your own understanding and simply widening our dataset of known engineering practices.
Multiple times now it's been an obscure blog post found on google that's given the answer to those issues.
When you learn to do something useful that other people will likely also have to accomplish at some point in time, write it up. Not only will it benefit people out there in the world, but it is also a great way to ensure that you yourself don't have to reinvent the wheel a few years down the line. Who remembers the details after that long? So write it down, and if you write it down, you may as well publish it.
Also, if someone, somewhere, has written up nearly ever common solution, how do I know which ones are novel enough to put the effort in to publishing. Most of things I build aren't novel or new in any way, I'm fairly sure.
Great point, but I think most folks aren't going to be persuaded. I asked a tech meetup how many folks had read from stackoverflow the past month. 95% of hands went up. Then I asked how many folks had answered a question. Far fewer, maybe 10%. And I think I was the only person who had asked a question on the site.
The 90/9/1 rule is real.
But I agree, we should encourage folks to join the 1% of content creators.
Then I realized he means a text editor (though he's an editor himself)
I've built a business off of writing: https://lsathacks.com/explanations/
I got started by writing a travel blog during a yearlong trip. I posted each entry to Facebook. When an entry got a lot of comments/views, I could tell it was better. I also got confidence that I was writing well.
As I kept writing, I always made sure to show my work. And I found that reading aloud helped me find awkwards parts.
Finally, I got started during a time when I was reading lots of blogs and novels. Good reading will help your writing.
That's about it. Practice, tempered by feedback and observing the work of others.
I disagree! Maybe the relationship is less direct but practicing skills like writing, speaking and networking is one of the best ways to improve (reading about sick skills is another)
That transferred directly to my later technical writing.
You can also do technical writing, share that with a few technical friends, and get feedback.
I don't think any of my comment was about doing technical writing immediately though.
So poorly written, navel gazing, clickbait titled, troll bait articles about how X tech sucks and we used Y and here's what happened next™ posted on Medium?
I'd rather not blog at all if what's popular on HN is our goal :-)
Side note: not every reviewer is a good one.
As a freelancer working from India - this stands true even for the good experienced freelancers in India. Upwork (and Elance that is now Upwork) make it hard to get good rates - forget about raising rates. And when Elance merged to Upwork - it just made it harder to filter out good clients (I had some respect for the former Elance). Most buyer's have this perspective - "You are from India, your cost must be cheap!". Add to that rated courses on Udemy that underline "Get your work done at 1/10th the cost" (that I subscribed too) and similar stuff on YouTube.
Blogging helps. Mine is a pretty small one. But I got quite a few leads from my blog and at one point I was heavily overloaded with requests that would give me acceptable rates. I stopped writing for 6-8 months and the leads stopped coming in. Also, these days video-bloggers(good ones) get to take much of the leads.
I certainly agree that public comments on the internet can help people get a sense of who you are, but just like sharing on Facebook or any other infinitely long lived expression of opinion there is also a huge down side to it. A number of good engineers have been fired over the years by blogging an opinion that their manager didn't like or mentioning an activity that their employer felt violated the inherent NDA in place in any employee/employer relationship.
People like engineers and other folks with technical jobs have some of the best writing material to work with - all they really need to do is recount their day's work and the problems they've encountered, and any non-expert interested in the field can read and learn from it.
There is a plumber who lives in my state who publishes video documentation of every job he goes on. Since I'm not a plumber, I learned a ton from these videos. All of the things he did would seem basic to anyone in his field, but for a lay person like myself, his videos were extremely educational.
Damn... I never thought of this. Great idea.
I also prefer a conversational style so that needs a others who are engaged and want to discuss things, otherwise it seems like I am broadcasting into the ether with nobody potentially ever reading or seeing it. Well technically it would be showing off for the potential recruiters here. But so far I never had problem getting good offers without the blog. I don't have Twitter Facebook, G+ or a LinkedIn. My GH profile is probably how they find me, which is fine so far. Also probably language specific mailing lists.
This particular post only took 30 minutes to write - they can be short and sweet.
In particular, from my own experience in blogging/twitter etc, getting an audience is a really hard thing to do, so much so that years later I haven't succeeded yet.
On top of that, what about people who don't blog because they feel they have nothing interesting to say? Why should I write about my experiences with moving to modern javascript practices when 500 other people have already written the same thing, said all the same things I would have and actually have an audience that gives a shit?
Oddly I love speaking at conferences...maybe because some nonzero audience is more or less guaranteed?
The only thing I learned from the project is that I really don't like blogging, I want to build stuff.
I thought the definitions of false negative and false positive were the opposite.
I think far too often people try to get their name out there and even though they should be writing for a specific crowd, in reality, they end up alienating the very people they were trying to tailor to. The writing should always be for yourself and in that way you will reach the right people. Let the rest fall into place.
Another funny thing is that you never know which posts will be popular. On my blog three old posts generate over 70% of the traffic. Some people have found them informative, and linked on a couple of pages.
I think Wordpress still has one of the most outstanding install experiences, but keeping it up to date is a pain.
I have tons of experience doing hardened WP installs(and compromise root cause) but almost no experience USING it haha. I'd prefer not to go down that rabbit hole if something like Jekyll is sufficient.
Might not be right for you, but I had to bring up the easiest, the truly minimalist, hey, the original way to it.
(downside is that you can't as easily tie it to a personal domain name)
It gives you more than enough out of the box to put together a reasonable site without compromising anything too important.
Everything you need is there (comments via disqus, syntax highlighting, pagination, etc.).
Even with complex stylesheets and asset minification on hundreds of images and dozens of pages it reloads in development in about 3-4 seconds.
Yep. That one is quite nice.
There is a bit of a learning curve, but actually using it is great. All your content is versioned, there are always backups, performance is most excellent, and security is a complete non-issue since there is no server-sided logic involved.
I also like writing articles in Markdown. It's a good fit.
The git/md combo also allows you to write anywhere without requiring an internet connection. I do write quite a lot during my train commutes, for example.
Engineer should sharpen theirs skills on github. During interview github profile is much larger hiring factor than blog.
It certainly is a waste of time for improving your engineering skills, it's a myth. But it isn't for PR, which is very important these days even to get somewhere in software engineering, not to mention for pushing any kind of product or attracting other engineers to hire.
That nearly doubled my income.