This fictional story begins more than 10 years ago. I was a student at
technical university and was confused by how outdated some of the
programming-related courses are. I was checking out a few first
lections and usually skipping the rest of them (except a couple
courses that were fun and uptodate). In my spare time I was tinkering
on gentoo linux, cybersecurity and competitive programming
(codeforces, ACM ICPC, etc). I wanted to start working ASAP, so that I
could finally get to the most interesting part, but man, how wrong I
was…
This write up is inspired by my university friend, who made a
film about my time living in a tent in
a turkish forest and working on my FOSS projects.
The Corporate Work
To impress one girl, in third year of University, I passed an
interview and got a job offer in the hugest internet corporation in
the country. I did a bit of Python/webdev and in a few months and a
couple of internal interviews I switched to SRE role for search engine
and services around. This was my first disenchantment in technologies
and processes around. Everything was a mess and barely
maintainable. Three implementations of string type with different
memory allocation approaches, monorepo of hundred gigabytes, tons of
services glued together and only the god knows how they keep working.
But the worst part is not a mess or lack of well-defined processes,
the worst part is a feeling of helplessnes, a feeling that your have a
0 impact, you just spend months of your life to keep this stuff
floating. 1 year into corporate work and I have a clear understanding
that health insurance, extremely comfy office with massage, yoga,
language clubs, cookies or watever you can imagine, a salary times
higher than the average in your country doesn’t matter if you feel
miserable. Moreover, I was afraid to get into the trap of comfort and
to start stagnating together with the corporation and its messy
codebase 🙂 P.S. The girl wasn’t particularly impressed by those
achievements as well.
New University and Startups
Luckily, around this time I got a chance to switch the university.
This time it was fun. It was a completely new city built for this
particular Uni, professors were from all over the world, program was
made in collaboration with
CMU,
almost all communication was in English. It was tons of fun. I had a
good background and amount of hard skills to keep up with studies
relatively easy and I took the opportunity to acquire soft skills and
business skills as much as I could.
In addition to techncical communication, enterpreneurship and other
courses, we were building students community and organizations,
creating sport clubs, changing the university itstelf, participating
in hackathons, and spinning up startups. The amount of energy and
effort was impressive. We’ve built a streaming app, before periscope
became a thing, created a delivery service for our city before taxi
apps appeared. And this is only a couple of projects I personally was
in a charge of. A lot more things were happening around. It was
exciting time.
I didn’t forget about Computer Science and cool technologies and was
learning Lisp, FP and Clojure in parallel. So mindblowing, so
interesting. I desired to apply it in a real world. Maybe rewrite
the delivery platform? A few days after the meeting, where we
discussed a potential refactoring, my uni friend came to me and asked:
Would you like to help my two friends from UK and France to build a
platform for managing commercial buildings? We can use watever tech
stack you want.
Despite being a cool experience, the delivery wasn’t a profitable
project, it was more like a fun pet project made by students for city
citizens. It was already at the end of its lifecycle, so getting into
a more scalable international adventure was tempting. We had a calls
with the guys and started to build the platform from scratch in a
completely new and unusual tech stack.
The Dark Times
Everything started bright and fun, we were building and delivering
relatively fast, techonologies were awesome and all that, but there
were a few catches. 1. I wasn’t a founder of the project and didn’t
have a enough “business vote power”. 2. My soft and leading skills
were much better than a few years ago, but still very suboptimal. 3. I
already had enough fun with business parts in delivery project and was
focused almost solely on technologies and software development in this
one.
I was designing architecture, CI pipelines, containirized
infrastructure (before kubernetes was a thing), workflows, I was doing
docs, refactorings, scrums-agiles, onboardings, task tracker
configurations, etc. It was a lot of new and important experience,
but at the same time it was a lot of load. Of course, I couldn’t do
everything well. There are a few conflicts and tension points
appeared in the team and I didn’t resolve them properly and
completely. Moreover, I didn’t have enough energy to do so. I was
tired. I was exhausted.
I cared too much about tech and processes, but let the other aspects
of the project slip, including communication, top-level decision
making power and meaningfulness. At the point, where I overworked,
stressed and lacking power and leverage, it was extremely hard to
change anything. I couldn’t just keep working, because I was almost
physically vomiting when open the project in the text editor. I
decided to leave.
Cause of my random contribution to some open source Clojure project,
just a couple weeks after I left the project, I got an invite for an
interview. Did I mention that for my whole life I had a desire to make
a free and open source software? It looked right to me, it felt
important and impactful. Some of it were inspired by hacker culture
of 2000s and my youth idealism, but some of it became a part of me and
became a kind of an internal belief.
However, it was never enough time for it. Everyone around were telling
you can do it next sprint/month/whatever, let’s finish this feature
first, or we can’t do so, otherwise our competitors would be able to
steal our tech, so I was only casually contributing to FOSS, when I
could, but it was usually minor. Even with those minors
contributions, somehow I got this invite.
The Alps
The interview was by the one of the best Clojure teams in my country
and I passed it relatively easy and also got x5 salary without any
negotiation. Yes, I cared only about technologies on my previous
project and it wasn’t too hard to make an x5, but it was still quite
high salary for the market at the moment. This time I didn’t have any
expectations. I just wanted to save money and buy a free time to
recover from my previous overworking experience.
Plan was simple: Work for a year, save some money, get at least a
couple years to travel, work with psychologist, play the games, ride
the bicycle and feel happy.
I moved to the cultural capital (most beatiful and historically rich
cities), spend a few cool, fulfiling and interesting days at my
ex-coworker’s place (fellow hacker and researcher, one of the
important figures in tor project), while looking for an appartement
for rent. When I found the apparts near the office I moved in and
started my new job.
The work was relatively boring, I myself was tired, but I was
following the plan: I was saving around 90% of the salary and did my
dids and duties. I also had some activities outside of the work:
riding the snowboard, learning acrobatics, visiting mountains from
Siberia to Alps, hanging out with friends, visiting some iconic
historical places, traveling for hackathons and conferences around the
Europe.
Despite the fun I got from sports and social life, I still felt
exhausted, I didn’t want to wake up, it was hard to get up from the
bed, it was not much reason to do so, it was a deep apathy. Luckily,
around this time I got allocated to lead a new project, a EMR for
hospices in US. This turned out to be an incredible experience.
It started, when we with my friend were hanging out in Austria, in
cozy chalet on the side of the mountain. We got tickets for airplane
for 80$ (the price for both ways, we got it half a year in advance on
a random sale), and rented a room for 10EUR/night(?) We had to share
the bed and we were cooking ourselves to keep expenses low, but it was
incredibly amazing place. Not usual “amazing”, but really-really
amazing. The weather, the snow, the views. We were snowboarding the
powder, glashiers and forests. We were comming back home in the
evening and eating meals we made near a crackling fireplace.
In one of such beautiful evenings of my vacations I got a work call,
the call about this potential new project for hospices. I met two
stackeholders and we get to know each other a bit. It was pleasant,
they were nice and seemed smart, their expectations were unrealistic,
but they were very cooperative and understanding, so I got a feeling
that it can be a fun project.
Grown-Up Start-Up
After I came back from vacations I started to work with those two guys
from US and building a PoC of the system. We were discussing
requirements, did remote user testings and assesments. I onboarded a
couple more devs in the team and we started to build stuff even
faster. It was very pleasant to work with those men, I was genuinely
happy to interact with them, but I wasn’t too much excited about the
project, I wasn’t too much excited about life in general at the
moment. It was just another commercial EMR. I didn’t feel any
meaning in it, I only felt that I’m underemployed, I make some CRUDs
and web pages, when I spent years learning quite involved Computer
Science and Math.
It was already almost a half a year into the project, but we still
didn’t have any real users. Moreover, I was afraid that the system
we’ve built was based on our discussion and extrapolations mostly,
rather than on real use-cases. I suggested that I come to US, go
around the hospice and we interview doctors and nurses, visit their
planning meeting and all that things.
It turned out to be a great experience, together with my lovely
stackholders we collected a lot of data and insights and adjusted the
current implementation quite radically to fit the real needs. Besides
the work I had a lot of new experiences (video log
1, vlog
2): visiting a lot of places, shooting
guns, dating a wonderful girl, spending a time on the farm, going to
hot springs, learning Spanish from Mexican workers, watching american
football games IRL, doing beautiful hikes.
What is more important I’ve built a long-term friendship with Troy and
Robb. After I spent time in hospice, the project became more
meaningful, I started to feel the real need for it, I also had a lot
of impact on the project. It didn’t feel completely right because of
proprietary nature, but other than that I was very happy about it.
The humans involved in it were top-notch, interactions with them were
a pure pleasure.
Burning and Saving
We were getting closer to one year point mark, still not yet deployed
on our first hospice (owned by one of the four stackeholders). I work
as hard as possible and we get all base functionality ready, but it
has the price: I got even more exhausted. Guys are very happy with
what we achieved and asking me if I want to become a stackeholder.
Rationally speaking, it’s a great opportunity: wonderful humans, very
reliable and scalable business, fancy tech stack, but personally I
don’t feel like it’s the right way.
It’s a proprietary software and it bothers me. It’s a CRUD web app
and feels much less than I’m capable of. And last, but not least, I
still exhausted, maybe even a bit more in the last a few months, so
I’m afraid that I would unintentionally start sabotaging the work we
do if I keep working on the project.
At this point, I had enough money for 10 years of a quite minimalistic
life. I have an apartment at home town, my expenses are low, I spend
around 100$ for food and 100$ for sports a month and do occasional
budget-friendly trips around the world. We made the first production
release, onboarded a few people (nurses and doctors) and got our first
billing done IIRC. And… I deciding to leave the project, follow my
original plan and finally get some rest.
Vacations and the Start of Open Source Journey
I allocated to month to do nothing. I spent a couple of weeks laying
on the bed and walking around. After that I started to play some
video games, wandering around the town and going for casual street
workouts with my friend. It was intentional, I was learning how not
to blame myself for not being productive, I was learning how to care
of myself, my physical and emotional health. I started to feel, I
stopped to hurry. After those two month I built a bit of useful
boredom, which made me continue to tinker on Nix, reproducible dev
environments and all those things.
I couldn’t work much at the beginning. Maybe 15 or 30 minutes a day
before I got exhausted again, some days I couldn’t work at all,
sometimes I couldn’t even speak. Slowly but steadily, I got my
curiousity and courage back. I started to make videos and streams on
the topics I learn and explore, I started to build my small FOSS pet
projects. Not immediately, bu I got back some of my ability to work
and to live. I found power to get a few sessions with psychologist
and it also helped to feel better or at least something (:
In half a year I got to the level, where I could work a few hours
straight (not every day, but quite often). I already had a few minor
FOSS projects and I switched from Nix to Guix (because I wanted a
general purpose language instead of DSL and liked lisps ATM). It
turned out that there is no Home Manager for Guix, however, it wasn’t
a big deal, I had a confidence that I can make it myself and I did
it. I built it in a few months and later upsteamed it to Guix as a
Guix Home subsystem.
This was a year into my Open Source journey, but I already gained a
lot of my productivity, curiosity and fullfilment back. I made a few
FOSS project like RDE, Guix Home. I got a lot of positive
emails and feedback. I became much more lively and happy. I wouldn’t
say I was completely happy at this moment, but I was a half a way into
it.
The War
I definitely was on a right track and everything were getting together
and I was getting better with every day. I was tinkering, having fun,
getting the meaning, happinnes and liveness. I felt like taking a few
years off and working full time on Open Source was a great
decision. The year went quickly, I did a lot of contributions to mine
and others FOSS projects, I broke my leg on a wakeboard, got into
climbing and kayking and planned two trips for the winter.
I’ve spent New Year week in Turkey in the mountains climbing with
folks I met a couple of months before in a climbing gym. Two months
later I had a snowboarding trip with my university friends in Siberia.
One morning I woke up 5 am and saw my half-sleeping friend watching
some crappy message by president on TV in the other room. I was like:
what the heck are you doing, bro? He replied: it seems like the we
(goverment of our country) started a war. I was: No way, you are
messing with me.
We couldn’t accept this fact for a few days, we couldn’t belive that
it can happen in the 21th century, but it actually happened. We
continued to ride the powder and tried to enjoy our time, but were
constantly scrolling the news in disbelief.
A few month forward, I got a new pasport for travels instead of
expiring one, got some other documents ready, packed a backpack, took
my mom’s car and went to the Georgia for unknown amount of time. I
had only a couple thousands of dollars in cash and a couple more I
transfered to my friend three months before. My savings on the bank
and investment accounts were frozen, so instead of peacful 10 years of
minimalistic life I just got into unknowns without a job, a home and
running out of budget quickly.
The awfulness of war, opressive regimes and all that are important
topics, but we won’t talk about them today, let’s focus on how I ended
up in the forest writing an open source software.
Running Out of Money
I’ve been to Georgia (Sakartvelo) in 2019 and was a bit familiar with
this beatiful hospitable country. This time it was even more
enjoyable experience. So much new and interesting things, a lot of
infrastructure improvements since the last time. The weather is so
wondeful, that it was hard to be stereotypically grumpy as I was the
whole life. Almost every day is sunny and nice. I was enjoying every
moment here.
The bureauchracy is very manageable, I got a sim card, bank account
and legal entity in a couple of weeks. After the most of the
paperwork was settled, I came back to my FOSS projects, spending tons
of time with them. The only issue at the moment was money, they were
evaporating fast. With two my good friends we were renting a room at
guesthouse. It costed around 200$/month/person, but it was too tight
for 3 people. A little bit later we found an apartment with 3
bedrooms and it became 500$/month/person (yeah, this is quite
expensive for Georgia, but a lot of people came here cause of the war
and the demand was too high at the moment). It was sparse and comfy,
I finally could function properly and work efficiently.
A half of the time I was coding, half of the time I was researching
and trying to build a sustainable financial model for the projects and
a half of the time doing side projects to replenish the treasury. It
turned out to be quite a hard task to raise funding for FOSS work,
without getting into VC money. And VC money will likely screw up your
project. At least from what I see from other open source projects
nearby.
Donations and Trip to Turkey
Other option was donations, I made an opencollective
page and it is quite successful for
the size of the project, we get around 2-3k EUR/year. However, it’s
not enough to pay the bills (at least at the moment) even for one
person, not talking about other contributors. So, I decided not to
rely on them and keep it as a backup for the harsh time or some
project-related activities (later we organaized an internship for
RDE
from this funds).
I started to look for consulting contracts, so I can apply the stuff I
develop to real world projects and also get paid for it. I knew from
the beginning that at some point of time I’ll need to get money for my
work somehow. That’s why when I started my Open Source Journey a
couple years ago I also started to make videos and
streams.
Thanks to those videos I landed my first guix-related contract. I
went to the Turkey for one month, built a custom Guix-based operating
system for PinePhone, teached a small dev team about Guix and Emacs
and had a very pleasant time with very hospitable guys. It also gave
me enough money to cover the next few months of my life.
By the end of the spring our rent finished and we with my friends
moved apart. I found a room in a coliving for 300$/month and was keep
looking on how to stay afloat.
UAE to Save Money
I was invited to teach a lisp course in Lalambda
2023, a summer school on advanced
programming and contemporary art. It’s a not for profit activity, but
I like teaching, so I committed to it and spent a few weeks preparing
materials and exercises for students. At the same time we were
chatting with my mid-school-times friend and he invited me to stay at
his place in Emirates and to hang out. It was a nice opportunity to
spend time with my friend and also save some money. I took tickets to
Abu-Dhabi for the next day after summer school finishes.
Lalambda was a fantastic experience, the classes went great, I got a
lot of positive feedback, I met many cool people and a very nice girl
with PhD. And on this positive note I left Georgia.
Next three month I spent in UAE. It was hot, 46-48 degrees celsius
outside, so most of the time I spent either at home working or at
climbing gym training, and of course sometimes hanging out with my
school friend and his friends.
Very cool and productive times, I implemented a lot of features in my
current projects, made a few releases, started a new FOSS
project (an IDE for Guile Scheme) and started preparation for
upcoming conferences.
However, my UAE visa was expiring and I had to find another country to
stay. Finances didn’t get better, so it had to be very inexpensive
country. I decided to go head first into the Turkey as most cost
efficient and familiar option I knew at the moment. I’ve been here a
couple of times already: wakeboarding in 2020, rockclimbing in winter
2021-2022 and consulting in 2023. But this time was different, I had a
backpack, 900$ and 200EUR in cash and no foreseable source of funding.
Hiding in the Forest
Fast forward a few intermediate stops, I landed in Antalya and was
looking for the bus to Geyikbairi (a pine forest valley surrounded by
mountains, a disneyland for rock climbers). I’ve been here in 2021,
but last time my friend picked up me from airport and delivered
straight to the bungalow, this time I was on my own. I missed the
bus, but somehow managed to get to the valley. I had a tent booked in
one of the campings for 8EUR/night, it included access to shower,
kitchen and common indoor space.
There was a cat (a few of them) in the kitchen and common space,
causing a severe allergy. So I was walking around the valley and
looking for another place to stay for a few days and found another
camping, namely camp Geyik. In the meantime I recorded my talk about
Scheme IDE for EmacsConf
2023, so people can see what cool stuff I’m working on.
After I finished with conference talk, I went by bus to the city and
found a two person (actually 1.5 person) poked and fixed tent in
Decathlon for ~100EUR and a blanket for 5 EUR. Came back and
negotiated a price (around 800EUR for 4 month) for access to common
area, kitchen and shower. Found a cozy spot in the woods, pitched a
tent and started to work even harder on my FOSS projects.
Surviving
I had around 100$ left, the visa allowed to stay for 3 month in a half
a year (with mandatory visa run after first 2 months), the winter was
comming, the rains and the winds were getting stronger. That was only
the beginning.
