KJA000 / llvm-clang-optimization

0 stars 0 forks source link

. #11

Closed KJA000 closed 6 months ago

KJA000 commented 6 months ago
#include <iostream>
#include <vector>
#include <list>
#include <stdexcept>

// 클래스와 생성자 및 소멸자
class MyClass {
public:
    MyClass(int val) : value(val) {
        std::cout << "Constructor called with value: " << value << std::endl;
    }
    ~MyClass() {
        std::cout << "Destructor called with value: " << value << std::endl;
    }

    // 가상 함수와 상속
    virtual void myFunction() {
        std::cout << "MyClass: myFunction called" << std::endl;
    }

    // 연산자 오버로딩
    MyClass operator+(const MyClass& other) {
        return MyClass(this->value + other.value);
    }

private:
    int value;
};

// 예외 처리
void exampleFunction(int x) {
    if (x < 0) {
        throw std::invalid_argument("Negative value not allowed");
    }
}

int main() {
    // 배열, 리스트, 벡터
    int arr[5] = {1, 2, 3, 4, 5};
    // 2차원 배열
    int arr2D[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    // 3차원 배열
    int arr3D[2][3][4] = {
        {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}},
        {{13, 14, 15, 16}, {17, 18, 19, 20}, {21, 22, 23, 24}}
    };
    std::vector<int> vec = {6, 7, 8, 9, 10};
    std::list<int> lst = {11, 12, 13, 14, 15};

    // 포인터와 레퍼런스
    int x = 5;
    int* ptr = &x; // 포인터
    int& ref = x; // 레퍼런스

    // 포인터 출력
    std::cout << "Pointer: " << *ptr << std::endl;

    // 레퍼런스 출력
    std::cout << "Reference: " << ref << std::endl;

    // 배열 출력
    std::cout << "Array: ";
    for (int i = 0; i < 5; ++i) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;

    // 벡터 출력
    std::cout << "Vector: ";
    for (int i : vec) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    // 리스트 출력
    std::cout << "List: ";
    for (int i : lst) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    return 0;
}
KJA000 commented 6 months ago

문제를 직면하는 자세

인턴 활동 중, 프로젝트 진행 전 이와 관련된 데모 프로젝트가 해외 지부 개발팀에 있어 이를 요청해야 하는 일이 발생했습니다. 데모 자료를 요청하는 것은 메일을 통해 해결하였으나 해당 코드가 제대로 동작하지 않아 온라인 세션을 통해 코드 리뷰 및 구조 설명, 데모 환경 구현에 대해 습득해야 했습니다. 영어 독해 및 작문 능력은 중급이었으나 원어민과의 회화, 특히 실제로 해외 엔지니어와 영어로 소통하고 질문하는 것에 대한 경험은 전무했기 때문에 원활한 작업을 위해 세션 전, 약 2 주간 비즈니스 영어 회화를 준비해야 했습니다.

따라서, 퇴근 후 남는 시간마다 비즈니스 영어 표현과 회화를 연습했습니다. 추가적인 동기 부여를 위해 세션 전 영어 회화 자격증 시험인 Opic 을 신청하였고 매일 퇴근 후 귀가하여 자연스러운 영어 말하기 능력을 향상시키고자 했습니다. 또한 현재 해외에 거주하고 있는 친구의 도움을 받아 잘못된 표현이나 발음을 교정해 보며 부족한 부분을 보충하였습니다. 또한 기술적인 부분에 있어서도 받은 데모 자료 및 코드를 한 줄씩 분석하며 현재 어디에서 문제가 발생하고 있는 것인지, 어떤 부분이 이해가 되지 않는지 등을 정리하고 이를 영어로 번역해 보며 질문을 준비하였습니다.

이를 통해 세션 당일 원활히 코드 리뷰와 데모 환경 설정을 완료했고 궁금증을 느꼈던 코드의 디자인 패턴, 통신 방식 등에 대해 질문 후 그에 대한 응답을 들을 수 있었습니다. 데모에 대한 이해를 완료하였기 때문에 이후 본 프로젝트에 있어서도 빠르고 확실하게 업무를 수행할 수 있었습니다. 영어 회화 자격 시험 또한 짧은 준비 기간이었음에도 목표했던 성적의 한계선을 넘을 수 있었습니다.

