나는 학위 논문을 제출하지 못했고, 프로그래밍에 대한 관심은 어디서 생겼는지 궁금하다

## 개방일

어느 날 나는 한 회사의 개방일에 참석했었다. 발표자는 나의 미래 동료인 안톤 B.였다. 학생들에게 발표를 시작할 때, 그는 어떻게 프로그래머가 되었는지 이야기를 시작했다. 그의 말을 듣는 순간, 나는 뭔가 익숙한 느낌을 받았다.

  1. 역시 IT 엔지니어가 아니었다.
  2. 역시 쓰촨공과대학을 졸업했다.
  3. 역시 2학과를 졸업했다.
  4. 역시 유한 요소법을 학생들에게 가르쳤다.
  5. 역시 석사과정에 실패했다.
  6. 역시 전공과 관련된 일을 하지 못했다.
  7. 역시 특정한 작업을 수행해야 할 필요가 생기자마자, 어떤 강의도 들이지 않고 빠르게 프로그래밍 언어를 익혔다.

지금은 IT 직무에 관심이 있는 사람들, 특히 과정을 수료하고 직장에서 IT 업무를 하길 바라는 사람들을 '입문자’라고 부르며, 그 단어에 부정적인 어조를 담는다. (디름, 이 단어를 고안해 주셔서 감사합니다.)

나는 열광했고, 시간이 흘러갔다. 지금은 안톤이 더 나아가고 있는데, 나는 그의 대신 아이디어를 전개하고 있다.

오늘은 나의 석사과정 이야기를 나눌 것이다.

폴코프 콤맨더3학년 때부터 자신의 전공과목에서 라борант로 일하다가 이후엔 엔지니어로 일했다. 주로 관리하던 곳은 내연기관 실험실이 조금 있었고, 대부분은 두 개의 컴퓨터실이었다.

여기서 말할 것은, 나는 2학년 말에 컴퓨터를 처음으로买了고, 그 이전에는 컴퓨터를 올바르게 꺼보지 못했다. 그때까지 사용하던 AT 전원장치는 화면에 주황색 글자로 “컴퓨터 전원을 끄실 수 있습니다”라고 뜨면 수동으로 전원을 끄도록 요구했다.

그리고 프로그래밍 시험을 이 부족한 지식으로 보았다. 과제는 Delphi로 직선과 포물선의 교차점을 구하는 방정식 해결 프로그램을 작성하는 것이었다.

컴퓨터가 없었기 때문에 나는 수업 시간 외에 강의실에 갔다. 코드는 StrToFloat() 같은 구조만 배웠다 :grin:시간이 부족했고, 당시에는 프로그래밍에 적합하지 않았습니다. 기계공학과 재료역학도 마찬가지였죠. 저는 같은 과의 친구들로부터 가능한 모든 버전을 수집해 가장 유사한 것을 찾았습니다. 공부는 했지만 별 효과가 없었습니다.

시험前几天, 친구가 1.54MB(표준 1.38MB가 맞는지 수정해 주세요)로 포맷된 디스크를 보여주었고, 그 위에 VC Volkov Commander가 설치되어 있었습니다. 이 프로그램은 이중 패널 매니저로 내장된 헥스 에디터가 마음에 들었고, 저는 그 안에서 exe 파일을 수정해 폼에 성함을 바꾸고 시험에 임했습니다. 그 외에도 이 프로그램은 적절했습니다. 방정식의 계수는 하드코딩이 아니었고, 직접 설정할 수 있었습니다.

교수님은 귀여운 여자분이셨고, 오류를 발견하셨습니다. 직선과 포물선의 두 번째 교차점이 화면을 벗어났습니다. 교수님은 결과를 보며 실망한 듯한 표정으로 디스크를 열어보셨습니다.

  • "이거 왜 끝내지 않았어? 여기에 소스코드도 있잖아."빠르게 필드를 수정하고 프로그램을 다시 컴파일했습니다. 성함은 다시 원래대로 돌아왔고, 제가 한 트릭을 눈치채지 못했지만, 저는 그녀에게 고백하기로 했습니다. 제가 모든 일을 어떻게 했는지 설명했고, 그녀는 듣고 말했습니다.

  • “이건 '네’야.”

