NDA에 서명했는데 일상 업무에 대해 어떻게 말씀드릴 수 있을지는 모르겠지만 너무 자세히 설명하지 않고 최선을 다해 설명하겠습니다.
저는 미국 다국적 기업의 소프트웨어 엔지니어로, 고객에게 해당 서비스와 관련된 정보를 제공할 수 있도록 챗봇 AI와 다양한 서비스 간의 안전하고 원활한 통신을 보장하는 미들웨어를 프로그래밍하고 있습니다. .
저는 백엔드에서 Javascript를 위한 런타임 환경인 JavaScript와 Node.js를 주로 사용합니다. 이 앱은 여러 Red Hat Linux(RHEL) 서버에서 실행됩니다.
Node에서는 초기 개발 속도가 빠르고, 최대한 빨리 관리팀에 진행 상황을 보여줘야 했기 때문에 Node.js를 선택했습니다. Node.js는 API에 대한 요청과 같은 대량의 I/O 작업을 효율적으로 처리하는 데 탁월한 비동기 모델을 사용합니다. Node는 수평적 확장에도 적합합니다. 즉, 애플리케이션을 실행하는 추가 서버를 쉽게 추가하여 증가된 트래픽이나 작업 부하를 처리할 수 있습니다.
Windows에서 개발하지만 앱 자체는 RHEL 서버에서 실행됩니다. 우리가 RHEL을 선택한 이유는 사용자 정의가 가능하고 강력한 보안 관행으로 잘 알려져 있기 때문입니다. 심층적인 수준에서 구성을 관리하는 것은 Windows보다 Linux에서 훨씬 쉽습니다. 이는 여러 보안 계층 및 인증을 처리할 때 필수적입니다. 또한 Microsoft와 같은 외부 회사에 대한 의존도도 낮습니다. RHEL은 고성능 애플리케이션에 최적화되어 표준 Linux보다 더 나은 메모리 및 리소스 관리 기능을 제공합니다. 또한 다른 엔터프라이즈급 소프트웨어와도 광범위하게 호환되며 모니터링, 로깅 및 시스템 성능 관리를 위한 도구가 포함되어 있어 복잡한 기술 스택에 더 쉽게 통합할 수 있습니다.
이 앱은 마이크로서비스 아키텍처를 기반으로 하므로 앱이 최대한 많은 모듈을 가질 수 있어 다양한 목적에 맞게 적응할 수 있습니다. 예를 들어 내 미들웨어는 AI뿐만 아니라 보안 I/O 및 API 통신이 필수적인 다른 애플리케이션도 지원할 것입니다.
팀은 약 30~40명으로 구성되어 있지만 주로 제가 직접 미들웨어를 개발합니다. 단, 인턴의 도움도 받습니다
일을 하면서 가장 어려운 부분이 바로 사람들과의 소통인 것 같아요. 서비스 구현을 위한 API 또는 앱을 위해 다른 팀에 연락해야 할 때, 또는 다른 엔지니어의 의견이 필요한 경우, 때로는 응답하지 않거나 도움이 되지 않는 답변을 제공하여 실망스러울 수 있습니다. 정말 강압적으로 해야 하는데 저는 별로 안 좋아해요.
제 작업에서 가장 어려운 부분은 항상 서두르면서 테스트 중심 개발과 같은 모범 사례를 따를 시간이 거의 없다는 것입니다.
이 작업의 가장 좋은 부분은 코딩 자체와 미들웨어에 다양한 기능을 구현하기 위한 솔루션을 찾는 것입니다.
제 장래 목표는 블로그에 글을 쓰고 프로그래밍 주제에 관해 강연하는 등 기술 분야에서 인정받는 인물이 되는 것입니다. 그래서 저는 영어를 중요하게 생각하고 말하기와 쓰기 능력을 향상시키기 위해 노력하고 있습니다. 저는 강력한 대중 연설가이자 기술 작가가 되고 싶습니다.
또한 TypeScript로 더 많은 코딩을 하고 싶습니다. 지금은 JSDoc으로 타입 안전성을 보장하지만, 저는 TDD에 더 집중하고 TypeScript를 작업에 포함시키고 싶습니다.
제 분야나 저와 관련된 다른 질문이 있으신가요? 댓글로 편하게 알려주세요.
위 내용은 보이지 않는 엔지니어링: 소프트웨어 엔지니어로서의 나의 직업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!