이후 목표하는 것이 있다면 주저하지 않고 도전해야 한다는 것, 도전하는 이에겐 반드시 유의미한, 가치 있는 결과가 남는다는 것을 배우게 되었습니다. 따라서 이 사례 이후, 평소 스스로의 한계에 도전하는 것을 두려워했던 제 성향을 변화 시킬 수 있었습니다.

KJA000 commented 6 months ago

기획부터 개발, 출시까지

제가 가장 큰 규모로 협업하여 노력하고 좋은 결과를 성취했던 일은 연합 동아리에 소속되어 모바일 앱을 출시한 것 입니다. 핵심 기능 정의 및 설계, REST API 구현 등 풀스택 작업, 도커를 이용하여 서버 컨테이너를 띄운 뒤 이에 대한 유지 및 보수 작업을 진행했고 출시 이후에도 꾸준히 QA 작업을 통해 서비스 전반을 관리, 주기적으로 AWS를 점검하고 보안 취약점을 직접 검수하였습니다. 이에 따라 약 100명의 유저가 동시 접속 했을 경우에도 별다른 보안 이슈나 서버 문제 없이 서비스를 운영할 수 있었습니다.

약 30명 규모였으나 디자인, 테크, 리서치 팀으로 구분 지어 Slack, Notion 등의 협업 툴을 통해 실시간 소통하며 협업을 통해 얻을 수 있는 시너지와 협업의 가치에 대해 배울 수 있었고 8명의 동료와 하나의 테크 팀으로 Git, Jira를 통해 애자일 방법론적 개발을 진행하며 개발자로서 갖추어야 할 판단력과 소통 능력을 증진 시킬 수 있었습니다. 저 개인으로서도, 하나의 프로젝트에 대해 기획 및 기능 명세서 작성부터 개발, 배포, 유지 보수 전 과정을 진행해 본 최초의 경험이었기 때문에 이를 통해 개발자로서 유의미한 도약을 할 수 있었고, 매우 큰 성취감과 보람을 느꼈습니다. 또한 단순히 서비스를 개발하는 것에 그치지 않고 서버 측에서 보다 효율적으로 데이터를 처리할 수 있는 방안에 대해 강구해 보며 개발 뿐 아니라 서비스의 품질 향상 및 테스트 작업의 중요성에 대해 체감할 수 있었습니다.

구글 앱스토어 : https://play.google.com/store/apps/details?id=kr.co.sasm 애플 앱스토어 : https://apps.apple.com/kr/app/sasm/id6451327975

KJA000 commented 6 months ago

최근 가장 각광받는 키워드 중 하나는 SDV, 즉 소프트웨어로 정의되는 자동차입니다. 이에 따라 기존의 CAN 통신에서 나아가 보다 안정적이고 고속으로 대규모의 데이터를 전송할 수 있는 SOME/IP 프로토콜이 등장하게 되었습니다. 이러한 SOME/IP 미들웨어 솔루션을 개발하기 위해 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 등장 배경, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, A2L 등 차량 데이터 파싱, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM arrch64 기반 크로스 컴파일 개발 경험이 있습니다.

지원한 하계 SW 인턴 SOME/IP 직무의 경우 실제 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했기 때문에 해당 직무에 임하게 될 경우 저의 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

지원한 하계 SW 인턴 SOME/IP 직무의 경우 실제 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 등장 배경, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, A2L 등 차량 데이터 파싱, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM arrch64 기반 크로스 컴파일 등 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 저의 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

지원한 하계 SW 인턴 SOME/IP 직무의 경우 실제 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 등장 배경, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, A2L 등 차량 데이터 파싱, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM arrch64 기반 크로스 컴파일 등 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 저의 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

미들웨어 솔루션을 개발해 본 경험은 부족하기 때문에 안정적이고 체계적으로 솔루션을 개발하고 선도적으로 여러 OEM에 이를 제공하고 있는 현대 모비스에서 현업 개발자들과 호흡을 함께하며 협업하고 기술적인 성장을 이뤄보고 싶은 바램도 있었습니다. 부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

