Effective Software Development For The Enterprise Beyond Domain Driven Design Software Architecture And Extreme Programming 1st Edition Tengiz Tutisani pdf download
Effective Software Development For The Enterprise Beyond Domain Driven Design Software Architecture And Extreme Programming 1st Edition Tengiz Tutisani pdf download
https://ebookbell.com/product/generative-ai-for-effective-software-
development-2024th-edition-anh-nguyenduc-57577960
https://ebookbell.com/product/building-software-teams-ten-best-
practices-for-effective-software-development-1st-edition-joost-
visser-5702850
https://ebookbell.com/product/effective-debugging-66-specific-ways-to-
debug-software-and-systems-effective-software-development-series-1st-
edition-spinellis-55138048
https://ebookbell.com/product/effective-python-90-specific-ways-to-
write-better-python-effective-software-development-series-2nd-edition-
brett-slatkin-34020854
Effective Objectivec 20 52 Specific Ways To Improve Your Ios And Os X
Programs Effective Software Development Series Matt Galloway
https://ebookbell.com/product/effective-objectivec-20-52-specific-
ways-to-improve-your-ios-and-os-x-programs-effective-software-
development-series-matt-galloway-55385096
https://ebookbell.com/product/effective-perl-programming-ways-to-
write-better-more-idiomatic-perl-effective-software-development-2nd-
edition-hall-mcadams-foy-55423166
https://ebookbell.com/product/the-cognitive-dynamics-of-computer-
science-costeffective-large-scale-software-development-szabolcs-
michael-de-gyurky-920400
https://ebookbell.com/product/become-an-effective-software-
engineering-manager-how-to-be-the-leader-your-development-team-needs-
james-stanier-23573156
https://ebookbell.com/product/metricsdriven-enterprise-software-
development-effectively-meeting-evolving-business-needs-datta-5430852
Ef fective Sof tware
Development for
the Enterprise
Beyond Domain Driven Design,
Software Architecture, and
Extreme Programming
—
Tengiz Tutisani
Effective Software
Development for the
Enterprise
Beyond Domain Driven Design,
Software Architecture,
and Extreme Programming
Tengiz Tutisani
Effective Software Development for the Enterprise: Beyond Domain Driven
Design, Software Architecture, and Extreme Programming
Tengiz Tutisani
Charlotte, NC, USA
Acknowledgments����������������������������������������������������������������������������xvii
Preface����������������������������������������������������������������������������������������������xix
Chapter 1: Introduction������������������������������������������������������������������������1
History of Inefficient Monoliths�����������������������������������������������������������������������������1
Why People Avoid Building Effective Software�����������������������������������������������������2
Learning Curve������������������������������������������������������������������������������������������������3
Quality over Quantity���������������������������������������������������������������������������������������3
Highly Paid Experts������������������������������������������������������������������������������������������5
Naive Hopes to Survive�����������������������������������������������������������������������������������5
Software Development Perfectionism as a State of Mind������������������������������������6
Is It Crazy?�������������������������������������������������������������������������������������������������������6
Desire Behind Perfectionism���������������������������������������������������������������������������7
Is It Worth It?���������������������������������������������������������������������������������������������������7
Six Pillars of Effective Software����������������������������������������������������������������������������8
#1. Meet Users’ Expectations��������������������������������������������������������������������������8
#2. Allow No Defects���������������������������������������������������������������������������������������9
#3. Scale Out Horizontally�����������������������������������������������������������������������������10
#4. Have No Dedicated Production Support Team�����������������������������������������11
v
Table of Contents
vi
Table of Contents
vii
Table of Contents
viii
Table of Contents
ix
Table of Contents
x
Table of Contents
Front-End Development�������������������������������������������������������������������������������215
Exception Handling��������������������������������������������������������������������������������������222
Testing Code�����������������������������������������������������������������������������������������������������226
Unit Testing��������������������������������������������������������������������������������������������������227
TDD, ATDD, and BDD������������������������������������������������������������������������������������230
Code Deployment and Maintenance�����������������������������������������������������������������232
CI/CD Before Development��������������������������������������������������������������������������232
Planning Deployment When Developing������������������������������������������������������233
Planning Maintenance When Developing����������������������������������������������������234
Summary����������������������������������������������������������������������������������������������������������234
xi
Table of Contents
Chapter 7: Deployment���������������������������������������������������������������������275
Culture of Releases�������������������������������������������������������������������������������������������276
Why Release Software?�������������������������������������������������������������������������������276
Unimportance of Releases���������������������������������������������������������������������������277
CI/CD—Deployment Foundation�����������������������������������������������������������������������280
Continuous Integration��������������������������������������������������������������������������������280
Continuous Deployment������������������������������������������������������������������������������282
Building Deployment-Ready Applications���������������������������������������������������������283
Developing Deployable Units�����������������������������������������������������������������������283
Ensuring Smooth Deployments via CI/CD����������������������������������������������������284
Dev–Prod Parity�������������������������������������������������������������������������������������������285
Effects of Containerization on Deployments������������������������������������������������286
Summary����������������������������������������������������������������������������������������������������������287
Afterword: Wrap-up��������������������������������������������������������������������������299
References����������������������������������������������������������������������������������������301
Index�������������������������������������������������������������������������������������������������315
xii
About the Author
Tengiz Tutisani has been in the software
development industry for over 20 years. His
experience ranges from startups to Fortune
500 corporations. He has held a variety of roles
in technology leadership (software engineer,
technical lead, development manager,
application architect, solutions architect,
enterprise architect, and chief architect).
Tengiz’s broad experience and frequent
recognition for outstanding quality and performance have convinced
him to teach others unique engineering and architecture techniques.
He authored this book to describe advanced techniques for professional
software development and architecture disciplines.
xiii
About the Technical Reviewer
Tom Graves has been an independent
consultant for more than four decades
in business transformation, enterprise
architecture, and knowledge management.
His clients in Europe, Australasia, and the
Americas cover a broad range of industries,
including banking, utilities, manufacturing,
logistics, engineering, media, telecoms, research, defense, and
government. He has a special interest in architectures beyond IT and
integration between IT-based and non-IT-based services.
xv
Acknowledgments
I want to acknowledge and thank the people who helped me make this
book a reality. I am grateful to every person that I mention here.
First, a big thank you goes to every individual who took time to read
the final manuscript of this book and wrote a short review, which will
be used in various ways to inform the readers about the book’s benefits:
Dave Black, Jim Hammond, Preeti Baranga, Lasha Kochoradze, Nugzar
Nebieridze, and Romana Stasiv.
Furthermore, I want to thank those who provided invaluable feedback
about the manuscript by noticing typos or unclear sentences or even
proofreading it: Dave Black, Jim Hammond, Gomti Mehta, Preeti Baranga,
and Romana Stasiv. I know that all of you went the extra mile to ensure that
this book reached its deserved quality. Without you, I am afraid that I would
have published text that would make me feel embarrassed in the future.
Additional gratitude goes toward the Apress editorial team, who guided
me through turning this publication into a polished piece of work worth
taking to the shelves and screens of a broad audience. The Apress team
includes Aditee Mirashi, Shobana Srinivasan, Mark Powers, James Markham,
and Sowmya Thodur. A special thank you goes to the technical reviewer,
Thomas Graves, who provided subject-matter expertise, challenging technical
questions, and feedback essential to taking the book to the next level.
Finally, my unmeasurable appreciation goes to my wife, Romana
Stasiv, who patiently supported me while I worked on the book, both the
initial manuscript and with Apress. I wrote the text once, but I rewrote
it about 150 times! Nobody would have tolerated so many long working
hours without genuine love connecting our hearts. Also, with Romana’s
Agile expertise, I received early feedback about many topics in this
publication, which helped me pave the road to the finish line.
xvii
Preface
Before getting into the book’s central chapters, I want to explain why
I wrote it to begin with, what you will learn, and how it will benefit you on
your path to building software solutions.
xix
Preface
***
At my first job, I was the only developer on a team. I had the freedom
to write code in any way I wanted, and that seemed to be a perfect
environment in which to thrive. I developed many applications and
components from scratch, and I enjoyed the freedom of improvising in
code. Everything was going smoothly until the codebase grew to the point
that I had a hard time working with it. I almost wanted to start it all over
again! It turns out that many developers struggle with the same issue
throughout their career paths.
How can the code that we wrote ourselves bite us back? There must be
something wrong with what we do, don’t you agree?
Therefore, we will learn how to write code that does not become our
problem shortly after we author it.
***
At my second job, I worked on a team consisting of a couple of
engineers, so I had a chance to read code written by other developers. It
was a rather complex banking domain, and I needed to learn it fast to keep
the job.
When such a challenge faces us, we realize that the codebase can
either be our friend or our enemy, depending on whether it helps or blocks
us from the goal.
I read a lot of code, but it did not give me any knowledge about the
domain. Instead, it confused me more and more as time passed. I could
only explain this complexity by believing that the code was not supposed
to be understood by people because it was written just for computers. That
was a naive thought.
xx
Preface
We are humans in the first place, so we should write code for humans.
Computers will understand code no matter how we write it. So writing a
program for them is a piece of cake. Try to write code that humans can
understand—that is a challenge!
Therefore, we will learn how to write code that expresses valuable domain
knowledge and is readable by technical learners of the problem space.
***
I once worked on a project where developers had good knowledge of a
problem space, and specialists in the subject matter were also accessible.
However, meetings occurred in silos instead of leveraging access to
domain knowledge. First, a domain expert would describe a requirement
in business terms; next, the conversation would transfer to the developers,
while domain experts did not (or could not) participate in the discussion
from that point on. Engineers would “interpret” the expectation using
technical concepts, patterns, and frameworks, and would use their
terminology and tools for implementation. Because of this intentional
disconnect, the resulting solution was too technical and often had little or
no relevance to how the business worked; instead, it added inconvenience
and complexity for business SMEs (Subject Matter Experts).
Therefore, we will learn how to write software that serves both
developers and non-developers equally. It is time that we start helping
business colleagues instead of complicating their lives.
***
One more project comes to mind. We could not focus on new feature
development because the defects were frequent. We had to jump on them
as they appeared due to the high visibility of the application. We would fix
errors and then go back to our current sprint (iteration) backlog, and we
just knew that the next bug was hours, if not minutes, away. Consequently,
new feature development went slowly and was unorganized.
xxi
Preface
***
I remember the tired face of an engineer who was tasked with
supporting an application in a production environment. He did not even
write that software and did not know all the intricacies inside the system.
He had to keep bugging an actual development team with questions
when a new kind of issue was discovered. He had a handbook full of
troubleshooting steps for various types of symptoms that the application
could produce. He was hesitant to contact the development team every
time because the engineers were “cool guys” who had more important
tasks than to support the application (written by them in the first place).
As you can imagine, the mentioned system was a nightmare to run and
troubleshoot. In my mind, the root cause was developers’ being unaware
of production support’s pain points and lacking the necessary skills for
producing better software that would be easier to maintain.
Would the outcome be different if developers had to run and support
their solutions in a production environment instead of somebody else
doing it for them?
To tackle the described problem, we will learn how to build software
that works in a production environment without a dedicated production
support team by distilling ways to develop better programs and maintain
them in production with minimal to no cost.
***
xxii
Preface
***
I recently encountered a web application that was deployed to three
servers to handle many parallel requests. Surprisingly to engineers
and their management, the system was struggling to serve only 100
simultaneous users. They tried to add more servers, but even more
strangely, it only worsened the situation. As a last resort, the team
rearchitected the application for better scalability, but that exposed other
bottlenecks, complicating the goal of reaching more users.
When such circumstances happen, you need to admit that your
application is not scalable.
Therefore, we will learn how to build software that scales out
horizontally by adding more instances of the application when the number
of users increases.
***
These situations just described served as a foundation for the six
primary pillars upon which this book is built. We will go into more detail in
the next section.
xxiii
Preface
For now, I hope that most of you either recognized your experience or
felt an urge to solve these kinds of problems at present or in the future.
2. Has no defects.
You must remember these items because they form the foundation of
this book. If my writing is successful, you should see that each chapter or
section targets at least one of these points.
Throughout the book, I will be referring to these items in various ways
interchangeably: “six pillars of effective software,” “six elements of quality,”
and so on.
I will go into slightly more detail about each of the mentioned elements
in the next chapters, thus helping you understand why they are essential.
xxiv
Preface
xxv
Preface
For all those synergies that I just described, the book in front of you
can become a supporting mechanism when implementing SAFe or other
organizational process initiatives.
xxvi
Preface
xxvii
Preface
The topic of crosscutting concerns will precede the rest of the subjects.
This order is essential because most crosscutting solutions do not fit
into any of the typical stages but still require attention beforehand to
agree on fundamental assumptions. Afterward, diving into each step of
software development will uncover and address various concerns within
those areas.
At the end of the book, I have included references to reading materials
that support this publication. A link to a reference is a codename enclosed
with square brackets. For example, [Tutisani web] is a link to my website,
which you can find in the references under the “Tutisani web” codename.
An index with keywords is the last piece of this publication, which will
help you find specific terms in the book’s text.
Enjoy your reading!
xxviii
CHAPTER 1
Introduction
In this chapter, I want to examine the fundamental ideas surrounding the
building of effective software. Presented topics will range from historical
reasons for the industry’s problems to decisions of avoiding or accepting
ideal solutions. Additionally, I offer a deep dive into the definition of
effective software that I briefly introduced in the preface.
2
Chapter 1 Introduction
out, people still hesitate, and I will explain some of the typical reasons for
this. I want to present these challenges to encourage you to overcome them
and to set realistic expectations.
Before we go any further, you should know that you have chosen not
an easy path for yourself, but also not an impossible one. I have a rather
low level of risk tolerance, and my suggestions are reasonable to me, which
should further assure you that matters are not hopeless at all. Instead, it is
my responsibility to tell you what to expect when attempting to build ideal
software solutions.
Learning Curve
I have collected the necessary skills to build effective software throughout
my career. At the time of this writing, that is more than 17 years.
Admittedly, it took me so long because I was not always sure what I was
seeking—I made up my mind on the way. Nevertheless, all the techniques
needed to build such a high-quality product are scattered everywhere—
process, technology, concepts, patterns, project management, testing,
development, architecture, and so on. While this book should help you
navigate your way in the universe of endless knowledge and information, it
will not shorten the journey drastically. It is just not possible. There is thus
a significant learning curve behind the effort of building effective software.
I am glad that you are still going for it, as not everybody does.
3
Chapter 1 Introduction
So, you are not giving up quantity for quality as long as your project
lasts for at least a couple of months. However, the misconception still exists
that effective software requires a sacrifice of quantity to attain quality.
4
Chapter 1 Introduction
5
Chapter 1 Introduction
Is It Crazy?
When you introduce something new and utterly different from everything
else, it may seem crazy. I do not want to take too much credit, but it is
similar to the effect of inventing electricity or discovering that the earth is
round and not flat. Those ideas were once considered crazy. Therefore, if
we want to improve, we must give a chance to new proposals.
I do what I teach in this book daily. Nobody thinks that I am crazy. So,
it is not so scary to try it.
6
Chapter 1 Introduction
If you worry that others will see you as stubborn, I assure you, that is
not what I am advocating. This book is only a collection of knowledge that
can improve your skills. The rest depends on how far you want to take it in
practice.
7
Chapter 1 Introduction
2. Allow no defects.
While these pillars express the intent, they can also create confusion,
disagreement, and resistance. This split in opinion happens because
each of us is unique, and we look at things differently. Some will say that
the problems I try to fix do not exist at all; others will say that there is no
solution to them, or that I am not solving the right issue.
To align our vision, I want to clarify what each pillar means.
8
Chapter 1 Introduction
If not for all this overhead with defects, you could focus more on new
feature development. Furthermore, defects create discontent for both the
customers and the developers.
9
Chapter 1 Introduction
10
Chapter 1 Introduction
11
Chapter 1 Introduction
Summary
This was quite an introduction. We glanced at both the hesitations and
enthusiasm behind building effective software and what it is that we aim to
deliver.
In the next chapter, we will look at commonly overlooked subjects vital
to delivering needed outcomes, such as leadership, people, and culture.
12
CHAPTER 2
Cross-cutting
Concerns
Building effective solutions is not only about writing code or architecting
systems; this process relies heavily on leadership, operations,
organizational structure, and even internal politics. Ignoring these vital
aspects is comparable to dismissing the weather forecast when predicting
the quality of harvesting season.
Experience has proven that an effective technology transformation
has to be driven by leadership. No matter how hard engineers try, their
attempts will not suffice against a wall of political resistance. Hence,
I will start this chapter with recommendations applicable to leaders and
managers.
After leadership accepts the importance of their role in the act of
producing high-quality software, it is time to rethink other supporting
factors for positive outcomes. The organization’s shape and processes
within it must aid the optimal flow of information, growth, and scale; this
reasoning puts the mentioned topics on our radar. Finally, we will drill into
culture and people as they are essential constituents of organizations. This
thread of thought guides the structure of the chapter.
14
Chapter 2 Cross-cutting Concerns
15
Chapter 2 Cross-cutting Concerns
16
Chapter 2 Cross-cutting Concerns
17
Chapter 2 Cross-cutting Concerns
H
ands-on Leaders
Management often steps back and allows their teams to thrive and show
what they can do. This attitude helps give opportunities, but it can also
put people under pressure if the outcomes are critical to the organization
or the employees. If something does not work, now it is their fault, even
though they worked hard, while leadership stood aside.
On the contrary, I have also seen managers who want to make
all decisions themselves but fail to do so correctly. For example, one
manager, who had a great personality but lacked technical skills, would
not care which architectural choice was better (he did not understand
the importance of architecture at all) and picked one out of thin air. This
person put the project on a failure path, and in the end the developers
were seen as guilty again. Those engineers who think that the “boss is
always right” will probably never agree with the described issue, but such a
leadership style still has to be addressed.
Management should take development, improvement, and
transformation goals seriously. If leadership wants to get there, it will not
happen without their support. This section is a call not just for managers but
also for the hands-on leaders who can execute an IT organization roadmap
with their teams. They are ready to share responsibility for failure, and they
work as hard as their teams do.
While working with a hands-on leader side by side, engineers feel
empowered to deliver better-quality software that meets and exceeds
customers’ expectations. Also, they are motivated and feel like they are
part of a team. If success can only be planned, who can do it better than a
manager who influences their entire organization?
18
Chapter 2 Cross-cutting Concerns
O
rganizational Structure
In this section, I will draw a line between the organizational structure and
the optimal software engineering processes. This link may be non-obvious
out of the box. Hence, making it an explicit matter will help address this
book’s objectives.
19
Chapter 2 Cross-cutting Concerns
F orming Organizations
Technology organizations often form chaotically—people do not
understand what problems their team or an entire company solves, how
they relate to each other, which project has a higher priority, and so on.
These knowledge gaps create many inefficiencies, such as making non-
optimal decisions about systems, subsystems, and overall enterprise
20
Chapter 2 Cross-cutting Concerns
When knowledge about the subdomain hierarchy gets into the hands
of the organization’s members, they will use it as a tool to solve business
problems, find their paths through complex flows of the field, correctly
prioritize projects and requirements, and so on. Overall, you will receive
higher employee engagement and satisfaction levels. Also, meeting
customers’ expectations will become more achievable for people in the
organization.
21
Chapter 2 Cross-cutting Concerns
F orming Subsystems
In engineering organizations, new software projects often start randomly
and maintain an unclear nature throughout their lifetime. Usually, each
new project aims to deliver a new subsystem. Still, clarity is missing about
boundaries, cohesiveness within its borders, relationship with other
subsystems, business value compared to other subsystems, and so on. As a
result, the project runs heavier and slower than it could due to unresolved
technical conflicts, incorrect implementations that require a rewrite in
the early days, and sometimes even duplication of effort among various
subsystems.
Therefore, treat each subsystem (both existing and new) as a bounded
context. Identify and document existing bounded contexts. Draw a context
map (see [Evans DDD]) outlining relationships between bounded contexts
as well as their related subdomains. Decide where the new bounded context
fits, which subdomain it will serve, and the ties it will have with other
bounded contexts (see Figure 2-2). Get in touch with teams that own the
existing bounded contexts and ensure that the planned rollout of the new
bounded context fits the overall picture (i.e., context map).
22
Chapter 2 Cross-cutting Concerns
23
Chapter 2 Cross-cutting Concerns
F orming Microservices
Microservice is a comparably new term that has many definitions
depending on the source of information. Historically, it is a refined form
of SOA (Service Oriented Architecture, see [Wiki SOA]), and hence some
people call it a “granular SOA.” While we all understand that microservices
architecture involves building interconnected services, it is easy to miss
the importance of defining proper boundaries. If you view a microservice
as nothing other than a mini-service and try to apply this pattern to your
work, then you will end up building an arbitrary number of services that
integrate based on mere technical convenience only. When you form
such systems, it is hard to see the point of using this architectural style
altogether, except maybe for the sake of the buzzword. No architecture has
the right to exist without clear business benefits, and there must be some
benefit to microservices too.
Define a microservice to implement a bounded context and maintain a
one-to-one relationship between the two. Use these terms interchangeably,
and adhere to the same boundaries for both of them. Use this mapping to
clearly express a business value behind a microservice—it is a subsystem
that solves the problems of a subdomain, just like a bounded context does.
Following the shapes of bounded contexts helps you implement
microservices in the right way out of the box because you have the
form established and it is well understood by both the business and the
technical people. On the contrary, incorrectly defined microservices create
all sorts of problems, such as a lack of technical scalability, integration
complexity, mental complexity, failing to meet users’ expectations,
and so on.
Later in this book, I will come back to the microservices topic from a
technical architecture standpoint. In the current section, I only wanted to
outline the relationship between microservices and bounded contexts.
24
Chapter 2 Cross-cutting Concerns
F orming Teams
Software development teams often deal with an overhead of
communication, conflict of interests, shared codebases, shared production
releases, and so on. It is easy to notice that the cost comes into the picture
when one team has to share something with another. On the other
extreme, an independent group has the luxury of moving as fast as they
want without worrying about dependencies on outside counterparts.
How can we maximize the number of autonomous efforts in an
organization that has multiple teams? As it turns out, the solution is easy to
explain after we have learned about context maps and bounded contexts.
The trick is to form teams around bounded contexts. Allow a group to
own one (which is ideal) or more bounded contexts, but do not allow more
than one group to hold ownership of any given bounded context (see
Figure 2-3). Help team members understand bounded contexts and
subdomains that they own and with which they interact. Ensure that people
integrate bounded contexts according to their connections on the context
map. Otherwise, the context map needs to change to express necessary
knowledge.
25
Random documents with unrelated
content Scribd suggests to you:
question of criticism. The simple programme of “stirring up the
people to uprisings and rebellions against the existing régime, in
accordance with varying local circumstances,” was in consonance
with her fiery temperament, impatient of all restraint.
Her three friends were also interesting characters, and I soon had
opportunities of talking to them and hearing the story of their
connection with the movement. First came the young Sophia
Bogomòletz;[67] her maiden name had been Prìsyetskaya, and she
was the daughter of a rich landed proprietor in the government of
Poltava. She had attended a higher grade school for girls, and later
the medical course in Petersburg; had married a physician, and then
—like Maria Kovalèvskaya—had left her husband and child to devote
herself entirely to revolutionary work. In 1880 she was arrested as a
member of the South Russian Workmen’s Union and sentenced to
ten years’ penal servitude. She attempted to escape,[68] but was
recaptured, and was then given five years more, which was again
increased by a year in consequence of a dispute with an official.
Besides this she was placed in the category of “on probation”
prisoners, which means, as I shall explain later,[69] that the term of
actual confinement in prison is lengthened. She, too, was by nature
an advocate of revolt, and throughout her imprisonment kept up a
constant feud with the officials. She went even farther than her
friend Kovalèvskaya, for while the latter only fought against injustice
and tyranny, Sophia Bogomòletz looked on all prison officials as her
natural enemies, and held even the smallest compromises, such as
most prisoners are obliged more or less to give in to, as unprincipled
and inadmissible; for example, she looked upon the medical
examination of prisoners as a personal insult. She was influenced by
no considerations of health, and was always prepared to risk her
own life, if she judged there was any reason for doing so. The staff
simply trembled before her, for they knew that their only means of
extorting submission—the fear of punishment—was here of no avail.
The story of the third member of this little band was as follows. In
the spring of 1879 the sum of 1,500,000 roubles was stolen from the
offices of the Finance Department in Kherson, the depredators
having broken in through the wall of the adjoining house. On the
same day the police arrested a woman driving through the town in a
country cart with some suspicious-looking sacks. The woman was
identified as Elena Ròssikova, wife of a landed proprietor in the
neighbourhood, and the sacks contained a million roubles. With her
another lady was also arrested; and in consequence of the latter’s
confession the rest of the money was found, with the exception of
some 10,000 roubles. It turned out that this wild undertaking had
been organised by Elena Ròssikova, who had planned to rob the
imperial purse, with the intention of applying the money to
revolutionary purposes. She and some other persons implicated
were tried before a court-martial, and she, as the ringleader, was
sentenced to penal servitude for life. She, too, waged unceasing war
against the whole staff of the prison, and was daunted by nothing
when a “protest” was in question.
The fourth of these women “politicals” was Maria Kutitònskaya.
She had been a pupil in a girls’ school in Odessa, and while still very
young had joined the revolutionists. In 1879 she was arrested as a
comrade of Lisogùb[70] and Tchubàrov, was condemned to four years’
penal servitude, and sent to Kara. At the expiration of her sentence
she was interned in the town of Aksha in Transbaikalia; but she was
soon back in prison. The authorities had ill-treated the male
prisoners in Kara (as to which I shall speak later); and Kutitònskaya
resolved to take vengeance on the chief offender in the matter, the
governor of the province, Ilyashèvitch by name. She fired a pistol at
him, but missed. The court-martial condemned her to death, but this
was altered to lifelong penal servitude.
Beautiful and distinguished-looking, with fair hair, and gentle,
winning manners, Maria Kutitònskaya won hearts by the score. While
she was under trial for the attempted assassination of the Siberian
potentate she was subjected to the most cruel and inhuman
treatment; thrown into a damp, gloomy dungeon, and allowed only
bread and water. Help came to her from the ordinary convicts, who
had seen her in the prison, and worshipped her; they brought her
food at great risk to themselves, and did her various other services.
These criminals had changed her name a little to suit themselves,
and always called her “Cupidonskaya”; having thus unconsciously hit
on a charming pet-name for the beautiful woman. But for their
assistance she might not have survived her treatment at that time;
as it was, her long imprisonment undermined her health, and she
became a victim of lung trouble, to which she succumbed in 1887.
CHAPTER XXI
THE CHIEF OF POLICE AT IRKUTSK—MEETING WITH EXILED COMRADES—FROM
IRKUTSK TO KARA—STOLEN FETTERS—A DUBIOUS KIND OF DECABRIST—
ANOTHER CONTEST—ARRIVAL AT OUR JOURNEY’S END
The detailed narrative of all that these women had gone through
impressed us greatly; for their sufferings had been severe, and often
caused by the most paltry tyranny. The wonder was that they had
ever been able to hold out. Our indignation against the chief of
police, under whose auspices this sort of thing had gone on, was
naturally roused to such a pitch that we longed for an opportunity to
testify our abhorrence of his conduct. This opportunity was soon
forthcoming. A higher official from Petersburg, who was inspecting
Siberian prisons, came one day with his suite into our cells, and the
chief of police was in attendance. The moment he entered, Làzarev,
our head-man, went up to him, (in accordance with a predetermined
agreement of our party,) and said in loud and distinct tones—
“We are astonished at your impudence in daring to appear before
our eyes, after having by your treatment forced our women
comrades into a terrible hunger-strike.”
The whole company of our visitors hastily took their departure, to
the tune of our comments and ejaculations, which contained nothing
flattering to the evildoer! No untoward results followed our action,
and the ladies heartily rejoiced at this humiliation of their torturer.
From these four we heard much about the conditions of life in
Kara, our appointed destination; as also from another comrade now
in Irkutsk, who could give us his personal experience of the prison
there. This was Ferdinand Lustig—formerly an artillery officer, and
afterwards a student at the Petersburg Technological Institute—who
had been sentenced in 1882, in the case of Suhanov and Mihaïlov, to
four years’ penal servitude. He had now ended his term in Kara, and
was going to be interned elsewhere, under police supervision. What
he told us was not comforting: the régime was severe, and the
governor of the political prison—a captain of gendarmerie, named
Nikolin—of the worst repute.
Four of us only were to travel eastward together: Maria
Kalyùshnaya, Tchuikòv, Làzarev, and myself. The other seven were to
be sent to various places in the government of Irkutsk; and the
nineteen-year-old Rubinok, whose sad case I have already
described, was to go northward to the deserts of Yakutsk.
Before those who were released from prison, to live in exile under
police supervision, reached their appointed destinations, they had at
that time many difficulties and delays to encounter. We ourselves
went at a snail’s pace on our way to Kara, but prisoners coming
thence progressed far more slowly. They had to wait at nearly every
halting-station until some convoy on the homeward journey could
pick them up and take them on for a certain part of the way, and
sometimes they were kept in this manner nearly a week at a station.
On an average they barely made five versts a day, and when the
distance they had to travel was some hundreds or even thousands of
versts, the journey might take months to perform.
At each meeting with comrades on the return journey from Kara, I
could not help thinking of my own future, and saying to myself,
“What will you feel like when after long years you tread this path
again? Or, indeed, will you ever tread it?”
One day I found I had sustained an odd loss: someone had made
off with a bag in which I kept some of my belongings, the chief item
among them being my fetters! I had to make the somewhat curious
confession to the commanding officer that, instead of wearing my
chains, I had allowed them to be stolen; and I was rather surprised
that, while commiserating me on account of my personal losses, he
did not seem at all agitated about the loss of the Government’s
property.
“What am I to do without my fetters?” I asked him, when I saw
that the absence of this important detail in the attire of a convict left
him unmoved.
“Well, of course we must get some for you somehow,” opined the
officer. “Just wait a moment; there ought to be things of the kind
lying about somewhere.” And he gave the sergeant orders to look in
the lumber-room, where a new pair of fetters was discovered.
“Take care you don’t lose these!” said the officer, as I packed them
among my luggage.
This is a specimen of the indulgent, almost fatherly demeanour
which our guardians more and more assumed towards us as we got
further east.
We were by this time in the thick of the Siberian winter and its
severities. We had passed the Yablonovoi mountain ridges, and were
nearing Tchita, the capital of Transbaikalia. At the last station before
our arrival there we observed a great bustle going on among the
ordinary prisoners; the sergeant and the soldiers were occupied with
them all night, continually going in and out in a quite unusual
manner. We racked our brains to imagine what could be on foot; but
the riddle was only solved next day, as will be seen further.
Although the distance from Tchita was considerable for one day’s
march,—about forty versts (twenty-six miles), I think,—we started
very late on the following morning; but after about twenty versts’
march we came to a lonely farmhouse, standing all by itself on the
high-road. We had heard from our comrades who had been in Kara
that an old man lived here who gave himself out as a Decabrist.[74]
Our party halted in the courtyard, we “politicals” were shown into
a room, and the master of the house presently paid us a visit. He
introduced himself by the name of Karovàiev; and was a vivacious
old gentleman, of eminently respectable appearance. According to
his account of himself he had been an ensign in the Guards, had
taken part in the revolt of the Decabrists, and had been exiled to
Siberia; he claimed to be eighty years of age, but did not look more
than sixty-five. He made himself very agreeable, and was most
anxious to show us hospitality, declining to take any money from us.
Meanwhile in the next room and the corridor things were very lively;
there seemed to be a sort of combined market and feast going on,
soldiers and convicts eating, drinking, and hobnobbing together like
boon companions.
It was already dark when we arrived at the gates of the prison in
Tchita, where we had at once to engage in a struggle with the
governor: first, because he received the ordinary prisoners first,
leaving us to wait; and next, because he gave us a room which was
absolutely unfit for us to spend the night in. Only after we had made
a great fuss, and threatened him with complaints, did he give us
proper accommodation.
Next day, when the party was mustered for departure, it became
apparent that the ordinary prisoners had hardly any clothes! Their
things had vanished, and they were literally half naked. A light was
now cast on the events of the preceding night, when there had been
such a carousal at the house of the Decabrist. That respectable and
hospitable old gentleman was evidently in league with the escort,
and had provided the convicts with vodka and other delicacies, in
exchange for their clothing, which no doubt he had obtained at a
bargain. That the transaction might not be discovered before our
arrival in Tchita, the soldiers saw to it that it should be as late as
possible before we got in, so that the inspection should be gone
through hurriedly, and the absence of the clothes not perceived.
In short, the respectable Karovàiev had not established himself in
that lonely spot for nothing. The jollification of the unlucky criminals
had evil consequences for themselves. In proportion as their clothing
and other State property were deficient they were treated to the
soundest of thrashings; and only when that had been administered
did they receive a fresh outfit.
In Tchita we had to part from our good stàrosta Làzarev, who was
to be interned here. We three others determined to secure for
ourselves a thorough rest in this place; for we had been six weeks
on the march from Irkutsk, and were thoroughly tired out. We felt in
no hurry to go on; a prison awaited us, while on the journey we had
at least a certain amount of freedom and variety. Moreover, we knew
that there were a number of our comrades interned at Tchita, and
we should be able to see something of them; while apparently all
intercourse with the outer world would cease for us after this stage,
where we must make our last adieux before the prison doors closed
on us. We therefore reported ourselves sick, and easily got the
prison doctor’s consent to our breaking the journey here; which
meant that we should be picked up by the next convoy in about a
fortnight’s time. Our comrades paid us frequent visits; that is, they
came to the prison gate when we were in the courtyard. The most
interesting news they gave us concerned the travels of the American
writer, George Kennan, who had just arrived in Tchita on his return
journey from Kara; and our friends were full of praise for that
excellent man.
During the last days of November we started again, this time in
company with a so-called “family party” of ordinary prisoners—
women and children as well as men going forward to prison and
exile. There had not been much snow that winter, and instead of
sledges two-wheeled carts were our means of transport, travelling in
which was a positive martyrdom. The cold became more intense
every day, and tried us severely, although we wore every warm
garment we possessed, so that we moved with the greatest
difficulty. The only way to keep warm was to march beside the carts,
and one can imagine the sufferings of the unfortunate children who
were accompanying their parents into this inhospitable desert. One
longed for the next halting-station and for possibilities of warming
oneself, which even there were not always all that could be desired.
The halting-stations had sometimes not been heated for a good
while, and the ordinary prisoners had first to chop wood with their
numb and frozen hands; even then there was not always sufficient
fuel. The stoves, too, were often out of order, and smoked so badly
that to stay in the room was a misery. It happened repeatedly that
we three “politicals” were accommodated in a peasant’s hut, and
sometimes the whole party had to be quartered in like manner. We
were always glad when this happened, for the wretchedest cabin
seemed comfortable in comparison with even the best étape. How
often we wished we could be by ourselves in a hut of this kind
during the rest of our imprisonment!
I have said that relations between prisoners and escort were now
very easy-going; strict discipline was no longer the watchword on
either side. This had its disadvantages, the soldiers being often very
rough with the ordinary prisoners. One day, as we were marching to
Nertchinsk, I saw a soldier behaving very brutally to a poor feeble
old convict, knocking him about with his rifle-butt for climbing on to
one of the carts, and apparently only because the soldier had meant
to ride on it himself. I intervened, and called to the sergeant in
command that I should report him for not keeping his men in order.
Next day, as we went through the town on our way to the prison, I
stepped into a sausage shop to buy some provisions, when the
soldier whose party I had left called after me, “Where are you
going? What do you want?” I let him shout, and concluded my
purchases. I then saw that the sergeant had driven on and
disappeared, but I only thought that he had taken some short cut to
the prison and would meet us there, and I was much surprised when
the governor of the gaol received me with the information that the
sergeant had reported me for insulting the guard and leaving the
ranks without permission. I suppose he wished to forestall the
complaint I had threatened him with, about which I had quite
forgotten, and I now turned the tables on him by making it in due
form. The upshot was that the sergeant apologised to me in the
presence of witnesses, and we were respectively pleased to
withdraw our complaints!
At Nertchinsk, Tchuikòv and I were taken to the men’s prison, and
Maria Kalyùshnaya was given a separate cell. I shall never in my life
forget the picture that prison presented. From the dimly-lighted
corridor one could see into the various rooms, where the prisoners
were already lying down, as it was late. Packed closely side by side
they lay not only on the wooden bed-places (which were two wide
shelves running along the walls one above the other), but all about
the floor; there was literally not an inch of vacant space. Most of the
men were clad in shirt and trousers, but many had only trousers on,
and lay uncovered on the filthy floor. The throng was so dense, that
in order to get to the “privileged” room we had actually to step on
the bodies of the sleepers. The stench was pestilential, the wooden
tubs filled with excrement were everywhere about, and as they were
leaky their contents had been trodden over the whole floor. Although
most of the men were asleep, here and there groups of excited card-
players squatted on the floor or the bed-places, and throughout the
whole place there was a deafening babel of sounds. The general
effect was most gruesome, a circle of the Dantean Inferno was the
only possible comparison.
The “privileged” room was also full of people, and we found there
some comrades from Kara—Tchekondze and Zuckermann. They were
lying close together on the crowded floor, and we with difficulty
found a vacant spot, so that we could lie down near our friends.
Zuckermann was known to me: he was a compositor, who in the
middle of the sixties had trudged on foot from Berlin into
Switzerland, where I subsequently had made his acquaintance. He
had gone to Russia later, and had worked at the secret printing-
press of the Naròdnaia Vòlya, where he was arrested at the same
time as Sophia Ivànova. I had been told by comrades how heroically
he had behaved during the trial. In order to shield the others he had
taken all blame on his own shoulders, declared that it was he who
had fired the first shot in resistance to the gendarmerie, and so on.
He had been condemned to eight years’ “katorga” and sent to Kara,
where he had become the darling of the whole prison. Always
sunny-tempered, full of wit and fun, he spread good humour
everywhere; moreover, he was unselfishness personified, ever ready
to help others at his own expense, one of those people who are
called “too good for this world.” Even as we lay on the floor in that
horrible place he told stories and jested, drawing the most glowing
imaginary pictures of his future life in Yakutsk, whither he was being
sent for internment. The reality, unhappily, turned out widely
different from his sanguine prophecies. Poor merry Zuckermann
could not hold out against the hardships and loneliness of his place
of exile, and he put an end to his own life.
Tchekondze I had not met before, but we had many common
friends. He came from Gruzia, and had graduated in the Petersburg
college for artillery officers. With other Caucasians he had then
participated in the Propagandist movement, had been arrested in
1875, and sentenced in the “Trial of the fifty” to banishment; but he
had escaped from Siberia, and had been recaptured and condemned
to three years’ penal servitude. He was now going into exile in
Yakutsk. He impressed one as a strong-willed, careful, practical man,
who would never be at a loss, but would find a sphere of usefulness
under any circumstances; and so indeed he proved in his after life.
The privations he suffered during long years of exile undermined his
health, however. When sent to Western Siberia in the early nineties
he fell seriously ill and died in Kurgan, on the threshold of Europe, in
1897.
At last, on the morning of December 24th, 1885, we arrived at
Ust-Kara, a little village wherein is situated the prison for ordinary
convicts and the prison for women “politicals.” Here we had to part
from Maria Kalyùshnaya, and I saw her that morning for the last
time. Tchuikòv and I had fifteen versts more to travel to Nizhnaya
Kara, where was the prison for male “politicals”; and we had to wait
till next day for the commandant, who received in charge both
ourselves and the ordinary criminals. Our luggage was put into a
cart; and accompanied by a guard, we marched off, having
previously donned our fetters in due form.
It was a frightfully cold day, and despite the chains and our heavy
clothing, we stepped out briskly as though we were in a hurry to get
under lock and key. We knew that this was our last tramp in the
open, that for many long years there would be only a trot round the
prison-yard for us, and our thoughts dwelt dismally on the prospect.
“There is your prison,” said one of the soldiers, and pointed out, a
little way ahead, a stockade made of tall posts set side by side.
Suddenly there appeared coming towards us a group of people—
two women, a Cossack, and a man in civilian dress. “Victor!” I cried,
recognising the latter as we approached nearer. It was my old friend
Victor Kostyùrin, whom I had not seen for nine years.[75] He was now
being removed from prison to his place of internment.
After hasty greetings he introduced me to the two ladies who
accompanied him—Natalia Armfeld and Raissa Prybylyèva, both
“colonists” in Kara. Kennan has given Natalia Armfeld’s story in his
book,[76] and I will only mention here that in 1879 she (with Maria
Kovalèvskaya) was implicated in armed resistance to the
gendarmerie, and sentenced to fourteen years and ten months’
penal servitude. Raissa Prybylyèva had been a member of the
Naròdnaia Vòlya, and had been sentenced in 1883 to four years’
“katorga.”
Victor and I had, of course, much to say to each other, but our
time was short, for our guards naturally did not see the fun of
remaining longer than necessary in the freezing cold of the open
field, and a few brief sentences were all we could exchange.
“A Frenchman would have had a lot to say about this,” I said: “we
two friends meeting on the threshold of a prison, one going in, the
other coming out.”
Another pressure of the hand, and we parted.[77]
“Shall we ever meet again?” I asked.
“Ah yes!” cried one of the ladies. “We shall all meet in Petersburg
at the triumph of the Russian revolution.”
For her, at least, that hope was vain. Natalia Armfeld died at Kara
in 1887, and Raissa Prybylyèva (who married afterwards the exile
Tiutchev) is also no longer among the living. Kostyùrin still lives in
Tobolsk; but since that day our paths have never again crossed.
MARTINOVSKY STARINKYEVITCH
SUNDELEVITCH ZLATOPOLSKY
PRYBYLYEV YEMELYANOV
To face page 208
CHAPTER XXII
FIRST DAYS AT KARA—FRIENDS OLD AND NEW
ebookbell.com