Blog Header Test 1

Engineering Blogs

Software Versioning: Because Dependencies Matter

It’s been a long couple of sprints, but your team has managed to pull together and complete the features promised for delivery. Your unit tests have passed, and you feel confident in rolling your changes out to production. However, there’s a last minute ask to fix a minor bug by updating one of your project dependencies. There’s no change to your code base, and everyone thinks it should be a low risk change, so it’s pulled in last minute. But as soon as the change is included, all the tests start failing, and chaos ensues. After a day of painful troubleshooting, it’s determined that the newer dependency broke backwards compatibility with your application, and your application stopped working as a result. Good version management could have helped you avoid this situation.

Software under active development evolves over time as bugs are fixed and new features are added. Simply releasing every change as soon as it's finished has a high potential of causing chaos. To help keep things simple, changes are usually bundled into a known good build and released together. However, since there are now multiple releases of the same piece of software, it becomes important to know what features and bugs are present in any given release. To distinguish these releases, software teams use various versioning schemes to tag their releases so they can easily communicate to their users what to expect in any given release.

Read More

Employee Spotlight on “Elementee” Enrique Meneses

Enrique is a software engineer based in the San Francisco Bay Area. Prior to Element he created a product at Careflow Solutions based on his work with health care standards for care planning and coordination of care. He holds a BS in computer science from the University of Colorado at Boulder.

Q: As a former entrepreneur, what skills were transferable from starting your own business to working at Element?

A: I had the opportunity to work with multiple health care clients from the early stages of an idea to building and delivering working products. I was lucky to connect with teams who valued user experience design and lean execution. That experience aligns great with the strong customer focus and agile execution of the Element teams.

My role was a mix of consultant and engineer. I worked with users from the early requirements phase, worked on architecture, design and developed the product (both backend and front-end) as a member of my client’s IT teams. I also developed my own product; so for the last couple of years, I've been operating in startup mode.

Q: Tell us a bit more about what you do on a day to day basis here at Element.

A: I build backend software for integrating information from the industrial internet of things (IIoT). I get to do functional programming in Scala, my favorite programming language. I am excited to be contributing to bringing together the diversity of industrial assets and high volume time series data to enable our digital twin platform for industrial transformation.


Read More

Employee Spotlight on “Elementee” Nina Garcia

Nina is a software engineer based in San Francisco. Prior to Element, she developed web analytics for Addthis/Oracle and sensor simulation environments for NVESD. She holds a BS in Applied Computer Science from George Mason University.

Q:  Tell us a bit more about what you do on a day to day basis here at Element.

A: Our team is responsible for the product that helps customers build and maintain dynamic digital twins. We’re making a big move in the way we store and query our data models, so I’m setting up feature tests for this new distributed graph service. We’re all getting to create as we go, since this stack is new in the big data community. Occasionally you can find me reviewing React code or implementing our design systems.

Q: What are some helpful technologies you’ve started using at Element?


Read More