Tech Blog

Restraint-Driven Development

September 28, 2016 Jeff Read

Excellent Software Engineering is as much about the code you don't write as it is about the code you do write.

Keep reading.

Technical empathy

August 31, 2016 Colby Natale

Proficient developers don’t just know how the code works, they can also effectively articulate the business value to others.

Keep reading.

Non-Existent Python Mock Convenience Methods: A step toward sanity

July 20, 2016 Colleen Hardie

Read about one of many potential solutions to the unintentional use of non-existent mock convenience methods.

Keep reading.

A survey of concurrent programming

June 8, 2016 Kevin Sookocheff

Learn how to design for concurrency with this survey of concurrent programming patterns and techniques.

Keep reading.

We are ruthless on code reviews

April 27, 2016 MacLeod Broad

An open letter apology to the new recruit who is feeling discouraged.

Keep reading.

5 ways to find focus in the workplace

April 13, 2016 Rachel McClung

Finding focus throughout the workday isn’t easy. Here are 5 ways one of our visual designers gets to an optimal state of productivity. Read her blog post now.

Keep reading.

Don’t build in the dark: monitoring your microservices

March 16, 2016 MacLeod Broad

Faced with complex code, we knew we had to change our approach. Read on to shed light on complex microservices using monitoring-driven design.

Keep reading.

Code refactoring: helping your team help you

February 24, 2016 Colleen Hardie

To maintain modularity, readability, and testability, we must accept code refactoring as a fact of life. Find out four keys for code refactoring success.

Keep reading.

Code reviews are cultural

February 10, 2016 Dustin Lessard

Get insights from one Workiva developer on the importance of code reviews to the Workiva software engineering culture.

Keep reading.

Software testing methodologies 101

January 27, 2016 Matthew Balvanz

Testing is crucial to building a good product. Read the blog to find out what various software testing methodologies are available.

Keep reading.

Gressing: a new strategy for motivating developers

January 13, 2016 Colby Natale

Gress comes from the Latin root meaning to step. Read on to find out why the act of gressing is important for motivating developers.

Keep reading.

Two types of developers: deliberate v. intrepid

December 30, 2015 Colby Natale

Does it have to be one or the other? Find out more about the relationship between two types of developers: deliberate and intrepid developers.

Keep reading.

Understanding APIs: misery to mastery

December 16, 2015 Dustin Lessard

We each have a limited supply of cognitive reserves. Learn how to invest wisely when understanding APIs.

Keep reading.

Unobfuscating unicode ubiquity: a practical guide to Unicode and UTF-8

December 2, 2015 Mark Gollnick

Read this blog to learn the importance of Unicode and UTF-8, and how to consider both when developing to avoid errors when attempting to transcode text.

Keep reading.

These aren’t the DART event listeners you are looking for

November 18, 2015 Colby Natale

The culprit of the repetitive error: a DART event listener. Find out how ambiguity in the code found the listeners you are looking for.

Keep reading.

Engineering quality

November 4, 2015 Jeff Doll

Get insights into how Workiva has developed exceptional engineering quality through continual adjustments in how the applications are tested.

Keep reading.

3 steps for building highly effective teams through communication

October 21, 2015 Ross Hendrickson

Learn how to build more effective teams through improving how your team communicates with one another.

Keep reading.

Wrestling with Postel’s Law

October 14, 2015 MacLeod Broad

Find out why Postel’s Law could be eroding your design quality and leaving you stuck in Postel’s Cycle.

Keep reading.

Insight into the role of a manager: asking questions

October 7, 2015 Dave Tucker

Get insight from a manager himself into the role of a manager, why they ask so many questions of their developers, and how to handle it.

Keep reading.

Arrested development: enigmatic Boolean parameters

September 23, 2015 Dustin Lessard

Find out why enigmatic Boolean parameters make the lives of developers more difficult and how clarifying the context can help.

Keep reading.

Breaking and entering: lose the lock while embracing concurrency, Part II

September 10, 2015 Tyler Treat

Read part 2 of 2 in this series to take a deeper look into how and why we are applying lock-free techniques.

Keep reading.

Breaking and entering: lose the lock while embracing concurrency, Part I

September 2, 2015 Tyler Treat

Read part 1 of 2 in this series to learn the problem of subscription matching for messaging systems, how it can be modeled, and linearizability.

Keep reading.

The importance of face time with our users

August 27, 2015 Dave Tucker

Learn how designers and engineers at Workiva use customer feedback to build the new features that make our users’ lives better.

Keep reading.

9 tips for smart software engineering

August 12, 2015 MacLeod Broad

Some tips are experienced, not learned. Here are nine software engineering tips to make your next project smart, holistic, and rapid.

Keep reading.

Managing developers: improve everything you touch

July 29, 2015 Brad Benjamin

Learn what one manager wants to teach all developers—to approach processes differently and improve everything they touch.

Keep reading.