Joel's dev blog

My story (1): changes that occurred from high school to the Navy

April 20, 2018

27 min read

Before starting to read this

People change. And so do I. This is a story of how I, as a developer and social being, changed over a course of time. Also a story of how I got out of the problems that I faced.

Who I was

1. Logical

Going back to middle and high school, I was a person of logical (+cynical, cold) personality. I tried to be as logical as possible for no clear reason for any decisions or human interactions such as conversations with my friends.

I don’t know exactly why I started to become like this. I don’t remember when I started to have this personality. But when I looked into myself at some point, I became such a person.

But I got along pretty well with those who were around myself. I saw things were going well, and I could do collaborative homework well too.

I yet lacked an emotional or sensitive response from circumstances where I needed it. For example, when I was studying literature in either Korean or English, I could not express my feelings, or even feel that feelings well. I did not know what I was really writing when I was taking an exam on evaluating a poem or an essay. Because of that, sometimes I got a high grade for no clear reason that I don’t even know, but many more times I got lower grades for the exam. And so I hated reading poems or novels. I could not understand why those things even existed in this world!

2. I did not like indefinite, unclear subjects.

Back to the poems, novel and essays — they were not definite things. The interpretation of poems or novels could be A or B any time depending on contexts. If somebody thought the meaning of a title of some poem were ‘life and death’ because of some reason, that could be perfectly valid, while at the same time somebody would think otherwise for another valid reason. They were just not ‘immutable’ (to explain in a programmatic jargon). They were dynamic. Yeah. I did not like the things that were not constant on different contexts.

3. Did not really put myself in other people’s shoes

I said I was logical, but ironically I was short on this. I did not really understand, or tried to understand what people thought and why they behaved in such and such ways.

Reflecting back to this time, this was partly because I did not experience enough. I had no really big troubles in my life. I did not have a cousin that I loved who died when I was 13. I did not have financial problems. I ate well, grew well, slept well. So to speak, I was too… uh.. ‘clean’.

4. Straight and plain talk

And I liked to talk straight and plain, without caring enough about how the listeners would feel and think about that. And I did not even know some people who had different personalities than I did were getting hurt from the words I spoke.

But because I did not have an active emotion, I could not comfort somebody suitably.. or.. more exactly, I did not know how to comfort anybody. Liking to talk straight and plainly and talking to a friend to comfort him or her were completely different things. When a friend of mine would go through a bad, unwilling event, I could not really comfort him or her with some appropriate words.

Growing pains

At the university: a chance to reflect on my personality and talking habits

I met a range of more diverse people at the university. This was a place where I could learn a lot.

First, I recognized that there is some problem if I were to keep the same personality over my life. I could not understand others; I could not sympathise with others. Some of my friends that I newly made did not really like me talking straight and plain.

This was just because I got to meet more different people. People from around the world, with their own experiences from their social, linguistic, whatever background.

Moreover, some of those who I already knew back from my high school and came to the same university, while we had a brief chance to have an honest talk, told me that they got hurt from what I said in the past. My straight and plain talk were not something to be proud of but be ashamed of. Sometimes it could help (where necessary, like a business meeting), but it does not otherwise.

And I got to know that I needed some improvement on my personality. This was essential if I wanted to work and be friends with the ones that have exactly opposite personalities from mine.

But the problem was I did not know how. Some of my friends had highly respectful and amenable personalities. Even my dad does. But I did not know how I could just ‘acquire’ that.

Well, as a brute-force solution, at first I just attempted to be nice for everybody. When my inner self said to me, ‘do not do a favor for your friend because you are going to be tired.’, I tried to ignore that and just did a favor for my friend. In a sense, I tried to be a nice person in an awkward and forced fashion. It was not natural. And in a programmatic term: not native.

Yeah. My inner self and.. my ‘outer’ self were just just in line with each other. And that was the biggest problem. Being a nice person was not easy as I expected.

At the university: got really clear with what I like and what I don’t.

I faced a fork between a compromise and determination: the university was not like the place that I imagined. I thought I could only learn the things that I wanted to learn, which was mainly computer science. But there was something called ‘Common Core subjects’, which is a kind of a system where freshmen or sophomores have to learn something that does not belong to the stream of their majors.

Well, some people might think this is a great opportunity for students to have a broader knowledge, understanding and experience. For me, it was not. I did not plan to become a marketor, so I hated MKTG2411 or whatever it was named. I did not plan to become an Asian/Sino state of affairs expert, so I hated some subject that I discarded the information about the name of the subject of.