나는 즉시 집으로 달려가 부모님께 이렇게 말했습니다. “이런 식으로는 안 되어. 컴퓨터가 필요해. 게다가 그림을 연필로 그려줄 약속도 취소할 거라고 했잖아.” 여름 동안 나는 Delphi를 공부하고, 졸업 논문과 디플로마를 계산하는 도움을 주는 프로그램을 만들었습니다.

Linux

나는 Linux에 대해 꽤 빠르게 관심을 갖게 되었고, 친구들이 위성 인터넷을 수신하기 위해 사용하던 DVB 카드 드라이버의 버그 수정을 작성했습니다. 우리는 Pentium II 기반의 라우터를 만들었고, 디스크 대신 플래시 메모리 드라이브를 사용했습니다. 그걸 기술 층의 케라믹 조각 위에 묻고, 두 개의 네트워크를 연결했습니다. 1메가비트를 몇 명이 나눠 사용했죠. 로컬 네트워크에는 토렌트 서버가 돌아가고 있었습니다.

이런 지식은 나를 첫 IT 회사에 채용하게 했지만, 그건 나중 일입니다. 그 전에는 대학에서 수업을 하고, 약국에서 보안요원으로 일하며, 나중에는 KB 공장에서 일했습니다.대학에는 두 개의 컴퓨터실이 있었고, 그곳에는 Squid 프록시와 이메일 서버가 운영되고 있었다. 대학 관리자는 이메일 도메인을 세 단계로 구성하는 것에 대해 전혀 관심이 없었으며, 대신 12대의 컴퓨터가 각각 프록시 입력 전에 흰색 IP를 가지고 있었고, 컴퓨터들 사이에는 트로이 목마가 돌아다녔다.

몇 대의 컴퓨터를 기반으로 MPI 클러스터를 구축하여 연소 계산의 병렬 처리를 수행했다. 윈도우가 있는 한 개의 강의실은 그만두게 되었다.

석사과정

한편, 향후 후보 박사 후보자인 B가 이 클래스를 방문해 자신의 논문을 인쇄하러 왔다. 그의 주제는 나에게 흥미로웠다. 그는 NK-36ST 엔진의 연소 캐메라를 개선하여 배출가스를 줄이는 작업을 하고 있었다. 이 엔진은 가스 압송기 정류소용 엔진이다.그는 나에게 Fluent 프로그램을 사용하는 방법을 가르쳐 주었고, 그 안에서 자신의 모델을 계산하는 방법을 설명해 주었다. 그는 특히 연소 계산을 정확하게 하기 위해 사용자 정의 함수(UDF)를 특별히 개발했다고 말했다. 작동 원리는 연소실의 단면(2D)을 모사하고, 입구와 출구에 경계 조건을 적용하는 방식이었다. 왼쪽에는 압축기에서 나오는 공기와 연료 노즐에서 나오는 가스가 있으며, 외부면에는 연소실을 보호하기 위한 추가 공기층이 있고, 오른쪽에는 1단계 터빈으로의 출구(사진은 없음)였다.

모델은 유체 및 기체 흐름 방정식을 적용할 수 있는 격자로 나뉘었으며, 이 모든 것이 정말로 태워져 연소 현상을 시각적으로 보여주어야 했다.

실제로 어떻게 되었는지는 몇 년 후에야 알게 되었다.

—내가 학교에서 박사과정에 수용될 준비가 되어 있었는데, 조건으로 나에게 회전관(회전관) 연구를 맡길 것을 요구했다. 이 주제는 나에게 매우 싫어졌고, 나는 거절했다. 그 시점에 나는 약국과 자동차 정비소( Subaru 색상 조합)에서의 일을 모두 마치고, 지역적으로는 대학에 머물면서 원격으로 공장에서 일했으며, 내부 행정과 학생 교육을 담당하는 학과에서 계속 머물렀다.

나가 제안된 주제를 거절했기 때문에, 나는 자신의 열정을 가지고 누구에게도 필요하지 않았다. 그 시점에 베라예프는 이미 논문을 국방하고 있었으며(나는 그의 논문 방어에 참석했다), 그의 연구를 바탕으로 미래 박사과정 학생들이 대규모로 새로운 연구를 시작할 계획이었다. 모든 것이 계획대로 진행되고 있었다. 그러나 한 가지 문제점이 있었다. 그 문제는 그의 모델이 실제 제품과 일치하지 않는다는 것이었다. 그는 "설명할 수 없었다"고 했는데, 그가 계산한 개선 효과가 특정 작동 모드에서만 약간의 배출 감소를 가져오는 이유를 설명할 수 없었다.