지원한 하계 SW 인턴 SOME/IP 직무의 경우 실제 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 등장 배경, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, A2L 등 차량 데이터 파싱, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM arrch64 기반 크로스 컴파일 등 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 저의 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

안정적이고 체계적으로 솔루션을 개발하고 선도적으로 여러 OEM에 이를 제공하고 있는 현대 모비스에서 현업 개발자들과 호흡을 함께하며 협업하고 기술적인 성장을 이뤄보고 싶은 바램도 있었습니다. 부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

지원한 하계 SW 인턴 SOME/IP 직무의 경우 실제 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, A2L 등 차량 데이터 파싱, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM arrch64 기반 크로스 컴파일 등 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 저의 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

안정적이고 체계적으로 솔루션을 개발하고 선도적으로 여러 OEM에 이를 제공하고 있는 현대 모비스에서 현업 개발자들과 호흡을 함께하며 협업하고 기술적인 성장을 이뤄보고 싶은 바램도 있었습니다. 부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

C/C++를 이용한 SOME/IP 개발 경험

지원한 하계 SW 인턴 SOME/IP 직무의 경우 실제 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, A2L 등 차량 데이터 파싱, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM arrch64 기반 크로스 컴파일 등 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

안정적이고 체계적으로 솔루션을 개발하고 선도적으로 여러 OEM에 이를 제공하고 있는 현대 모비스에서 현업 개발자들과 호흡을 함께하며 협업하고 기술적인 성장을 이뤄보고 싶은 바램도 있었습니다. 부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

C/C++를 이용한 SOME/IP 개발 경험

지원한 하계 SW 인턴 SOME/IP 직무의 경우 실제 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, A2L 등 차량 데이터 파싱, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM 기반 크로스 컴파일 등 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 경험과 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

안정적이고 체계적으로 솔루션을 개발하고 선도적으로 여러 OEM에 이를 제공하고 있는 현대 모비스에서 현업 개발자들과 호흡을 함께하며 협업하고 기술적인 성장을 이뤄보고 싶은 바램도 있었습니다. 부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

C/C++를 이용한 SOME/IP 개발 경험

지원한 하계 SW 인턴 SOME/IP 직무의 경우 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, A2L 등 차량 데이터 파싱, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM 기반 크로스 컴파일 등 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 경험과 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

안정적이고 체계적으로 솔루션을 개발하고 선도적으로 여러 OEM에 이를 제공하고 있는 현대 모비스에서 현업 개발자들과 호흡을 함께하며 협업하고 기술적인 성장을 이뤄보고 싶은 바램도 있었습니다. 부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

C/C++를 이용한 SOME/IP 개발 경험

지원한 하계 SW 인턴 SOME/IP 직무의 경우 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM 기반 크로스 컴파일 등 리눅스 환경에서의 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 경험과 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

안정적이고 체계적으로 솔루션을 개발하고 선도적으로 여러 OEM에 이를 제공하고 있는 현대 모비스에서 현업 개발자들과 호흡을 함께하며 협업하고 기술적인 성장을 이뤄보고 싶은 바램도 있었습니다. 부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

끊임없이 도전하는 개발자

지원한 하계 SW 인턴 SOME/IP 직무의 경우 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM 기반 크로스 컴파일 등 리눅스 환경에서의 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 경험과 역량, 주체적인 성향을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

안정적이고 체계적으로 솔루션을 개발하고 선도적으로 여러 OEM에 이를 제공하고 있는 현대 모비스에서 현업 개발자들과 호흡을 함께하며 협업하고 기술적인 성장을 이뤄보고 싶은 바램도 있었습니다. 부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

끊임없이 도전하는 개발자

지원한 하계 SW 인턴 SOME/IP 직무의 경우 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM 기반 크로스 컴파일 등 리눅스 환경에서의 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 경험과 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

안정적이고 체계적으로 솔루션을 개발하고 선도적으로 여러 OEM에 이를 제공하고 있는 현대 모비스에서 현업 개발자들과 호흡을 함께하며 협업하고 기술적인 성장을 이뤄보고 싶은 바램도 있었습니다. 부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

문제를 직면하는 자세

