Life Lessons I’ve Learned from Software Development
July 18, 2017
I’ve spent the last 1.5 years in the depths of the software development industry, albeit as a digital marketer, but regardless I’ve lived, breathed and studied the likes of it to better understand my industry. In this short time, I’ve learned many life lessons that can be drawn from the best practices we adhere to in software development that I’d like to share with you.
These revelations have influenced my approach to problem-solving, relationships and overall communication with others, and perhaps they’ll provide you with a different perspective as well. Here are 3 of the lessons that I’ve learned from my work in software development.
The Stable Kernel
Our company was founded on the concept of the stable kernel in software. A kernel is a computer program, an invisible layer, that connects software of the application to the hardware. It serves as the core of a computer’s operating system (OS) with complete control over everything in the system. As long as the kernel is completely stable, the rest of the system will operate smoothly and will be easier to build upon.
With this concept at the very ‘core’ of what we do, I’ve learned to focus on providing a strong foundation to build upon with any of my endeavors. Whether a marketing assignment, a relationship (personal or professional) or even as a figure skating choreographer (my side hustle), a strong foundation is key to quality, improvement and sustenance. How might this apply to a figure skating choreographer you may ask? Interestingly enough, when creating a routine for a skater, it’s important to understand that the program will continue to evolve throughout the course of the year. Certain movements, nuances, steps and patterns may be altered to challenge the skater as he or she grows into the routine, but for the routine to be performed optimally from start to finish, it must have a solid infrastructure. Lack of a strong base will leave the skater without structure or room to grow.
Listen to your users, encourage communication
In software development, we live by the appetite of our users; they determine much of our actions within the context of development. Without a heightened pulse on what their needs and wants are regarding the functionality and design of an app, we cannot deliver on our mission to provide our clients with the best apps to solve their problems. Beyond the users of our apps, we also require open and consistent communication with clients to sustain a healthy flow of information. Open communication allows us to set realistic expectations, meet deadlines, seamlessly make changes when necessary and of course, keep clients satisfied and continually updated on the progress of development.
While I may not have any defined ‘users’ in my life, I certainly have a number of people that I spend a great deal of time with on a regular basis. After seeing the emphasis on continuous user testing for feedback in app development, I have learned how important it is to truly listen to what users have to say and to adjust accordingly. In my professional life, I can’t stress how important it is to be open to feedback and to apply it in a constructive manner. In my personal life, it is crucial for me to really listen to what my partner has to say so I can understand how to address the concern and move forward. In all areas of my life, open communication lends itself in so many positive ways, but most importantly, it emphasizes transparency and keeps everyone on the same page.
At Stable Kernel, we deliver software focused on the concept of agile development or a system where software solutions evolve over time through a collaborative effort. We do not look 1 or 2 years out and tell you what to expect with your app. It would be a disservice to our clients to make presumptions about the app when we need time to understand how users will react, the effect of changing industry trends and the many other variables that significantly impact the app’s performance. Instead we provide a realistic set of expectations with an understanding that as the app’s environment evolves, so will the app.
I’ll admit the experience I’ve drawn from this particular approach to software development has had the greatest impact in my life. This adaptable, adjust as needed, approach has become my mantra in dealing with the everyday stressors of life. Though it is vital to have a framework to work within – with expectations and goals to work toward, I have come to learn the value in being flexible, adaptable and to take things in stride as they say. I’ve learned it’s unreasonable to look 2, 5, 10 years in the future and say this is where I’ll be and this is how I’m going to get there. Not happening. Much like software development, there are too many unpredictable factors that come into play to predict with any kind of accuracy what will happen. But what I can embrace, and what we at Stable Kernel ensure, is that our experience and expertise will inform each next step of the way, presenting endless opportunities for growth, improvement and success.