SEP Blog
We’re curious people by nature. And we love to teach others what we’ve learned. So explore our blog to gain fresh insights from our expertise in areas ranging from culture to AI.
SEP Wins TechPoint’s 2024 Innovation Service Partner of the Year Mira Award
SEP Recognized as Indiana’s Top Innovation Service Partner, Winning TechPoint’s Prestigious Mira Award Westfield, Indiana – SEP has been named the Innovation Service Partner of the Year by TechPoint at the 25th annual Mira Awards. The Mira Awards, Indiana’s largest…
Read Full Post
Back Story As I was drafting some new blog posts, I was exploring some stuff on the technical side. Part of that was using WSL (Windows Subsystem for Linux) to set up git. Since the Windows 10 Creators Update just dropped, it came with a WSL of Ubuntu 16.04. Not too shabby. Since I’m a […]
Read Full Post
Code Analysis: Methods
We’ve already gone through a lot of different programming language constructs, however we haven’t really talked about a very highly used feature. How do we think about methods using these diagrams. So there’s a lot we could talk about methods in general, but I want to avoid any specific digression into what object oriented and […]
Read Full Post
Code Analysis: Exceptions
void Function() { try { RunOtherFunction(); } catch { Log.Error( "Problem" ); } } void RunOtherFunction() { if ( a_okay() ) { OtherFunction(); } else { throw new Exception( "Error" ); } } Exceptions are a thing that we tend to use for signaling error conditions such that the error will be dealt with in […]
Read Full Post
SEP Acquires Visual Story Mapping Software, CardBoard
CARMEL, Ind. (May 22, 2017) – Carmel-based software product design and development company, Software Engineering Professionals (SEP), has acquired CardBoard, a collaborative design and story mapping tool. The product was previously owned by DevJam, a Minneapolis-based product development company that pragmatically uses agile/lean methods to their customers’ advantage. The acquisition will enable SEP to expand […]
Read Full Post
Bringing #NoEstimates into an FDA world
The last few years I have been part of a team that is building diabetes management apps for both iOS and Android. Our client partner is a global leader in the diabetes care market. We want our partner to be successful…necessarily we have to understand the constraints that they are working with in order to […]
Read Full Post
Code Analysis: Global State
Global mutable state by itself can make a program harder to work with because instead of having a call tree that’s simply a tree structure, you end up with more of a graph structure. Any given point in the program that interacts with the global state can be effected by any other point in the […]
Read Full Post
Code Analysis: Abstract Data Type
Abstract data types are a pretty well known concept in computer science and software engineering. The concept is pretty simple. If you have something that is complicated, then you can make it easier to deal with by only exposing an API that allows you to safely interact with the complicated component. Of course also known […]
Read Full Post
Code Analysis: Fluid Call Tree
Let’s elaborate on the nature of these call tree diagrams. Consider the following code: void doStuff() { doOtherStuff(); } void doOtherStuff() { init(); final(); } void blah( int x ) { if ( x == 2 ) { function(); otherFunction(); } else { doStuff(); } } Depending on the input for the blah function, we […]
Read Full Post
Code Analysis: Shared Mutable State
My previous post asserts that mutable state can cause a software engineer issues in understanding the program because it becomes arbitrarily hard to understand when two different parts of a program are actually connected. This is also why some sort of run time debugging facility is needed in order to understand some types of code. […]
Read Full Post