로보테크AI

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/03/13 +자소서 특강

steezer 2026. 3. 13. 18:30
steezer@DESKTOP-TF8J569:~/ros2_study$ cd ..
steezer@DESKTOP-TF8J569:~$ ls
260309  260310  260311  greetings  normal_file  python  ros2_study  snap  Untitled.ipynb
steezer@DESKTOP-TF8J569:~$ cd ros2_study
steezer@DESKTOP-TF8J569:~/ros2_study$ ls
build  install  log  src
steezer@DESKTOP-TF8J569:~/ros2_study$ cd src
steezer@DESKTOP-TF8J569:~/ros2_study/src$ subl .

import rclpy as rp
from rclpy.node import Node

from turtlesim.msg import Pose


class TurtlesimSubscriber(Node):

	def __init__(self):
		super().__init__('turtlesim_subscriber')
		self.subscription = self.create_subscription(
			Pose, '/turtle1/pose', self.callback, 10
			)
		self.subscription

	def callback(self, msg):
		print("X : ", msg.x, ", Y : ", msg.y)


def main(args=None):
	rp.init(args=args)

	turtlesim_subscriber = TurtlesimSubscriber()
	rp.spin(turtlesim_subscriber) # Ctrl + C to exit

	turtlesim_subscriber.destroy_node()
	rp.shutdown()


if __name__ == '__main__':
	main()

 

from setuptools import find_packages, setup

package_name = 'my_first_package'