인턴 활동 중, 프로젝트 진행 전 이와 관련된 데모 프로젝트가 해외 지부 개발팀에 있어 이를 요청해야 하는 일이 발생했습니다. 데모 자료를 요청하는 것은 메일을 통해 해결하였으나 해당 코드가 제대로 동작하지 않아 온라인 세션을 통해 코드 리뷰 및 구조 설명, 데모 환경 구현에 대해 습득해야 했습니다. 영어 독해 및 작문 능력은 중급이었으나 원어민과의 회화, 특히 실제로 해외 엔지니어와 영어로 소통하고 질문하는 것에 대한 경험은 전무했기 때문에 원활한 작업을 위해 세션 전, 약 2 주간 비즈니스 영어 회화를 준비해야 했습니다.

따라서, 퇴근 후 남는 시간마다 비즈니스 영어 표현과 회화를 연습했습니다. 추가적인 동기 부여를 위해 세션 전 영어 회화 자격증 시험인 Opic 을 신청하였고 매일 퇴근 후 귀가하여 자연스러운 영어 말하기 능력을 향상시키고자 했습니다. 또한, 현재 해외에 거주하고 있는 지인의 도움을 받아 잘못된 표현이나 발음을 교정해 보며 부족한 부분을 보충하였습니다. 기술적인 부분에 있어서도 받은 데모 자료 및 코드를 한 줄씩 분석하며 현재 어디에서 문제가 발생하고 있는 것인지, 어떤 부분이 이해가 되지 않는지 등을 정리하고 이를 영어로 번역해 보며 질문을 준비하였습니다.

이를 통해 세션 당일 원활히 코드 리뷰와 데모 환경 설정을 완료했고 궁금증을 느꼈던 코드의 디자인 패턴, 통신 방식 등에 대해 질문 후 그에 대한 응답을 들을 수 있었습니다. 데모에 대한 이해를 완료하였기 때문에 이후 본 프로젝트에 있어서도 빠르고 확실하게 업무를 수행할 수 있었습니다. 영어 회화 자격 시험 또한 짧은 준비 기간이었음에도 목표했던 성적의 한계선을 넘을 수 있었습니다.

이후 목표하는 것이 있다면 주저하지 않고 도전해야 한다는 것, 도전하는 이에겐 반드시 유의미한, 가치 있는 결과가 남는다는 것을 배우게 되었습니다. 따라서 이 사례 이후, 평소 스스로의 한계에 도전하는 것을 두려워했던 제 성향을 변화 시킬 수 있었습니다.

KJA000 commented 6 months ago

문제를 직면하는 자세

인턴 활동 중, 프로젝트 진행 전 이와 관련된 데모 프로젝트가 해외 지부 개발팀에 있어 이를 요청해야 하는 일이 발생했습니다. 데모 자료를 요청하는 것은 메일을 통해 해결하였으나 해당 코드가 제대로 동작하지 않아 온라인 세션을 통해 코드 리뷰 및 구조 설명, 데모 환경 구현에 대해 습득해야 했습니다. 영어 독해 및 작문 능력은 중급이었으나 원어민과의 회화, 특히 실제로 해외 엔지니어와 영어로 소통하고 질문하는 것에 대한 경험은 전무했기 때문에 원활한 작업을 위해 세션 전, 약 2 주간 비즈니스 영어 회화를 준비해야 했습니다.

따라서, 퇴근 후 남는 시간마다 비즈니스 영어 표현과 회화를 연습했습니다. 추가적인 동기 부여를 위해 세션 전 영어 회화 자격증 시험인 Opic 을 신청하였고 매일 퇴근 후 회화 영상을 보며 쉐도우 스피킹을 하는 등 영어 말하기 능력을 향상시키고자 했습니다. 또한, 현재 해외에 거주하고 있는 지인의 도움을 받아 잘못된 표현이나 발음을 교정해 보며 부족한 부분을 보충하였습니다. 기술적인 부분에 있어서도 받은 데모 자료 및 코드를 한 줄씩 분석하며 현재 어디에서 문제가 발생하고 있는 것인지, 어떤 부분이 이해가 되지 않는지 등을 정리하고 이를 영어로 번역해 보며 질문을 준비하였습니다.

