Kristina Thai: Become a Better Engineer Through Writing

1fa9cb8c7997c8c4d3d251fb5e41f749?s=47 Realm
June 15, 2016

Kristina Thai: Become a Better Engineer Through Writing

1fa9cb8c7997c8c4d3d251fb5e41f749?s=128

Realm

June 15, 2016
Tweet

Transcript

  1. 4.

    @kristinathai kristina.io Engineer Checklist* 01 02 03 04 “Soft” skills

    Communicates well Passion for learning Learns from mistakes Teacher/mentor * not a comprehensive list 01 02 03 Technical Skills Strong coder Domain expert Problem solver
  2. 7.

    @kristinathai kristina.io Code and essays have a lot more in

    common. The product is a sequence of logical statements, bundled into modular units – whether it be functions or paragraphs. Like good prose, good code is concise. Bad code wastes CPU cycles; bad essays waste brain cycles. “ http://www.shubhro.com/2014/12/27/software-engineers-should-write/ -Shubhro Saha
  3. 11.

    @kristinathai kristina.io Personal Journal Benefits ✦ Reflection time ✦ For

    your eyes only ✦ Easy to get started Challenges ✦ Hard to keep up ✦ Doesn’t benefit anyone 
 else ✦ No one to correct you if
 you’re wrong Engineer Checklist Coding skills Domain expert Problem solver Communicates well Learn from mistakes
  4. 12.

    02 Developer Q&A Forums ✦ places to get help with

    your technical problems ✦ knowledgable experts answer questions ❓
  5. 15.

    @kristinathai kristina.io Developer Q&A Forums Benefits ✦ Learn what others

    are
 struggling with ✦ Easy to pick up
 whenever you want ✦ Bite-sized chunks ✦ Builds reputation Challenges ✦ Negative comments ✦ Overt hostility ❓ Engineer Checklist Coding skills Domain expert Problem solver Communicates well Teacher/mentor
  6. 20.

    @kristinathai kristina.io Blogging Benefits ✦ Public exposure ✦ Build reputation

    ✦ Reflection time Challenges ✦ Lots of time & 
 commitment ✦ Keeping your blog fresh
 & unique Engineer Checklist Coding skills Domain expert Problem solver Communicates well Passion for learning Learn from mistakes
 Teacher/mentor
  7. 21.

    04 Technical Tutorials ✦ step-by-step technical walkthroughs that teach others

    
 how to do something ✦ usually has a working demo project
  8. 24.

    @kristinathai kristina.io Technical Tutorials Benefits ✦ Best to build reputation

    ✦ Reinforces learning ✦ Build full projects Challenges ✦ Even MORE time 
 & commitment ✦ Find unique & undiscovered
 solutions Engineer Check Coding skills Domain expert Problem solver Communicates well Passion for learning Learn from mistakes
 Teacher/mentor
  9. 36.

    @kristinathai kristina.io Engineer Checklist 01 02 03 04 “Soft” skills

    Communicates well Passion for learning Learns from mistakes Teacher/mentor 01 02 03 Technical Skills Strong coder Domain expert Problem solver
  10. 38.

    @kristinathai kristina.io Personal Journal Easiest way - create a private

    online one ✦ Creating a private Tumblr ✦ Adjust privacy settings on wordpress.com Offline Journals/Other writing platforms ✦ Day One app ✦ Evernote ✦ Atom/Sublime Text
  11. 39.

    02 Developer Q&A Forums ✦ places to get help with

    your technical problems ✦ knowledgable experts answer questions ❓
  12. 40.

    @kristinathai kristina.io Developer Q&A Forums Number 1 thing to keep

    in mind - community rules and communication styles on these forums Getting started with Stack Overflow Getting started on Quora
  13. 42.

    @kristinathai kristina.io Blogging Blogging platforms - hosted Getting started with

    Medium Github pages + Jekyll Ghost.org Blogging platforms - self-hosted WordPress.org SyntaxHighlighter plugin Wordfence Security plugin
  14. 43.

    @kristinathai kristina.io Blogging Blogging process 1. Decide on a topic

    2. Lay the foundation/describe the context 3. Highlight various approaches 4. End with most optimal solution ✦ Or a question if you haven’t figured it out yourself
  15. 46.

    @kristinathai kristina.io Blogging Motivation ✦ How do I keep up

    with it all: blogging, online life & more ✦ 5 ways to keep your blog content fresh ✦ How do I start a blog and keep it up? - Quora ✦ You should write blogs ✦ Software engineers should write
  16. 47.

    04 Technical Tutorials ✦ step-by-step technical walkthroughs that teach others

    
 how to do something ✦ usually has a working demo project
  17. 48.

    @kristinathai kristina.io Technical Tutorials Tutorial creation process 1. Decide on

    a topic ✦ Doesn’t have to be all encompassing ✦ Determine your audience ✦ Latest questions on Stack Overflow 2. Create working project/write working code samples
  18. 49.

    @kristinathai kristina.io Technical Tutorials Tutorial creation process 3. Create step-by-step

    tutorial based on project/code samples ✦ Resource: how to write a programming tutorial ✦ My first tutorial ✦ Screenshots & copy and paste code snippets ✦ Starter code project
  19. 50.

    @kristinathai kristina.io Technical Tutorials Tutorial creation process 4. Upload sample

    project to GitHub 5. Upload tutorial to website 6. Advertise on Twitter/other social media ✦ #iOSdev #swiftlang #watchOS ✦ Newsletter accounts & influential people ✦ Post to answer a Stack Overflow question
  20. 51.

    @kristinathai kristina.io Tips for getting started Don’t have to be

    THE expert Check out your side projects Find a blogging buddy