setup(
    name=package_name,
    version='0.0.0',
    packages=find_packages(exclude=['test']),
    data_files=[
        ('share/ament_index/resource_index/packages',
            ['resource/' + package_name]),
        ('share/' + package_name, ['package.xml']),
    ],
    install_requires=['setuptools'],
    zip_safe=True,
    maintainer='steezer',
    maintainer_email='steezer@todo.todo',
    description='TODO: Package description',
    license='TODO: License declaration',
    extras_require={
        'test': [
            'pytest',
        ],
    },
    entry_points={
        'console_scripts': [
            'my_first_node = my_first_package.my_first_node:main',
            'my_subscriber = my_first_package.my_subscriber:main'
        ],
    },
)
steezer@DESKTOP-TF8J569:~/ros2_study$ rm -rf build install log
steezer@DESKTOP-TF8J569:~/ros2_study$ colcon build
[0.774s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/steezer/ros2_study/install/my_first_package' in the environment variable AMENT_PREFIX_PATH doesn't exist
Starting >>> my_first_package
Finished <<< my_first_package [0.86s]

Summary: 1 package finished [1.48s]
steezer@DESKTOP-TF8J569:~/ros2_study$ source install/local_setup.bash
steezer@DESKTOP-TF8J569:~/ros2_study$ ros2 run my_first_package my_subscriber
X :  5.544444561004639 , Y :  5.544444561004639
X :  5.544444561004639 , Y :  5.544444561004639
X :  5.544444561004639 , Y :  5.544444561004639

 

from setuptools import find_packages, setup

package_name = 'my_first_package'

setup(
    name=package_name,
    version='0.0.0',
    packages=find_packages(exclude=['test']),
    data_files=[
        ('share/ament_index/resource_index/packages',
            ['resource/' + package_name]),
        ('share/' + package_name, ['package.xml']),
    ],
    install_requires=['setuptools'],
    zip_safe=True,
    maintainer='steezer',
    maintainer_email='steezer@todo.todo',
    description='TODO: Package description',
    license='TODO: License declaration',
    extras_require={
        'test': [
            'pytest',
        ],
    },
    entry_points={
        'console_scripts': [
            'my_first_node = my_first_package.my_first_node:main',
            'my_subscriber = my_first_package.my_subscriber:main',
            'my_publisher = my_first_package.my_publisher:main'
        ],
    },
)
import rclpy as rp
from rclpy.node import Node

from geometry_msgs.msg import Twist


class TurtlesimPublisher(Node):

	def __init__(self):
		super().__init__('turtlesim_publisher')
		self.publisher = self.create_publisher(Twist, '/turtle1/cmd_vel', 10)
		timer_period = 1.0
		self.timer = self.create_timer(timer_period, self.timer_callback)

	def timer_callback(self):
		msg = Twist()
		msg.linear.x = 2.0
		msg.angular.z = 2.0
		self.publisher.publish(msg)


def main(args=None):
	rp.init(args=args)

	turtlesim_publisher = TurtlesimPublisher()
	rp.spin(turtlesim_publisher)

	turtlesim_publisher.destroy_node()
	rp.shutdown()


if __name__ == '__main__':
	main()


def main(args=None):
	rp.init(args=args)

	turtlesim_publisher = TurtlesimPublisher()
	rp.spin(turtlesim_publisher) # Ctrl + C to exit

	turtlesim_publisher.destroy_node()
	rp.shutdown()


if __name__ == '__main__':
	main()

 

 

메시지 정의 만들고 토픽과 서비스에서 다루기

colcon이 패키지  빌드할 대 Cmake 기반의 패키지를 보게 되면,

이때 반드시 CMakeList.txt의 내용을 읽고 나서 빌드 진행

 

colcon build : 이 워크스페이스에 있는 패캐지들 전부 빌드

 

float32 cmd_vel_linear
float32 cmd_vel_angular

float32 pose_x
float32 pose_y
float32 linear_vel
float32 angular_vel
cmake_minimum_required(VERSION 3.8)
project(my_first_package_msgs)

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  add_compile_options(-Wall -Wextra -Wpedantic)
endif()

# find dependencies
find_package(ament_cmake REQUIRED)
# uncomment the following section in order to fill in
# further dependencies manually.
# find_package(<dependency> REQUIRED)


find_package(rosidl_default_generators REQUIRED)

rosidl_generate_interfaces(${PROJECT_NAME}
  "msg/CmdAndPoseVel.msg"
  )


if(BUILD_TESTING)
  find_package(ament_lint_auto REQUIRED)
  # the following line skips the linter which checks for copyrights
  # comment the line when a copyright and license is added to all source files
  set(ament_cmake_copyright_FOUND TRUE)
  # the following line skips cpplint (only works in a git repo)
  # comment the line when this package is in a git repo and when
  # a copyright and license is added to all source files
  set(ament_cmake_cpplint_FOUND TRUE)
  ament_lint_auto_find_test_dependencies()
endif()

ament_package()
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
  <name>my_first_package_msgs</name>
  <version>0.0.0</version>
  <description>TODO: Package description</description>
  <maintainer email="steezer@todo.todo">steezer</maintainer>
  <license>TODO: License declaration</license>

  <buildtool_depend>ament_cmake</buildtool_depend>

  <test_depend>ament_lint_auto</test_depend>
  <test_depend>ament_lint_common</test_depend>

  <buildtool_depend>rosidl_default_generators</buildtool_depend>
  <exec_depend>rosild_default_runtime</exec_depend>
  <member_of_group>rosidl_interface_packages</member_of_group>

  <export>
    <build_type>ament_cmake</build_type>
  </export>
</package>
steezer@DESKTOP-TF8J569:~/ros2_study$ cd src/
steezer@DESKTOP-TF8J569:~/ros2_study/src$ ls
my_first_package
steezer@DESKTOP-TF8J569:~/ros2_study/src$ ros2 pkg create --build-type ament_cmake my_first_package_msgs
going to create a new package
package name: my_first_package_msgs
destination directory: /home/steezer/ros2_study/src
package format: 3
version: 0.0.0
description: TODO: Package description
maintainer: ['steezer <steezer@todo.todo>']
licenses: ['TODO: License declaration']
build type: ament_cmake
dependencies: []
creating folder ./my_first_package_msgs
creating ./my_first_package_msgs/package.xml
creating source and include folder
creating folder ./my_first_package_msgs/src
creating folder ./my_first_package_msgs/include/my_first_package_msgs
creating ./my_first_package_msgs/CMakeLists.txt

[WARNING]: Unknown license 'TODO: License declaration'.  This has been set in the package.xml, but no LICENSE file has been created.
It is recommended to use one of the ament license identitifers:
Apache-2.0
BSL-1.0
BSD-2.0
BSD-2-Clause
BSD-3-Clause
GPL-3.0-only
LGPL-3.0-only
MIT
MIT-0
steezer@DESKTOP-TF8J569:~/ros2_study/src$ cd my_first_package_msgs/
steezer@DESKTOP-TF8J569:~/ros2_study/src/my_first_package_msgs$ mkdir msg
steezer@DESKTOP-TF8J569:~/ros2_study/src/my_first_package_msgs$ ls
CMakeLists.txt  include  msg  package.xml  src
steezer@DESKTOP-TF8J569:~/ros2_study/src/my_first_package_msgs$ rm -rf build install log
steezer@DESKTOP-TF8J569:~/ros2_study/src/my_first_package_msgs$ colcon build
Starting >>> my_first_package_msgs
Finished <<< my_first_package_msgs [4.14s]

Summary: 1 package finished [4.40s]
steezer@DESKTOP-TF8J569:~/ros2_study/src/my_first_package_msgs$ ros2 interface show my_first_package_msgs/msg/CmdAndPoseVel
Unknown package 'my_first_package_msgs'
steezer@DESKTOP-TF8J569:~/ros2_study/src/my_first_package_msgs$ cd ~/ros2_study
steezer@DESKTOP-TF8J569:~/ros2_study$ rm -rf build install log
steezer@DESKTOP-TF8J569:~/ros2_study$ colcon build
[0.701s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/steezer/ros2_study/install/my_first_package' in the environment variable AMENT_PREFIX_PATH doesn't exist
Starting >>> my_first_package
Starting >>> my_first_package_msgs
Finished <<< my_first_package [0.91s]
Finished <<< my_first_package_msgs [4.90s]

Summary: 2 packages finished [5.51s]
steezer@DESKTOP-TF8J569:~/ros2_study$ source /opt/ros/humble/setup.bash
steezer@DESKTOP-TF8J569:~/ros2_study$ source ~/ros2_study/install/setup.bash
steezer@DESKTOP-TF8J569:~/ros2_study$ ros2 interface show my_first_package_msgs/msg/CmdAndPoseVel
float32 cmd_vel_linear
float32 cmd_vel_angular

float32 pose_x
float32 pose_y
float32 linear_vel
float32 angular_vel

 

import rclpy as rp
from rclpy.node import Node
from turtlesim.msg import Pose
from geometry_msgs.msg import Twist
from my_first_package_msgs.msg import CmdAndPoseVel

class CmdAndPose(Node):

	def __init__(self):
		super().__init__('turtle_cmd_pose')
		self.sub_pose = self.create_subscription(Pose, '/turtle1/pose', self.callback_pose, 10)
		self.sub_cmdvel == self.create_subscription(Twist, '/turtle1/cmd_vel', self.callback_cmd, 10)
		self.cmd_pose = CmdAndPoseVel()

	def callback_pose(self, msg):
		self.cmd_pose.pose_x = msg.x
		self.cmd_pose.pose_y = msg.y
		self.cmd_pose.linear_vel = msg.linear_velocity
		self.cmd_pose.angular_vel = msg.angular_velocity

	def callback_cmd(self, msg):
		self.cmd_pose.cmd_vel_linear = msg.linear.x
		self.cmd_pose.cmd_vel_angular = msg.angular.z

		print(self.cmd_pose)

def main(args=None):
	rp.init(args=args)

	turtle_cmd_pose_node = CmdAndPose()
	rp.spin(turtle_cmd_pose_node)

	turtle_cmd_pose_node.destroy_node()
	rp.shutdown()


if __name__ == '__main__':
	main()

import rclpy as rp
from rclpy.node import Node

from turtlesim.msg import Pose
from geometry_msgs.msg import Twist
from my_first_package_msgs.msg import CmdAndPoseVel


class CmdAndPose(Node):

	def __init__(self):
		super().__init__('turtle_cmd_pose')
		self.sub_pose = self.create_subscription(Pose, '/turtle1/pose', self.callback_pose, 10)
		self.sub_cmdvel = self.create_subscription(Twist, '/turtle1/cmd_vel', self.callback_cmd, 10)
		self.timer_period = 1.10
		self.publisher = self.create_publisher(CmdAndPoseVel, '/cmd_and_pose', 10)
		self.timer = self.create_timer(self.timer_period, self.timer_callback)
		self.cmd_pose = CmdAndPoseVel()

	def callback_pose(self, msg):
		self.cmd_pose.pose_x = msg.x
		self.cmd_pose.pose_y = msg.y
		self.cmd_pose.linear_vel = msg.linear_velocity
		self.cmd_pose.angular_vel = msg.angular_velocity

	def callback_cmd(self, msg):
		self.cmd_pose.cmd_vel_linear = msg.linear.x
		self.cmd_pose.cmd_vel_angular = msg.angular.z

	def timer_callback(self):
		self.publisher.publish(self.cmd_pose)


def main(args=None):
	rp.init(args=args)

	turtle_cmd_pose_node = CmdAndPose()
	rp.spin(turtle_cmd_pose_node)

	turtle_cmd_pose_node.destroy_node()
	rp.shutdown()


if __name__ == '__main__':
	main()

 

서비스 정의

from my_first_package_msgs.srv import MultiSpawn
from turtlesim.srv import TeleportAbsolute

import rclpy as rp
from rclpy.node import Node


class MultiSpawning(Node):

	def __init__(self):
		super().__init__('multi_spawn')
		self.server = self.create_service(MultiSpawn, 'multi_spawn', self.callback_service)
		self.teleport = self.create_client(TeleportAbsolute, '/turtle1/teleport_absolute')
		self.req_teleport = TeleportAbsolute.Request()

	def callback_service(self, request, response):
		self.req_teleport.x = 1.
		self.teleport.call_async(self.req_teleport)

		return response

def main(args=None):
	rp.init(args=args)
	multi_spawn = MultiSpawning()
	rp.spin(multi_spawn)
	rp.shutdown()

if __name__ == '__main__':
	main()
steezer@DESKTOP-TF8J569:~$ cd ros2_study
steezer@DESKTOP-TF8J569:~/ros2_study$ ros2 run turtlesim turtlesim_node
[INFO] [1773379978.291864155] [turtlesim]: Starting turtlesim with node name /turtlesim
[INFO] [1773379978.305726092] [turtlesim]: Spawning turtle [turtle1] at x=[5.544445], y=[5.544445], theta=[0.000000]
QImage::pixel: coordinate (48,532) out of range
QImage::pixel: coordinate (48,532) out of range
QImage::pixel: coordinate (48,532) out of range
find_package(rosidl_default_generators REQUIRED)

rosidl_generate_interfaces(${PROJECT_NAME}
  "msg/CmdAndPoseVel.msg"
  "srv/MultiSpawn.srv"
)
import rclpy as rp
from rclpy.node import Node

from turtlesim.msg import Pose


class TurtlesimSubscriber(Node):

	def __init__(self):
		super().__init__('turtlesim_subscriber')
		self.subscription = self.create_subscription(
			Pose, '/turtle1/pose', self.callback, 10
			)
		self.subscription

	def callback(self, msg):
		print("X : ", msg.x, ", Y : ", msg.y)


def main(args=None):
	rp.init(args=args)

	turtlesim_subscriber = TurtlesimSubscriber()
	rp.spin(turtlesim_subscriber) # Ctrl + C to exit

	turtlesim_subscriber.destroy_node()
	rp.shutdown()


if __name__ == '__main__':
	main()
    entry_points={
        'console_scripts': [
            'my_first_node = my_first_package.my_first_node:main',
            'my_subscriber = my_first_package.my_subscriber:main',
            'my_publisher = my_first_package.my_publisher:main',
            'turtle_cmd_and_pose = my_first_package.turtle_cmd_and_pose:main',
            'my_service_server = my_first_package.my_service_server:main'
        ],
    },
)
int64 num
---
float64[] x
float64[] y
float64[] theta
steezer@DESKTOP-TF8J569:~/ros2_study$ colcon build
Starting >>> my_first_package
Starting >>> my_first_package_msgs
Finished <<< my_first_package_msgs [0.72s]
Finished <<< my_first_package [0.90s]

Summary: 2 packages finished [1.51s]
steezer@DESKTOP-TF8J569:~/ros2_study$ ros2 run my_first_package my_service_server
steezer@DESKTOP-TF8J569:~/ros2_study$ ros2 service call /multi_spawn my_first_package_msgs/srv/MultiSpawn "{num: 1}"
requester: making request: my_first_package_msgs.srv.MultiSpawn_Request(num=1)

response:
my_first_package_msgs.srv.MultiSpawn_Response(x=[], y=[], theta=[])

 

코드 설명

서비스 정의 만들고 빌드

서비스 서버 만들기

서비스 서버 코드 안에 클라이언트 코드 만들기

steezer@DESKTOP-TF8J569:~/ros2_study$ ros2 lsdl .

steezer@DESKTOP-TF8J569:~/ros2_study$ ros2 run turtlesim turtlesim_node

steezer@DESKTOP-TF8J569:~/ros2_study$ ros2 service call /multi_spawn my_first_package_msgs/srv/MultiSpawn "{num: 1}"

steezer@DESKTOP-TF8J569:~/ros2_study$ ros2 run my_first_package my_service_server

 

다음주 239p 이어서


특강

 

사람인 기준

 

 

IT신입 개발자용 이력서, 자소서, 포트폴리오 작성법

1

사람인 계정 로그인

사람인 이력서 항목 만들기

2

기업이 원하는 인재

3

이력서 작성

4

자소서 작성

5

포트폴리오 작성시 주의사항

 

 

자기소개서 목차

 

성장과정

성취경험/위기극복경험/팀워크/인간관계

성격/가치관/역량수준/강점

지원동기 및 입사 후 포부

 

MY Career

요약

이건 자기소개서 다 쓰고 마지막에

자동 요약 후 다듬기

300~400

 

 

스킬

활용경험 있으며, 설명가능한 정도의 스킬

(프로젝트 경험으로 질문 답변 가능한)

 

 

포지션 제안받기 설정

(적극 구적 중이에요 제안 받을래요) 선택

제안 기업 범위 - 모든 기업에서 제안받기(메뉴 안 보임)

 

 

인재채용

ㄴ직무 적합성

ㄴ조직 결합성

 

 

채용 프로세스

서류심사 입사지원서 제출

 

전화 면접

 

실무진 면접(기술)

 

임원진 면접(인성)

 

ㄴ면접이 1차만 있는 경우 실무+임원 한번에 할지도

ㄴ신입 기준 개발 언어에 대한 기본적인 지식이 있는가에 대한 질문이 많음

 

과제 제출

ㄴ로보테크, 자율주행 부분에선 공고에서 우대사항이지만 자격증이 필수는 아닌경우 다수

ㄴ프로젝트 경험이 우선(포트폴리오)

 

결과 통보

ㄴ입사 일정 및 연봉 결정

 

 

이력서 사진

ㄴ최근 3개월 이내

ㄴ정장 차림 밝은 이미지

 

 

이력서 학력

고등학교도 추가

대학 학점은 별로면 굳이 X

 

 

경험

조직에 소속되어 일정한 임금을 받으면서 일했던 내용 작성

1년 미만은 경력 인정 X

1년 이상 경력이라도 IT와 무관하면 X

 

활동

지원분야 관련 직무 수행 경험 위주

임원, 동아리, 글로벌 멘토, 스마트리더 -리더쉽

대내외 행사, 공모전 참여, 서포터즈 -적극적인 학교 생활 어필

근로장학생, 장기간,장시간의 봉사기재 -다양한 활동경험 및 인성 어필

 

교육/수상

지원분야 관련 정규교과 외 받은 온오프라인 교육, 세미나 등

지원분야 관련 수상 경험

 

 

포트폴리오 및 기타문서

포트폴리오: 노션, 깃허브, PPT 등 가능

ㄴ(깃허브로 하는 것을 권장)

(이번 제출 때는 링크 첨부해서)

READ.md

ㄴ(프로젝트명, 프로젝트 주제(프로젝트 목적(기존과 다른점)), 프로젝트 기간, 기능적 요소, 프로젝트 진행절차, 활용기술 및 도구, 프로젝트 주요 성과, 힘들었던 점 및 아쉬웠던 점, 향후 계획)

 

 

자기소개서

나를 뽑아야하는 이유에 대해 기술

ㄴ자신의 역량과 경험을 들어서

ㄴ기업은 자기소개서를 통해 지원자의 대인관계, 적응력, 성격, 인생관, 성장배경과 장래성을 가늠하며 채용여부를 결정

 

채용담당자 관점 배려

ㄴ채용담당자가 궁금해하는 내용 쓰기(프로젝트 내용 잘 녹여서)

ㄴ채용담당자가 읽기 쉽게 쓰기(가독성)

 

글감 모으기

자기소개서 쓰기 전 사전 준비사항(자기 분석, 직무 분석, 기업 분석)

자기분석

(나의 연대기(최신->과거 순으로, 직무와 연관있는 사실로만 간단하게 알아볼 수 있을 정도로 정리))

희망 직무 > 보유 역량(지식(전공), 기술(교육), 프로젝트 경험, 문제해결 능력, 대인관계 능력 등) > 역량의 결과물

 

직무 분석

(방법: 국가직무능력표준, 고용노동부 워크넷, 현직자 인터뷰, 한국고용정보원, 잡이룸, 서울 잡스, 채용포털,

분석 항목: 주로 어떤 일 하는지? 직무 하루 일과, 지원 직무의 10년 후 비전 탐색, 지원 직무 요구 역량(지식, 기술, 태ㄴㄴ도 3가지 측면에서), 지원직무에서 요구되는 자격증, 어학점수 등 필요 스펙,

수상내역 / 교육연수: 지원 직무에 대해 관심을 가진 게기나 경험, 대학생활, 외부 경험 중 지원 직무에 관련된 내용, 각 ㄴㄴ학년 생활동안 배운 지식과 경험 중 지원 직무와 관련 있는 내용

구현력, (자기주도능력, 탐구력), (의사소통능력, 팀워크), 학습능력, 문제해결능력

 

기업 분석

(희망 기업 분석, 라이벌 기업 분석, 사업부 분석)

 

 

자기소개서_항목별 작성

 

성장과정

선택과 집중

직무 핵심역량 체득경험

STAR-F(경험으로 무엇을 배우고 어떻게 성장했는지, (S상황, T임무, A행동, R결과 F느낀점)

나에 초점을 맞춰 경험을 통한 성장

발전 강조

([저는~~~], [~~~라 생각합니다] 말투 X)

단순 흥미 시작 X

 

성취경험/위기극복경험/팀워크/인간관계(이중에 강조하고 싶은것 하나만 해도 OK)

성취경험

목표를 세우고 스스로 노력하여 성취했던 경험이 POINT

위기극복경험

문제해결능력이 POINT(자격증, 성적 상승은 X)

팀워크

협업과 소통능력이 POINT

인간관게

협업과 팀워크, 갈등 해결 능력, 소통 능력, 리더십과 지원

X(경험 추상적, 구체성 부족, 결과와 성취가 포괄적, 자아 중심성 부족, 직무 연결성 없음)

 

성격/가치관/역량수준/강점 (이중에 강조하고 싶은것 하나만 해도 OK)

성격

임팩트 있는 성격 한두개만

본인의 성격이 직무에 어떻게 도움될지

성격의 특징이 실제로 발휘된 경험(구체적 근거)

단점 언급X

 

가치관

본인의 핵심 가치

가치를 지니게 된  배경

가치를 지키며 실천한 구체적인 사례

해당 가치가 직무에 어떤 영향을 줄 수 있는지

 

역량 수준

자신이 다룰 수 있는 언어, 프레임워크, 개발도구(Java, Python, Spring, React, Git 등)

실제 적용한 경험과 결과 중심 작성(팀, 개인 프로젝트 포함)

특정 문제를 어떻게 해결했는지 구체적 서술

 

강점

자신만의 차별화된 강점

(성격이랑 연결해서 하나로 합쳐도 됨)

 

지원 동기 및 입사 포부

기업 분석 및 직무와 연결

기업 홈페이지, 채용 공고, 관련기사 확인

직무 관련 경험 어필

기업 비전과 연결하여 본인 목표 제시

나의 직업관 정의

지원 직무와 핵심 역량에 맞게 작성

막연한 찬양, 시켜만 주신다면(X)

핵심이 되는 경험만 작성

입사 후 포부 작성

(작성할 때 최대한 전부 다른 사례로, 겹쳐도 한두개까지만)

 

회사 선택한 이유는 정해지면 나중에

 

작성 X(성장하고 싶다, ~~같다, 이바지하고 싶다, 누구나 할 수 있는 말)

 

두괄식 작성(면접 때도)

핵심 내용을 육하원칙에 따라 가장 첫문장에 쓰고, 그에 따른 구체적인 정보를 뒷부분에 설명

소제목의 경우는 항목의 작성내용을 함축적으로 요약해서(케바케, 취향과 상황에 따라)

 

PPT 그대로 복붙하면 대답 힘듦 X

 

 

많이하는 실수

불확실한 표현: ~~것 같다, 생각합니다

1인칭 표현: 저는, 제가

질문과 관련없는 동문서답

주의해야할 작성: 당연한 말, 구어체, 지나친 강조

 

 

포트폴리오

프로젝트, 자기소개, 사진, 연락처, 보유기술, 기술블로그

프로젝트 소개 -> 발표 자료

포트폴리오 <- 프로젝트 과정

PPT 그대로 쓰지 말고 여기서 자신이 무엇을 했는지 정확히


기술 스택은 점수 보단 경험과 능력을 서술하는 것을 추천

 

자소서 제출은 3/30까지

이메일

job@mcea.co.kr