Professional Growth at Viewrail
Building a New Development Process for Improved Flexibility and Confidence
I greatly enjoyed working at Viewrail as a developer for ten months before
being promoted to a senior position.
The company entrusted me to lead the development of their
production ERP system, demonstrating their confidence in my
abilities.
The development of this system presented a unique opportunity . Our
development style needed structure as the project was still young. With the
team's support , we started building a process to enhance our
confidence in deployment while optimizing for responsiveness and
flexibility .
Team Building
Improving our Development Process and Work Culture
With the team's help, we proactively identified areas of
vulnerability and weakness and worked together to enhance
our workflow. Our efforts resulted in a significant improvement in
our development process and work culture .
Some of the improvements were:
Developing a robust deployment process that
included the use of a staging site in the deployment pipeline
Adding automated tests that protected mission-critical
processes
Building a code review process from scratch
Developing the idea of Total Ownership that positively impacted the
team culture .
Successfully updated software dependencies
that were up to two major versions behind.
Improved Productivity and Confidence
Tool Building: Real-time Monitoring and Dashboards for Mission-critical Diagnostics
With all of the remarkable changes we made, our productivity improved
significantly. We were able to implement features more quickly and update
our dependencies more frequently .
Ultimately our efforts gave us reliable confidence when we
deployed changes into production.
Some of the diagnostic tools that added to this confidence were:
Real-time monitoring of exceptions and logs
An innovative UI that monitored the job queue
A concise page that provided comprehensive audits
A unique tree-based explorer for our models and their relationships
A dashboard that showed mission-critical diagnostic data
Personal Development
A Lesson in Empathy
How Human Relationships Build Better Solutions
I had the privilege of working with the fantastic people at
Viewrail, who taught me an invaluable lesson about the importance of deeply
understanding a problem and empathizing with those it affects.
Understanding the bigger picture was critical in my collaborations
with various teams. Often, a problem seemed isolated to one group, but as I
worked with stakeholders, I discovered it also impacted other
areas. In such cases, empathy proved to be a powerful tool to
unite everyone and be a part of the solution .
I learned to:
Understand a problem in a deep and empathic way before implementing a solution.
Human Relationships
Software: Much More than Code
I had the privilege of working with the fantastic people at
Viewrail, who taught me an invaluable lesson about the importance of deeply
understanding a problem and empathizing with those it affects.
To understand a problem, I needed to broaden my understanding
and perspective . Doing so made me better equipped to collaborate
with diverse teams and stakeholders. Often, what may have initially
seemed like a problem affecting only one group , turned out to have broader
implications across multiple areas. Through my experiences , I've learned to
truly take the time to understand the full scope of a situation.
Empathy is crucial to building and maintaining dependable
relationships. When you experience a user's struggles with them, it creates
a powerful collaboration that can leverage their valuable insights .
This collaboration is priceless and helps uncover the
technical realities essential to providing a helpful
solution .
Software is more than
code ; it is about
people and how they work together to solve
problems .
Software Development is an exercise in human relationships.
Kent Beck
Software Design is Human Relationships: Part 1 of 3, Perspective
Responsibilities:
Primary Responsibilities While at Viewrail
Led the architecting and implementation of the company's
legacy ERP system into a modern technology stack
Worked with the many teams and stakeholders of the company to
move features into the new system
Implemented automated testing and improved the deployment
pipeline
Simplified the database through schema changes and data
migrations
Was the primary person responsible for keeping the systems
running and available
Was responsible for code reviews, training, collaboration , etc