이를 통해 세션 당일 원활히 코드 리뷰와 데모 환경 설정을 완료했고 궁금증을 느꼈던 코드의 디자인 패턴, 통신 방식 등에 대해 질문 후 그에 대한 응답을 들을 수 있었습니다. 데모에 대한 이해를 완료하였기 때문에 이후 본 프로젝트에 있어서도 빠르고 확실하게 업무를 수행할 수 있었습니다. 영어 회화 자격 시험 또한 짧은 준비 기간이었음에도 목표했던 성적의 한계선을 넘을 수 있었습니다.

이후 목표하는 것이 있다면 주저하지 않고 도전해야 한다는 것, 도전하는 이에겐 반드시 유의미한, 가치 있는 결과가 남는다는 것을 배우게 되었습니다. 따라서 이 사례 이후, 평소 스스로의 한계에 도전하는 것을 두려워했던 제 성향을 변화 시킬 수 있었습니다.

KJA000 commented 6 months ago

문제를 직면하는 자세

인턴 활동 중, 프로젝트 진행 전 이와 관련된 데모 프로젝트가 해외 지부 개발팀에 있어 이를 요청해야 하는 일이 발생했습니다. 데모 자료를 요청하는 것은 메일을 통해 해결하였으나 해당 코드가 제대로 동작하지 않아 온라인 세션을 통해 코드 리뷰 및 구조 설명, 데모 환경 구현에 대해 습득해야 했습니다. 영어 독해 및 작문 능력은 중급이었으나 원어민과의 회화, 특히 실제로 해외 엔지니어와 영어로 소통하고 질문하는 것에 대한 경험은 전무했기 때문에 원활한 작업을 위해 세션 전, 약 2 주간 비즈니스 영어 회화를 준비해야 했습니다.

따라서, 퇴근 후 남는 시간마다 비즈니스 영어 표현과 회화를 연습했습니다. 추가적인 동기 부여를 위해 세션 전 영어 회화 자격증 시험인 Opic 을 신청하였고 매일 퇴근 후 회화 영상을 보며 쉐도우 스피킹을 하는 등 영어 말하기 능력을 향상시키고자 했습니다. 또한, 해외에 거주하고 있는 지인의 도움을 받아 잘못된 표현이나 발음을 교정해 보며 부족한 부분을 보충하였습니다. 기술적인 부분에 있어서도 받은 데모 자료 및 코드를 한 줄씩 분석하며 현재 어디에서 문제가 발생하고 있는 것인지, 어떤 부분이 이해가 되지 않는지 등을 정리하고 이를 영어로 번역해 보며 질문을 준비하였습니다.

이를 통해 세션 당일 원활히 코드 리뷰와 데모 환경 설정을 완료했고 궁금증을 느꼈던 코드의 디자인 패턴, 통신 방식 등에 대해 질문 후 그에 대한 응답을 들을 수 있었습니다. 데모에 대한 이해를 완료하였기 때문에 이후 본 프로젝트에 있어서도 빠르고 확실하게 업무를 수행할 수 있었습니다. 영어 회화 자격 시험 또한 짧은 준비 기간이었음에도 목표했던 성적의 한계선을 넘을 수 있었습니다.

이후 목표하는 것이 있다면 주저하지 않고 도전해야 한다는 것, 도전하는 이에겐 반드시 유의미한, 가치 있는 결과가 남는다는 것을 배우게 되었습니다. 따라서 이 사례 이후, 평소 스스로의 한계에 도전하는 것을 두려워했던 제 성향을 변화 시킬 수 있었습니다.

KJA000 commented 6 months ago

다양한 경험을 바탕으로 준비된 개발자

지원한 하계 SW 인턴 SOME/IP 직무의 경우 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM 기반 크로스 컴파일 등 리눅스 환경에서의 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 경험과 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

안정적이고 체계적으로 솔루션을 개발하고 선도적으로 여러 OEM에 이를 제공하고 있는 현대 모비스에서 현업 개발자들과 호흡을 함께하며 협업하고 기술적인 성장을 이뤄보고 싶은 바램도 있었습니다. 부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

기획부터 개발, 출시까지

