Resilience in Code: Lessons Learned After 97 Days at War

Dor Amram
Similarweb Engineering
6 min readJan 22, 2024

Introduction

Three months ago, life as I knew it was upended. The onset of war in my country led to a swift and unexpected transition for many of us, including myself, from my role as software engineer to fulfilling civic duty in the reserves. This abrupt change left a profound impact, not just on me but on several of my colleagues who found themselves in similar situations, with some still serving. This blog post is a reflection on this shared experience, focusing on the unique challenges and learnings that come with such sudden transitions in my professional life.

Understanding the Process

The experience of leaving a familiar work environment for an uncertain future brought about a profound realization of the challenges faced in such transitions. The first lesson was clear: the importance of robust, adaptable processes in a tech team. When a key member steps away suddenly, the team’s ability to maintain momentum hinges on these established practices. In my case, and for many of my colleagues, the disruption highlighted the crucial role of clear communication channels and flexible workflows, which had been set up but not fully appreciated until tested by these circumstances.

The second lesson was about the resilience of our team dynamics. The absence of one or more team members can strain a team, yet it can also reveal the strength of the collective. It’s in these moments that the team’s adaptability and cohesiveness are truly tested. For us, it meant redistributing responsibilities, relying more on remote collaboration tools, and finding new ways to support each other, both professionally and emotionally.

The Essence of Good Coding Practices During Absences

In the whirlwind of our sudden departures, the underlying principles of good coding practices stood out as a beacon. These practices, often summed up as ‘clean code’, go beyond mere neatness. They encompass writing code that is not just functional but also clear, well-organized, and easily maintainable. In our absence, this approach to coding proved to be a critical asset.

The true power of these practices became apparent when we returned and seamlessly re-engaged with our projects. The code we revisited wasn’t a puzzle to be solved; it was a clear map, guiding us through the logic and decisions made in our absence. This clarity in code meant less time deciphering and more time contributing effectively, facilitating a smoother transition back into the team.

Moreover, these coding principles fostered a sense of ongoing collaboration. Despite not being physically present, the well-structured code acted as a continuous thread of communication. It bridged the gaps left by our absence, ensuring that projects didn’t just survive but thrived. This experience underscored the fact that good coding practices are more than technical necessities; they are vital for sustaining team momentum and adaptability in times of change

Personal Insights on Team Communication

During my time away and upon my return, the critical role of efficient communication within the team became increasingly apparent. It wasn’t just about staying in touch; it was about ensuring that the communication was effective and facilitated a smooth transition.

The essence of good communication in our team was rooted in clarity and precision. Every interaction, whether it was a quick update or a detailed discussion, was approached with a focus on clear, concise, and meaningful exchanges. This approach reduced misunderstandings and streamlined our collaborative efforts, making it easier for me and others who were away to reintegrate seamlessly.

Additionally, the importance of working cleanly and methodically played a significant role in our communication efficiency. When code, documentation, and project plans are structured and well-organized, they communicate as effectively as a well-crafted email or meeting. This clarity in our work products meant that a significant portion of our communication was already embedded in the work itself, reducing the need for lengthy explanations and clarifications.

This combination of efficient communication and clean working practices created an environment where information flowed smoothly and collaboration was effortless. It highlighted that effective communication is not just about the frequency or methods used but is deeply interconnected with how we approach our work. The efforts made by my team in maintaining these standards significantly eased the challenges of my reintegration, making it a cohesive and productive experience.

This experience taught a crucial lesson: the symbiotic relationship between effective communication and orderly work practices is key to team resilience and adaptability, particularly during times of transition.

Adapting to Task Nature During Transition Periods

There was a brief period during my absence when I was able to return to the team for a few days. This short stint back in the office offered a unique insight into how task assignments adapt during such transition periods. Instead of diving back into the deep end with mission-critical tasks, I was assigned to handle smaller, infrastructure-related tasks. This strategic choice by our team leadership proved to be incredibly beneficial for several reasons.

Firstly, these tasks, while less critical, were vital for the smooth running of our systems. They included minor coding tasks, system updates, and small-scale project management. This focus allowed me to contribute meaningfully without the pressure of immediately tackling complex, high-stakes projects.

Secondly, handling these tasks provided me with the opportunity to reacquaint myself with the team’s current workflow and technological stack. Changes, however minor, had occurred during my absence, and these tasks acted as a gentle reintroduction to these new elements.

Lastly, this approach had a positive impact on team dynamics. It eased the burden of my readjustment on my colleagues, ensuring that their workflow wasn’t disrupted by my need to catch up. It also demonstrated the team’s understanding and support, acknowledging that a gradual reintegration was more effective than an immediate deep dive.

This experience underscored a valuable lesson: the importance of thoughtful task allocation during transitional periods. It not only aids in the smooth reintegration of returning team members but also maintains team stability and productivity. It’s a strategy that not only benefits the returning team member but also the entire team, fostering a more supportive and adaptable work environment.

Transitioning Back to Civilian Life

Returning to civilian life after serving in the reserves is a process, one that unfolds over time and requires patience and understanding. This transition is not just a change in routine; it’s a shift in mindset and environment. It’s essential to recognize and accept that it’s okay for this adjustment to take time.

My own journey back to the civil world was significantly eased by the unwavering support I received from my manager. Their understanding and empathy during this period were invaluable. They recognized the challenges of this transition and provided the necessary space and support for me to gradually readjust to the civilian work environment. This support was not just about easing back into work; it was about reorienting myself to a life that had momentarily taken a backseat.

The patience and guidance from my manager and colleagues reminded me that it’s not about rushing to ‘get back to normal’ but allowing oneself the time and space to adapt at a comfortable pace. Their support was a critical element in my smooth transition, reinforcing the idea that the journey back to civilian life is a gradual process, one that benefits greatly from a supportive and understanding work environment.

Conclusion

The journey of stepping away and then returning to a tech team, especially under extraordinary circumstances like a national crisis, is fraught with challenges. Yet, it also brings invaluable lessons and opportunities for growth. The experiences shared in this blog post — from adapting to changes in team dynamics to embracing efficient communication and orderly work practices — demonstrate that we are equipped with the tools and resilience needed to navigate whatever lies ahead.

As I reflect on the myriad of challenges and transitions we’ve faced, one thing becomes clear: the future is uncertain, but our preparation for it is not. While we cannot predict the future, our journey thus far has armed us with adaptability, empathy, and innovative thinking. These are the tools that will guide us through unknown territories. It’s with this mindset that we can approach the future, not with apprehension, but with the confidence that comes from knowing we are prepared to face and adapt to whatever challenges it may bring.

--

--