All of these I thought were wasting my time. So I just did not like them. In contrast, I just got a really deep dive into the world of programming and development. I got up all night to code and program. The process of learning and exploring was so sweet for me. I bought additional books about programming to read. I joined sort of a… coding club. I made friends with coders. It was just so beautiful. And so I got B’s and C’s for subjects like… something on Hong Kong law or.. China’s economy in the world. I just did not try to study them at my best. They were just obstacles to my way.

In that course of self-exploration, I got to know that I am mainly intersted in web development. And I dug it more. I dug React, I dug Sass, I dug Material Design, I dug ES6 and many more.

It was so good. Programming was definite and logical. Nothing was like a metaphor in programming. If an input produced A from a function, it never produced B. Relation (in mathematics) was cool. It was what I wanted—exactly opposite from something like metaphor. A metaphor in literature could be interpreted in any ways depending on the person or the context or anything and it is meant to be like that. And that is not like function, so I did not like that.

Oh, and plus, I liked reading books. But they were largely two types of books that I liked. Christian and programming. Other books like, like.. anything else, I did not read at all.

In the Navy: most unexpected and drastic change in my life.

Difficulties

So this is a long story.

Ok. First of all, as a Korean national, I had to enlist to serve for about two years. But I did not want to just waste that time in the army. I wanted to do something meaningful for my future career and my life.

So I thought I could do something about computer science that is my major. And I found some positions related to it were available in the air force and the navy as well. So I made an application for both of them (actually I did for the army as well but that was not my real interest, as no ‘professional’ position that allow me to dive deep into computers was not really available).

And in the process of searching more information on the internet, I got to know that the navy would allow me to do something more professional than the air force. The navy allowed some of applicants like myself to enlist as a special position — information systems technician. And I even had an interview for that at the ROKN HQ. In contrast, if I were to go for the air force, nothing really professional was fully guaranteed. I liked that offer from the navy very much. The interviewers said I would either go for a position on information security or program development on the land (not in the sea). Both were fine for me. So after a long time of discussion with my family members and thinking about it on my own, I decided to enlist in the navy. And I did not know I was perhaps not going really the right way.

Everything seemed to be going well until I was in the bootcamp. I hoped to go to the Navy HQ, but it was arranged randomly that I would go to the 1st Fleet Command. Well, that was fully understandable. I thought chances for program developments and cybersecurity would also be there.

And before the deployment to the 1st Fleet, I and other seamen who were planned to go to the 1st Fleet Command were handed over the list of vacancies in there. And there were no positions about program developments and cybersecurity AT ALL. Most of the positions were offerred from vessels, meaning that I had a pretty high chanec to get on a vessel. And I did — they randomly arranged on a computer a position for each seaman without caring about me at all. The managers at HR office did not even seemed to know that I came in as an information systems technician unlike other seamen who came in for normal computer operations. Opposedly, other two seamen who came in as information systems technician that went to Republic of Korea Fleet Command (also called Commander-in-Chief Republic of Korea Fleet; CINCROKFLT) were directly deployed at Computer Emergency Response Team (CERT). So I thought it was not fair. It was just not right. I appealed on this matter back from the bootcammp, nothing came back in return.

I did not expect to get on a vessel, but now I was crossing over the gangway of PKG-733 (named as Lee Byungchul) with all my stuff. The vessel was a Gumdoksuri class patrol boat. The vessels are also known as the fast patrol boat (PKX) and guided-missile patrol killer (PKG).. It was not a big ship. Its capacity in the table of organization was only 45 people: 10 seamen, 30 petty officers, and 5 officers. The ship only weighed 300 tonnes. It was designed for agile patrolling service around the border.

It was just a big, big rude surpise for me. I panicked. I started to experience the things that I never knew, cared about, or expected to experience. On the first day sleeping in the vessel, I made a call to my parents. I whined. My parents whined. Each of us were not just trying to know each other that we were crying silently. We whined very quietly. I cried again when I was taking a shower. I felt it was so unfair and unlucky. Nothing ever related to cybersecurity or program development would happen in a vessel. Now I thought my whole life was screwed up. Because it went too wrong from what I thought it would be. The whole plan that I made foreseeing the future after the discharge — it’s just gone. It was just gone.

And here is the list of the things that made it so difficult for me to live in the vessel:

1. No time to take a rest. When you are on a boat, you don’t know what’s going to happen. If the weather’s not good and one of the mooring lines placed on a bollard is cut off because of much of oscillation from the vessel, you have to get another one placed on the bollard again. It does not matter if you are sleeping or in a bathroom. And whenever another vessel comes in next to our ship for ship to ship mooring, I had to go out again to receive the mooring line from the ship. If there is an emergency departure (for example, because of an unidentified vessel in Korean waters), the vessel just has to depart regardless of morale of the crews or whatever other reasons. If there is no water in the vessel, you could not take a shower until it’s in port again.

2. The weather. The weather. The weather… it was just so cold. It was December 26 when I first got myself on the vessel. In the very middle of this winter in the East Sea, when the sensible temperature reached -10~20 degrees Celsius, I had to be outside on the main deck, working things out as the vessel came in port or departed from it. And the temperature management system inside the vessel was broken, so sometimes it was too hot, or more worse—too cold. Right next to me was just an iron wall covered with some kind of waterproof tape when I laid myself down in the bed to sleep. The coldness was penetrating through my skin to my bones.

3. Seasick. I did not know it would be this bad. Whenever the ship moved from one place to another, it was such a great pain for me. I remember one day I vomitted 3~4 times. And basically when you are having a seasick, you cannot just ask the captain to stop the vessel; it has to go its way. So the simplest solution is to bear that pain of headache and heavy nausea. The ship would normally patrol for one or two days at its maximum because it was a relatively small ship. Then I could not even go to the bathroom to wash my face because every single time I got into the bathroom while the boat was on move, I felt like vomitting with more nausea increasingly prevailing up on my throat. I could not eat anything while the ship was moving; even water. Anything that went through my throat made my seasick harder. So if the boat went on for patrolling for 24 hours, I would sleep probably for 12 hours when I am not on duty because that is the only way to avoid ‘being conscious of’ the seasick, and spend 8 hours for the duty (bearing the pain) and spend rest of the hours just laying on the bed doing nothing because I could not sleep anymore because I slept too much. And when I got to lay on the bed, I could not even think of getting my uniform changed because otherwise the seasick would get worse. It was just a terrible experience.

4. Sleeping condition. When the vessel is on the move, you can just hear the sound that its hull is making by bumping up with the water about every 5 seconds. It’s 300 tonnes + some tonnes of oils + some tonnes of water stored + the weight of the crews that’s giving a force to the ocean. So the sound.. it is actually more right to say it’s a noise. You cannot just stop this noise. The beds were in the platform (means one floor down from the main deck) near the bow (means the forward side of the hull) so you could literally sleep with the sound made every 5 seconds. And the ship is rolling, pitching, heaving, yawing, surging, and swaying so it’s like you are sleeping in a cart of a roller coaster that repeats some mild go-down-and-go-up course. You know that feeling when an airplane sinks down for a moment when it’s flying? It’s just like that, except that it would happen thousands of times.

4. Living condition. It was the first time in my life to see a triple bunk bed. The ship was small, and the ceiling was low as well. And so I could barely sleep there. It was just too cold and uncomfortable. All ten seamen lived in this kind of bed and the room assigned for sleeping was just about 4 ‘Pyeongs’ big, which in square meters 13.223 m^2, and in acre about 0.003 ac. It was just so small. 10 people slept, read books, changed clothes, talked, took a rest there. And because of the ceiling that was too low, I often got my head bumped on it when I walked inside the vessel. At least once a day.

5. Working condition. In ROKN, all ranks lower than PO1 are all enlisted ones. Only from PO1 are the people who have voluntarily came in to make money. Well, so there’s a definite difference between those two groups. The former normally receives an order to do chores, and the latter gives an order. So I obviosuly was in the former group, so I did things like painting the boat, emptying trash cans, mopping the floor — something like that. And when it was the time the boat is running the turbine hard for testing or any other purposes, and if I were doing some chores outside on the main deck, the exhaust would come up without a filter, so I would just literally drink the exaust gas. It’s even worse than placing your nose right in front of a diesel based vehicle. You cannot just see anything when you are ‘inside’ the smoke of the exhaust and you are just inhaling it. I am by nature especially sensitive to smell, so I really hate inhaling bad gases but I could not avoid doing that. And that was terrible too.

6. The people. Even if you don’t want to see some people you don’t like, you’ve gotta see them everyday. The ship’s not big, and it’s always the same people running operations on it. There were about 3? people that I did not really like the way and the things they talked. Or they did un-understandable things. They all came from different backgrounds, understood things differently, communicated differently—in simple terms, they just behaved differently in a very weird fashion from my perspective. But I had to see them and listen to them and pretend to be content with what they spoke.

7. Moments I could not accept the reality that I am on a boat. It was the most terrible thing while I was on the boat. I hated doing chores because I did not come to the Navy for this. I hated doing works with wet mooring lines because this was not I what I came for. There was just no reason. But I did my best for all these things because I believed that this was the only way that I could somehow be deployed at the place that I initially wanted to go. I could not do proper coding or any advanced computer operations for the time I was on the boat. That made me feel sad and depressed. That was not just right. Imagine if you could not do the thing that you like the most and that you pleases you the most.

The new captain

And soon, a new captain of the vessel came around the end of December 2017. And she changed everything. She was a Lieutenant commander, small in height, but full of charm — always smiling to the sailers, always being kind to them.

So I was looking for an opportunity to let people know about what happened to me so far. I had this plan: the Navy Intranet had this thing called ‘Idea panel’. I noticed people who posted terrific suggestions were seen by officers who were working at the HQ or the Fleet Command — those who could possibly get me out of the vessel if it gets known by these people that I am actually a good developer who cannot be wasted working on a boat!