제가 가장 큰 규모로 협업하여 노력하고 좋은 결과를 성취했던 일은 연합 동아리에 소속되어 모바일 앱을 출시한 것 입니다. 핵심 기능 정의 및 설계, REST API 구현 등 풀스택 작업, 도커를 이용하여 서버 컨테이너를 띄운 뒤 이에 대한 유지 및 보수 작업을 진행했고 출시 이후에도 꾸준히 QA 작업을 통해 서비스 전반을 관리, 주기적으로 AWS를 점검하고 보안 취약점을 직접 검수하였습니다. 이에 따라 약 100명의 유저가 동시 접속 했을 경우에도 별다른 보안 이슈나 서버 문제 없이 서비스를 운영할 수 있었습니다.

약 30명 규모였으나 디자인, 테크, 리서치 팀으로 구분 지어 Slack, Notion 등의 협업 툴을 통해 실시간 소통하며 협업을 통해 얻을 수 있는 시너지와 협업의 가치에 대해 배울 수 있었고 8명의 동료와 하나의 테크 팀으로 Git, Jira를 통해 애자일 방법론적 개발을 진행하며 개발자로서 갖추어야 할 판단력과 소통 능력을 증진 시킬 수 있었습니다. 저 개인으로서도, 하나의 프로젝트에 대해 기획 및 기능 명세서 작성부터 개발, 배포, 유지 보수 전 과정을 진행해 본 최초의 경험이었기 때문에 이를 통해 개발자로서 유의미한 도약을 할 수 있었고, 매우 큰 성취감과 보람을 느꼈습니다. 또한 단순히 서비스를 개발하는 것에 그치지 않고 서버 측에서 보다 효율적으로 데이터를 처리할 수 있는 방안에 대해 강구해 보며 개발 뿐 아니라 서비스의 품질 향상 및 테스트 작업의 중요성에 대해 체감할 수 있었습니다.

구글 앱스토어 : https://play.google.com/store/apps/details?id=kr.co.sasm 애플 앱스토어 : https://apps.apple.com/kr/app/sasm/id6451327975

KJA000 commented 6 months ago

능동적인 태도로 다양한 경험과 역량을 준비하다

지원한 하계 SW 인턴 SOME/IP 직무의 경우 이더넷 환경에서 AUTOSA 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신 프로토콜과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 차량용 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. AUTOSAR 기반으로 제작된 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM 기반 크로스 컴파일 등 리눅스 환경에서의 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 경험과 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

안정적이고 체계적으로 솔루션을 개발하고 선도적으로 여러 OEM에 이를 제공하고 있는 현대 모비스에서 현업 개발자들과 호흡을 함께하며 협업하고 기술적인 성장을 이뤄보고 싶은 바램도 있었습니다. 부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

능동적인 태도로 다양한 경험과 역량을 준비하다

지원한 하계 SW 인턴 SOME/IP 직무의 경우 이더넷 환경에서 AUTOSAR 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. SOME/IP는 SDV 즉 소프트웨어 중심 차량 개발이 등장함에 따라 기존의 CAN 통신보다 더 빠르고 안정적으로 런타임 환경에서 대규모 데이터를 송수신하기 위해 개발된 이더넷 통신 프로토콜입니다. TCP 또는 UDP를 기반으로 하기 때문에 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. 가상화 및 SiL 테스팅 툴들을 사용해 보고, 기능 오류 분석 등을 수행하며 미들웨어 솔루션 툴의 구조에 대해 배울 수 있었습니다.

덧붙여, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM 기반 크로스 컴파일 등 리눅스 환경에서의 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 경험과 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

능동적인 태도로 다양한 경험과 역량을 준비하다

지원한 하계 SW 인턴 SOME/IP 직무의 경우 이더넷 환경에서 AUTOSAR 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. SOME/IP는 SDV 즉 소프트웨어 중심 차량 개발이 등장함에 따라 기존의 CAN 통신보다 더 빠르고 안정적으로 런타임 환경에서 대규모 데이터를 송수신하기 위해 개발된 이더넷 통신 프로토콜입니다. TCP 또는 UDP를 기반으로 하기 때문에 해당 직무에 필요한 역량은 SOME/IP, TCP, UDP 등 통신과 차량용 미들웨어 솔루션 툴에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. VECU Builder, COSYM 등 여러 툴들을 사용해 보고, 디버깅 작업을 수행하며 미들웨어 솔루션에 대해 공부할 수 있었습니다.