GTD 설계소 모터스터빌라이저2006년에 나는 대학에서의 학업이 흥미롭지 않아서 공장에서 일하기로 완전히 전환했다. 나는 세 명의 3등 학생들을 졸업시키는데, 그 중 한 명은 최고의 직장으로 취업하여 5등급을 받았다. 그가 콘ья크를 가져오자, 나는 무슨 이유인지 잊어버렸다.

KB의 과제는 가스프롬이 주문한 것이었다(전설은 그랬지만 실제로는 어떻게 되었는지는 모르겠다). 불가리아가 EU의 어떤 조직에 가입하려면, 그의 가스 압송기 staion에서의 배출량을 새로운 기준으로 낮추어야 했다. 모든 기대는 새로운 성능을 가진 작은 엔진에 달렸다.공장에서 공장장이 제 지도교수로 임명되었습니다. 저는 더 작은 엔진인 NK-14ST(Ростех будет поставлять газотурбинные двигатели НК-14СТ в Туркменистанhttps://rostec.ru/media/news/rostekh-vpervye-pokazhet-gazoturbinnyy-dvigatel-nk-14st-na-innoprome-v-tashkente/#start)의 배출가스를 3분의 1로 줄이는 작업을 수행해야 했습니다. (뉴스 기사가 게재된 이후에 전시회까지 6년이 걸렸지만, 저는 2년 안에 프로토타입을 설계하고 실험을 완료했습니다.)

즉시 3D 모델링에 착수했습니다. 스테이타(Л. Света)가 모델을 만들었고, 저는 그들을 메쉬로 분할하고 경계 조건을 적용한 후 계산에 보내었습니다. 계산은 4GB 메모리의 Fedora 시스템에서 수행되었으며, 셀 수는 80만~300만 개였습니다. 계산은 하루를 넘는 시간이 걸렸습니다. 한편, 두 번째 컴퓨터에서는 새로운 모델을 준비하며, 대신 주요 설계자 부사장과의 대결을 기대하며 체스를 했습니다. 스테이타는 그를 체스에서 이기곤 했습니다.

총괄 설계자나는 한 번, 생산을 시작할 허가를 받기 위해 총리의 사무실을 찾았다. 서류를 비서에게 건네고, 접수처 앞에서 줄을 선 채 기다리고 있었는데 갑자기 큰 목소리가 들렸다.

  • 이반 블라디미르ич? 빨리 들어오세요!

이렇게 나는 예정된 순서를 벗어나 총리의 사무실에 들어갔다. 총리가 내 이름과 성이 자신의 이름과 성과 일치한다는 점에 기뻐했고, 그는 말 그대로 ‘말 그대로’ 체스의 말처럼 움직였다. 그는 기뻐했고, 나에게 녹색 신호를 주었다. 연료 연소실과 엔진의 시험 모델을 생산에 투입했다.

설계자와 기술자의 싸움곧 기술자가 찾아와 내 설계도를 가지고 얼굴을 때리려고 할险이 있었는데, 나는 정말 어리석었다. 당시 공장이 어떤 기술을 가지고 있었는지조차 몰랐고, 도구와 부속 장비가 들어가지 않는 곳에 작은 구멍을 뚫도록 작업을 맡겼다. 결국 우리는 구멍을 평면과 정확히 동일한 높이로 만들지 않고, 최대한 2~3mm 높이로 만들 수 있을 정도로 조정하기로 합의했다. 그런데 실제로는 1mm만 뚫았다. 이 1mm는 연료와 공기의 혼합에 매우 중요하다. 그러나 이 1mm의 차이가 충분히 효과를 발휘하여 배기가스 배출량이 5배 감소했다.

결과

불행히도 내 하드디스크가 수십 번 지워졌고, 지금 남아 있는 것은 이전에 이력서에 첨부했던 스크린샷들뿐이다.아래는 부분적으로 작동하지 않는 연소기 모델링 시의 온도 분포 필드입니다. 점화 가능성과 다양한 구성에 따른 배출가스 악화 정도를 분석했습니다. 터빈 앞의 온도 분포 필드 지도를 작성하여, 엔진을 분해하지 않고도 쉽게 결함 진단이 가능합니다(경사면 관찰구에 열전대를 설치하고 엔진 정지 없이 측정만으로 충분함).

이 글들은 학술지에 게재된 논문들입니다. 첫 번째 저자는 이 작업에 아무것도 기여하지 않았으며, 저는 당시 아직 정식으로 논문에 이름을 올리지 못했기 때문에 공동 저자로 표기된 것입니다. 일반적으로 이런 방식으로 논문을 공동으로 작성하는 것이 관례입니다. 만약 혼자서 했다면 정말 멋지겠죠 :smiling_face_with_sunglasses:

오류는 어디에 있나요내 손에는 B의 박사학위 논문이 있었고, 나는 비슷한 계산을 수행할 계획이었다. 하지만 그 계산은 성공하지 못했다. 그의 논문에는 원하는 UDF가 부족했고, 여러 가지 문제가 있었다. 결국 나는 점화 플러그 없이도(그의 논문에서는 점화 플러그가 연소를 유지한다고 주장했지만) 모델을 성공적으로 설정할 수 있었다. 내 연소기들은 몇 번의 반복만으로 바로 정상 작동 모드에 진입했다. 물론 나는 Linux에 큰 공을 인정했다. 시스템이 한 번도 завис거나 다운되지 않았다.

그리고 내가 그의 논문과 같은 이미지를 얻기 시작했을 때, 나는 온도 스케일이 조작되었고, 폰트도 정확하지 않게 선택된 것을 발견했다. 이것이 첫 번째 경고 신호였다.

내 연구에서는 온도가 안정적으로 나타났지만, 연소실 내부에서 온도 분포가 어떻게 형성되는지 설명할 수 없었다. 지금은 매우 중요하다:

가스역학의 고전적인 문제에서, 가스터빈엔진에는 냉각 상태에서만 측정할 수 있는 역류구역(ЗОТ)을 가진 차가운 공기 순환 이론과 실무가 적용된다. 그러나 이전에 누구도 연소 생성물이 있는 뜨거운 엔진에서 역류구역이 완전히 다른 형태를 가진다는 점을 증명하지 않았다. 특히 3D에서는 더욱 그렇다.

차가운 엔진에서는 역류구역이 연료 노즐에서 나온 오이 모양을 가진다. 이는 연기 시험을 통해 확인된다:

그러나 뜨거운 상태에서는 역류구역이 붕괴된다. 영속 속도의 경계가 조건에 따라 새로운 형태로 변화한다. 이는 유리 슬라이스로 측정할 수 없으며, 그곳에서는 모든 것이 2300K의 온도로 타오르기 때문이다:

이것이 제 최종 결론이었습니다. 그러나, 제가 판단이 옳다는 것을 더욱 확신할수록, 지도 교수의 눈빛이 더욱 어두워졌습니다.

왜 방어를 허락하지 않았을까?

그 해, 2007년 가을, 한 명의 석사과정 학생 지도교수가 교통사고로 인해 자신의 3년간의 연구를 방어할 수 없게 되었습니다. 그 자리에 석사과정 학생들을 대신해 다른 지도교수들이 관리했습니다. 제 지도교수와의 대화는 짧았습니다.

- ‘가스프롬 프로젝트는 종료되었고, 시험 결과도 확인되었으며, 상금도 지급되었습니다. 이제 단순히 급여만 받게 될 것입니다.’

- ‘알겠습니다. 그런데 연구는 어떻게 되나요? 저는 시험 자료는 모두 준비했고, 이제 단지 서류만 작성하면 됩니다.’

- ‘그건 문제입니다. 당신은 방어를 허락하지 않습니다. 당신은 많은 학자들에게 길을 막은 사람입니다. 당신의 논문을 바탕으로 여러 박사과정 학생들이 자신의 논문을 작성하고 있습니다. 어떤 학위 심사위원회도 당신을 받아들일 수 없습니다. 당신은 계속 연구를 할 수 있지만, 박사과정은 잠시 멈추게 됩니다. 지금 제 밑에는 학생이 세 명이고, 당신은 가장 마지막입니다. 그러므로 당신은 다음 해 방어를 계획한 학생에게 양보해야 합니다. 저는 한 명의 학생을 받아들일 겁니다.’

- '그렇게 되었군요.'급여 지연이 시작된 시점에, 나는 해고를 통해만 채무를 해결할 수 있었다. 나는 이미 부모님과 함께 살지 않았고, 아파트를 임대하기 위해 돈이 필요했다. 결국 나는 아무데도 가지 못했다.

NK-36ST에서 만날 수 있는 모든 것, 예를 들어 이 작업과 2005년 이후 여기에 대한 모든 내용은 근본적으로 오류가 있다.

Ansys 컨퍼런스

2008년 봄, 모스크바에서 온 친구(Д.В.)가 Ansys의 주최 컨퍼런스에서 발표자로 참가했고, 나를 청중으로 초대했다. 발표자들은 여러 나라에서 왔다. 휴식 시간에 러시아인들은 모두 떠났고, 외국인들은 강당에 남아서 모여 앉았다. 나는 그들에게 몇 장의 슬라이드를 제안했는데, 바로 위에 보여드린 것들이다. 나는 조각난 영어로 그들에게 제안했다.화면에 보여주고, 그걸 설명할 수 있는 대로 설명했지만, 그렇게 무심코 앤트라크트가 지나가고 나서 나는 예정되지 않은 발표자로 전환되었다. 데니스는 모두가 나를 듣고 있다는 걸 보고, 돌아온 사람들에게 러시아어로 다시 이야기를 반복해 달라고 요청했다.

컨퍼런스 후 나는 손님들을 14호관에 있는 비공개 엔진 박물관으로 안내했다. 말하자면, 사람들은 항공기나 로켓 기술에 대해 전혀 관심이 없었다. 비행기나 헬리콥터를 한 번도 본 적이 없었지만, 보는 순간 모두가 감탄했다.

2024

나는 논문 이야기를 여러 번 했고, 동료 디마도 그 이야기를 들은 적이 있었지만 그는 특히 믿지 않았다.

우리는 러시아 원자력 기관에서의 파견 귀국길에, 공항의 불안정한 운영으로 기차를 이용하기로 결정했다.

우리가 탄 좌석에는 젊은 남자가 함께 앉아 있었는데, 짧은 대화를 통해 그는 가스 압축용 엔진 전문가임을 알게 되었다. 우리는 단순히 IT 엔지니어가 아니라, 연소와 터빈에 대해 조금은 알고 있었기 때문에 그는 우리와 계속 대화를 이어갔다.엔진의 미래 모델에 대해 이야기가 나왔습니다. 그는 최근에 경쟁이 있었고, 두 가지 NK 엔진(자연스럽게 모델 이름을 요청했고, 그것이 36СТ와 14СТ였습니다) 중 하나의 가스 생성기를 선택해 완전히 초고급 새로운 엔진 개발을 계속할 것이라고 말했습니다. 이 엔진은 수십 년 전망을 고려한 것입니다.

  • 어떤 엔진이 승리했나요?
  • NK-14СТ입니다.
  • 그런데 왜 그랬나요?
  • 왜?
  • 왜냐하면 제가 그걸 설계했기 때문입니다.

나는 그에게 짧은 서론을 다시 설명했습니다. 36СТ에 적용된 계산이 잘못되었음을 설명하고, 그 이유를 설명했습니다. 그러나 그 젊은이는 이 설명에 큰 관심을 보이지 않았고, 나의 연락처도 받아주지 않았습니다.

디마는 충격 상태였습니다. 동행자로 나타난 그는 제가 이야기한 주제에 대해 알고 있었습니다. 이 모든 것이 단순한 진실이 아니라, 정의된 진실이었습니다. 엔지니어링 산업에 관여한 사람들을 바꾸는 데 17년이 걸렸고, 사실에 기반한 선택이 이루어졌습니다. 그리고 거의 아무도 모르는 사실이지만, 제가 그 여행에서 왜 그렇게 행복해졌는지에 대한 이유입니다. 단지 도입된 클러스터 때문만이 아니라 :wink: