Giter Club home page Giter Club logo

tech-blog's Introduction

Signavio Tech Blog

This README provides a selection of tips, guidelines and instructions for bloggers.

Planning a blog post

What to write about

The best blog post to write is something that only you could write, however obscure the topic. In practice, this is likely to be one of:

  • A technical problem you solved, like a StackOverflow question and answer
  • A tutorial for something you learned how to do - a ‘How to’
  • What you wish everyone did differently - a lesson learned
  • Review/comparison of technologies that you have chosen between
  • Fun tech ideas you talked about over beers
  • A demo of something cool, however pointless

More topic ideas:

  • Announcement for a forthcoming Signavio Tech Talk meet-up
  • Presentation slides or photos of the previous Signavio Tech Talk meet-up
  • Book review
  • Masters thesis summary
  • Review of a tech meet-up event or conference
  • Experiences with a technology Signavio doesn’t use (hobby project or previous job)

Everyone has something to write about! See How To Brainstorm Talk Ideas, which mostly applies to blogging as well as presenting.

How to develop content ideas

All writers develop their ideas differently, but here’s a standard process that you can use.

  1. Keep a list of every idea that makes you think that would make a good blog post
  2. Test each idea at the coffee machine or over a beer by starting a conversation about it
  3. Use other people’s questions about the idea to learn what would be interesting to write about
  4. Practice arguing for different points of view to discover what you want to convince people about
  5. Make notes for any points you make that sound particularly intelligent or funny
  6. Try writing up your notes to see what you can write a paragraph about
  7. When you have a number of paragraphs, trying organising them into a few sections, with headings
  8. If you don’t know what to do next, ask someone for input on what you have so far

Writing a blog post

Content guidelines

These content guidelines should give writers and reviewers confidence that we can publish a blog post.

  • Be nice
  • Keep blog posts short: 400-500 words is plenty; if you have more to say, save it for another post
  • Write for a developer audience: current and future colleagues, and your future self
  • Celebrate work you did, while giving credit where credit is due
  • Don’t write ‘this is the first post in a series’ unless the whole series is already published
  • Don’t write anything that would violate our code of conduct
  • Don’t make Signavio look bad
  • Spellcheck your text
  • No stock photos

Blog post outline

You may find it easier to write certain kinds of blog post if you follow a standard outline. In general:

  • Start by explicitly stating the goal of the blog post, e.g. to introduce or teach some topic, so the reader knows what to expect
  • Describe concrete problems and concrete solutions before describing general techniques, to make it easier to follow
  • Finish with a conclusion about what you’ve written, or suggest next steps, so the reader feels like they’ve finished

A typical blog post might use some or all of the following outline.

  1. Introduction - one or two sentences on each of:
    • Purpose - the blog post’s goal
    • Scope - what you’ll cover and who it’s for
    • Summary - what you’ll be able to do by the end
  2. Specific problem
    • Describe a specific problem, ideally one you’ve actually faced
    • Why did you want to solve this?
  3. Specific solution
    • Solve one version of the problem, ignoring variations
    • Break the solution into steps
  4. General solution
    • Describe the rationale for your solution, e.g. In general, …
    • How broadly could you use this approach?
    • How might you approach variations on this problem?
    • How could you improve on this solution?
    • What other approaches did you consider?
  5. Conclusion
    • What did you learn?
    • Did you like doing it this way?
    • Would you try it a different way next time?
    • What are the next steps?

Using an outline can help you avoid getting stuck. First, pick a section and write one sentence. If you have more to write, keep going until you run out. When you don’t know what to write, pick a different section.

Publishing a blog post

Review guidelines

Blog posts require review before publication. We conduct these reviews on GitHub.

Content schedule

To start with, we’ll publish posts no more frequently than once per week. A reasonable expectation is that every developer in the company will publish one blog post in 2017. We should only increase this if we get a backlog of more than four or five unpublished posts.

How to publish a blog post

  1. Pick a URL-friendly ‘short title’ (a.k.a. a slug) to identify the post; you can change this later
  2. Pick a planned publication date at least one week after the previous post’s date
  3. Create a new branch in the repo, named post/short-title
  4. Add a file _posts/yyyy-mm-dd-short-title.md with the planned publication date
  5. Add a YAML front matter block, with a title, description and tags. Also, set the author variable to your full name. Wrap the title and description values in quotes.
  6. Write the blog post in Markdown
  7. Build the site by running Jekyll locally
  8. Commit, push to your branch, and create a pull request
  9. Merge to master once you’ve had at least one review and resolved any comments
  10. Contribute an improvement to these instructions, to make it easier for the next person to publish their first post

Adding images and files to posts

Post URL paths start with a year, e.g. /2017/, so put image files in the repo’s /2017 folder. To link to an image, use a relative URL starting with ../2017/ so that image paths work in both the GitHub file view as well as the rendered site. See existing blog posts for examples.

tech-blog's People

Contributors

dependabot[bot] avatar frontendphil avatar gisaklement avatar hilton avatar jbreckel avatar jfschwarz avatar katsharp avatar kczovek avatar mersocarlin avatar nfaupel avatar pascalism avatar robert-gurol-signavio avatar rstiles avatar sebastian-friedrich avatar silentgert avatar skalka7 avatar timkam avatar tzimmermann avatar workflow-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tech-blog's Issues

Theming front ends

Having a nice layout is the one thing. Being able to brand that to certain customers to raise acceptance is the other. Why is this important? What are the challenges? Should customers be able to do that themselves? What belongs in a theme and what not? @tzimmermann @jfschwarz

Footer layout mobile

On my mobile, the footer looks like this:

footer_mobile

I suggest arranging the items vertically on small-width screens.

Why you should / shouldn't do rich-text

Within Signavio (PE) we had / have trouble with rich-text formatting. While working on Workflow we almost went down the same path with react-mentions but then decided to not do that. Now with solutions like draftjs rich-text might become feasible again.

@jfschwarz or Astrid might have to say something about hat.

A world with Ext and react

It seems like the migration from Ext to React is a really interesting topic. However we might also never completely do that since both can exist next to each other. The reasoning behind that and also the strategies to tackle some problems are probably super interesting. @wtscheschner

Optimize image size

Some of the feature images are way too large. We should optimize the file size and ensure we don't include large images in the future.

The quest to common code

With an ever growing code base it seems obvious that everyone follows the same guide lines to write code. However this turns out to be a rather hard topic. How did you find good rules to adhere to? How do you get everyone on board? How do you evolve these rules? Why is this important? @johnny353535 @AnimiVulpis

Tell the world about substyle

We use this library everywhere. It changed a lot over the last months. Maybe tell the world the story behind all of that. What did you learn about styling? What are the challenges? How are we using it? @jfschwarz ;)

The benefit of Kotlin coroutines

Kotlin 1.3 makes the API of coroutines stable.

for Java developers this is a not very well known feature in general. We could describe how to use coroutines and what's the benefit compared to using threads.

Sandboxing Scripts

What you must know in order to run scripts in a sandbox. Why would you do that? What are the challenges? What are the obvious traps? What did you learn?

@SilentGert

Post gallery layout broken on page load

On my system (Safari 10.1 on macOS 10.12.4), the https://tech.signavio.com layout is broken on page load: some of the post summaries overlap.

broken layout

The JavaScript console doesn't show any errors when this happens.

Reloading the page once or twice fixes it. I don't see the same problem on Chrome.

A road to quality gates

At workflow we kind of already have that, so I might also talk about my experiences and how fear turned into trust. I'd also think the Koala team has some interesting insights when it comes how the rest of the company is moving to this structure.

Iyad, Stefan Weller, Sudanshu

Keep the lights on

How can you battle performance leaks with monitoring. What systems are there? How easy is it to track down the right places in the app? How is this incorporated into the development cycle? @nfaupel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.