덧붙여, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM 크로스 컴파일 등 리눅스 환경에서의 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 경험과 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

능동적인 태도로 다양한 경험과 역량을 준비하다

지원한 하계 SW 인턴 SOME/IP 직무의 경우 이더넷 환경에서 AUTOSAR 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. SOME/IP는 SDV 즉 소프트웨어 중심 차량 개발이 등장함에 따라 기존의 CAN 통신보다 더 빠르고 안정적으로 런타임 환경에서 대규모 데이터를 송수신하기 위해 개발된 이더넷 통신 프로토콜입니다. TCP 또는 UDP를 기반으로 하기 때문에 해당 직무에 필요한 역량은 SOME/IP뿐 아니라 TCP,UDP 등 통신 전반, 차량용 미들웨어 솔루션에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. VECU Builder, COSYM 등 여러 툴들을 사용해 보고, 디버깅을 진행하며 미들웨어 솔루션에 대해 공부할 수 있었습니다.

덧붙여, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM 크로스 컴파일 등 리눅스 환경에서의 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 경험과 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

능동적인 태도로 다양한 경험과 역량을 준비하다

SOME/IP는 SDV, 즉 소프트웨어 중심 차량 개발이 등장함에 따라 기존의 CAN 통신보다 더 빠르고 안정적으로 런타임 환경에서 대규모 데이터를 송수신하기 위해 개발된 TCP 또는 UDP 기반 이더넷 통신 프로토콜입니다. 지원한 하계 SW 인턴 SOME/IP 직무의 경우 이더넷 환경에서 AUTOSAR 기반 SOME/IP 미들웨어 솔루션 개발 보조 및 리눅스 환경에서 테스트 작업을 진행할 것이라고 이해했습니다. 따라서 해당 직무에 필요한 역량은 SOME/IP뿐 아니라 TCP,UDP 등 통신 전반, 차량용 미들웨어 솔루션에 대한 이해도라고 생각합니다.

2024년 1월부터 약 6개월 간 이타스코리아의 SDV 개발솔루션팀(DEV팀)에서 인턴으로 근무하며 C와 C++를 이용하여 SiL 테스팅 툴인 COSYM 프로그램과 VRTE(리눅스 기반 가상 런타임 환경) 내부에 실행된 에뮬레이터 간 SOME/IP기반 가상 이더넷 통신을 구축하였습니다. 이를 통해 SOME/IP의 정의, 구조, 통신 방식에 대해 배울 수 있었고 ECU 간 통신에 대한 이해도를 높일 수 있었습니다

또한 인턴으로 근무하며 차량용 미들웨어 솔루션 툴들을 다뤄보고 이를 사용하는 고객사에 대해 FA 엔지니어링 작업을 수행해 본 경험이 있습니다. VECU Builder, COSYM 등 여러 툴들을 사용해 보고, 디버깅을 진행하며 미들웨어 솔루션에 대해 공부할 수 있었습니다.

덧붙여, TCP/UDP 기반 채팅 프로그램 개발, 학부연구생 활동을 통한 리눅스 프로그래밍, ARM 크로스 컴파일 등 리눅스 환경에서의 C/C++를 이용한 여러 번의 개발 경험이 있기 때문에 해당 직무에 임하게 될 경우 이러한 저의 경험과 역량을 바탕으로 개인적인 성장뿐 아니라 업무적 기여 또한 성취할 수 있을 것이라고 생각하였습니다.

부족하지만 귀한 기회를 제공해 주신다면 최선을 다해 그 선택이 귀사 그리고 저를 위한 좋은 결정이었음을 증명해 보여드리도록 하겠습니다.

KJA000 commented 6 months ago

꾸준한 분석으로 문제 상황을 돌파하다

학부연구생을 하며 선행 연구를 진행하던 중 원하는 결과가 나오지 않는 일이 발생했습니다. 연구 목적은 O0와 O2를 비교하여 O2의 결과가 더 불안정하다는 가정을 증명하는 것이었습니다. 이에 TFLite에서 제공되는 벤치마크 모델을 llvm clang을 통해 최적화 레벨을 달리하며 크로스 컴파일, 이미지 신경망 모델로 프로그램의 실행 시간을 측정 및 분석하였습니다. 그러나 O2와 O0간 표준편차, 분산을 비교해 보아도 큰 차이를 발견하지 못했습니다. 따라서 이를 해결하기 위해 단계적으로 문제에 접근해 보았습니다. 1) 문제 분석하기 메모리 누수로 인한 실행 시간 측정 오류가 원인일 수 있다는 생각이 들어 리눅스의 메모리 분석 툴인 cachegrind를 사용하여 분석해 보았습니다. 그 결과 코드의 일부분에서 불필요한 메모리 흔적이 발생한다는 것을 파악하였습니다. 또한 그래프로 가시화 해 보며 실행 횟수가 너무 적어 결과가 정확하지 않을 수 있다고 생각했습니다. 따라서 이를 바탕으로 발견된 문제들을 개선해 보고자 하였습니다. 2) 대상이 되는 프로그램을 변경하기 먼저, 기존에 사용한 TFLite의 벤치마크 모델이 아니라 마이크로 컨트롤러에서 신경망 모델을 실행하기 위해 사용되는 ARM 라이브러리 CMSIS-NN의 유닛 테스트들에 대해 컴파일하는 것으로 변경하였습니다. 최신 딥러닝 모델에 특화된 최적화 기법이 사용되어 메모리 흔적 없이 실행 시간을 측정하는 것에 도움이 될 것이라고 판단했기 때문입니다. 3) 실행 횟수를 변경하기 기존에는 1000회, 2000회, 3000회를 기준으로 하였으나 이 경우 분포를 확인하려 해도 데이터의 수가 부족하여 정확도가 낮았습니다. 따라서 실행 횟수를 각각 10배씩 증가시켜 보았습니다. 이를 통해 O0가 O2보다 더 값의 변화 추이가 작다는 기존의 가설과 일치하는 결과를 얻을 수 있었습니다. 더불어, 소프트웨어 문제에 대해 이를 파악하고 단계적으로 해결하는 능력을 기를 수 있었습니다.

KJA000 commented 6 months ago

기획부터 개발, 출시까지

연합 동아리에 소속되어 모바일 앱을 출시하며 체계적인 팀 프로젝트 개발 경험을 쌓을 수 있었고 협업의 중요성을 깨달을 수 있었습니다. 핵심 기능 정의 및 설계, REST API 구현 등 풀스택 작업, 도커를 이용하여 서버 컨테이너를 띄운 뒤 이에 대한 유지 및 보수 작업을 진행했고 출시 이후에도 꾸준히 QA 작업을 통해 서비스 전반을 관리, 주기적으로 AWS를 점검하고 보안 취약점을 직접 검수하였습니다. 이에 따라 약 100명의 유저가 동시 접속 했을 경우에도 별다른 보안 이슈나 서버 문제 없이 서비스를 운영할 수 있었습니다.

약 30명 규모였으나 디자인, 테크, 리서치 팀으로 구분 지어 Slack, Notion 등의 협업 툴을 통해 실시간 소통하며 협업을 통해 얻을 수 있는 시너지와 협업의 가치에 대해 배울 수 있었고 8명의 동료와 하나의 테크 팀으로 Git, Jira를 통해 애자일 방법론적 개발을 진행하며 개발자로서 갖추어야 할 판단력과 소통 능력을 증진 시킬 수 있었습니다. 저 개인으로서도, 하나의 프로젝트에 대해 기획 및 기능 명세서 작성부터 개발, 배포, 유지 보수 전 과정을 진행해 본 최초의 경험이었기 때문에 이를 통해 개발자로서 유의미한 도약을 할 수 있었고, 매우 큰 성취감과 보람을 느꼈습니다. 또한 단순히 서비스를 개발하는 것에 그치지 않고 서버 측에서 보다 효율적으로 데이터를 처리할 수 있는 방안에 대해 강구해 보며 개발 뿐 아니라 서비스의 품질 향상 및 테스트 작업의 중요성에 대해 체감할 수 있었습니다.

구글 앱스토어 : https://play.google.com/store/apps/details?id=kr.co.sasm 애플 앱스토어 : https://apps.apple.com/kr/app/sasm/id6451327975

KJA000 commented 5 months ago

수험번호는 ibk121211 이고, 비밀번호는 1204 입니다