So I started writing this report: Navy Intranet Front-end Renewal project. It was just literally about abandoning old coding practices and HTML 4.01 (all those terrible table and iframe tags… and the index page that was built first in 1999 and catching up with the contemporary development trends like React, Webpack, etc (which by far the Navy was falling behind, because we have to use Internet Explorer 8 to be compatible with the systems on the web we are using). I also posed some points on introducing open-source projects (software) to the Navy program development practice and provided a timeline for the actual development if it gets realized. The explanation of the report might be a bit vague because it is just a brief summary of it, but it was actually of great quality, reflecting my zeal to get out of the ship. So, in early January, I was still writing it. And I came across with an unexpected chance:

In mid-January, we were dispatched from the home port and were anchored at the barge. And I was on my duty for gangway watch. It was tiring and boring. But caused me the deepest sadness and trouble in my mind was the fact that I was doing something completely irrelevant to what I meant to be doing in the navy. As I was trying to kill the time by walking around the stern, suddenly the captain came upon me across the gangway and said, Should we grab a cup of coffee or something? and I said I was okay because it was actually pretty cold for anybody to stay outside, although it was still a daytime. But she insisted so, so we did. She went into her cabin to get coffee for her and myself. For some reason, she begun to ask lots of questions like, “Why did you choose the Navy while you could go for KATUSA or the Army?” or “How did you get on this ship?"" I was so thankful that she was doing so. I could not miss this chance. I had to tell her everything that happened. It was the day the vessel was not sailing at all. I got so much time and so did she. So I told her everything. Just about everything. And she sincerely got to worry about me after fully understanding my circumstances.

It was more than a one and a half hour talk. The captain gave me a suggestion after listening to my plan: why not put the report forward as a official document? She told me that if I post the report in an unofficial manner on the Ideal Panel, nobody can guarantee that an answer would come back to me. In contrast, If I put it forward as an official document, the superior units would have to examine it and come back to me with some kind of reply, and that would be the way it would work better. So I gave up on the Idea Panel thing and instead prepared to send it as an official doc.

And it was that night that I was on the watch again. It was too cold, so I sneaked into the vessel and was thinking of just staying inside the communications room for a min. And I found something was on the monitor: an official document from the HQ saying any demands for software development or renewal be reported as a official paper. And there was a template provided as well. I was shocked. How could this go ‘this’ well? And I told this about the captain (later I got to know PO1 working with me who knew I was writing the report left the document opened up on the computer screen so that I could see it once I come in to the communications room) and we both were glad. I quickly finished off the report in one week and sent it off.

A ‘fair’ transfer

Maybe it was one or two weeks later. One of the officers picked up a call from Naval Information Systems Management Group (NISMG). Obviously it was a call from the officer who saw my report. He handed the phone over to me, and we talked a lot of things, mainly on tech. He knew that I was not to be on the vessel because I wrote at the end of the report on structural problems in the Navy causing slow and predictable developments and gave myself as an example of that. So he asked me if I wanna go onto the land to work and of course I said yes, I especially said I really wanna go to the NIMSG because that is where all the heavy and relevant work is; it is located at the HQ and it is the most superior unit in the Navy that manages information systems and security related work.

And that was it. I could feel that I impressed some people related in this area. So I was waiting. After a few days, I again got a call from the Communication Battalion from the 1st Fleet Command to which the vessel I belonged to was involved in. And they said they would like to take me to the CERT in the 1st Fleet Command. I said I wanna go to the NISMG but there because I could know that they would just let me do nothing there in the 1st Fleet; it is only a small unit there. But the HR system in the Navy was rigid and inflexible; They would not let me transfer to another unit in another Command. They said it was a rule. And yeah, it was a rule, but I was just looking for some exceptions.

At the end it was determined that I was transferring to the CERT in 1st Fleet Command (I had no choice, but it was certainly better than being on the boat; I can study in my free time on the land and the work in CERT was more relevant to what I want to do and like than that on the boat). That was the beginning of the February. Because, again, they did not care about me again, I had to wait almost two months more. Later I got to know that the head of HR office of the 1st Fleet had changed and they obviously forgot about transferring me to there because the prior head did not go through a proper handover to the new one; I just again was reinstated to a genuine seaman who is working normally on the vessel with no especial affairs due to their ignorance. It would be too boring to explain all the process on how I asked the officers in the vessel to contact and go over to the HR office and talk it out, so I will just cut it.

It took a long time. I thought I could not go. Already a complete distrust towards this whole inflexible system spawned in my thoughts. But at the very end of March I was given an order to transfer to the CERT. That marked the end of all those troubles that I suffered on the boat.

Now

All is well. I can access the Internet often to go on Github and contribute. I can code. I can study. It is not the best that I was looking for, but it is the best option among all possibilities. Because it is a small unit relative to the superior units, I could apply for things like DEFCON and win there because nobody applied.

Some reflections on what I got from this long standing trouble

1. Passion proves you how much you are into the thing and it gives you opportunities.

This environment where I could not do what I wanted to do drove me crazy. And I got to know that my passion was being oppressed and that at the same time a great passion was residing in me. I was looking for things to code and finally I did: there was a VBA script editor on something called HanCell(Copycat of Excel that only, only, only… Korean bureaucrats use). Using that, I coded things like gomoku. Default terminals on Windows 7 are cmd and Powershell and so I always tried them out when I had time. One big thing was Google Chrome. For some reason, the computer wired to the Intranet had Chrome installed. I could code javascript and html (on notepad) and could make some programs like static search engine or calendar (because there was no server I could launch up, it was a great chance to know about JSON.stringify() and JSON.parse and localStorage.)

If I couldn’t even do these, I would have got crazy. But luckily there were some freaky ways that I could do some coding-related stuff!

And because I was crazy about this stuff, I wanted to get out of the boat, and that was the principal reason why I started writing that report that later got me out.

I believe this is a lesson that taught me if you are passionate enough (actively doing something productive regarding what you wanna do), you are going to get a chance to do something that you actually want to do.

2. I can now understand more diverse people and communicate well with them

Lots of weird and different people I met. But I’m sure there are going to be surprisingly more people who do not share similar habits and personalities with me. But I now know a bit about how to deal with them.

You know, seriously, you cannnot just do your own thing and succeed in something. You need other people’s help, and often it is the case that the person you need to interact with is not the one that you are feeling comfortable with.

I learned to be as kind and polite as possible because that is the best way that could cause no trouble between and them and me. Also, never talk from your perspective; They would not understand what you are talking about if you only say while already having understood what you are talking about. See from their perspective and reckon what they might lack in knowledge. And explain things plainly.

Otherwise it will only take longer time to relay your message to your peer. That is one of the lessons from the boat where everybody is stressed out and wants to take their anger out against inferiors.

Always be reminded that we don’t think the same thing ever. Try to understand people with that spirit. I know it’s hard. With a series of real-life practices, you are going to be trained well if you meet the ‘right’ people.

3. I got some new sense on emotion

Yeah it’s true that some nerves in my body evolved to feel some emotion as well. I don’t know how, but at some point I could feel this. Perhaps the environment was harsh enough for me to develop some emotional sense.

It might sound funny, but I can now feel some pity and express that feeling. You are gonna know when you see me (lol).


Written by Joel Mun. Joel likes Typescript, React, Node.js, GoLang, Python, Wasm and more. He also loves to enlarge the boundaries of his knowledge, mainly by reading books and watching lectures on Youtube. Guitar and piano are necessities at his home.

© Joel Mun 2023