Low-latency 환경을 요구하는 시스템의 경우에는 Shared memory 또는 세마포어
값을 민감하게 건들어야 하는 시스템의 경우는 아래와 같이 사용하기 합니다.
[수정후]
title Red Hat Enterprise Linux Server LL (2.6.32-220.4.2.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-220.4.2.el6.x86_64 ro root=UUID=dd05c407-d62c-40b1-800e-ddff20d33062 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM nohpet intel_idle.max_cstate=0 processor.max_cstate=1 cgroup_disable=memory mce=ignore_ce transparent_hugepage=never nmi_watchdog=1 elevator=deadline idle=mwait nohz=off
initrd /initramfs-2.6.32-220.4.2.el6.x86_64.img
[수정내용]
기존 kernel 구문에
intel_idle.max_cstate=0 processor.max_cstate=1 cgroup_disable=memory mce=ignore_ce transparent_hugepage=never nmi_watchdog=1 elevator=deadline idle=mwait nohz=off
추가
[각 항목에 대한 설명]
* intel_idle.max_cstate=0 : Processor C-Status 기능 사용한함.
* processor.max_cstate=1 : 프로세서 절전 상태로 진입하지 않게 함.
* cgroup_disable=memory : 자원의 QoS를 제공하는 cgroup기능 사용안함.
* mce=ignore_ce : HW의 corrected error scan으로 인한 latency spike 무시.
* transparent_hugepage=never : hugepage 사용하지 않음
* nmi_watchdog=1 : kdump를 사용설정
* elevator=deadline : cfq가 기본값인 I/O 스케쥴러를 deadline으로 변경
* idle=mwait : CPU idle시 대기처리를 조금만 수행하도록 함
* nohz=off : CPU의 c-status 진입방지
2. 기존 sysctl.conf의 추가 및 변경 사항
#### Kdump 사용 설정
net.ipv4.conf.lo.force_igmp_version = 2
net.ipv4.conf.eth0.force_igmp_version = 2
net.ipv4.conf.eth1.force_igmp_version = 2
net.ipv4.conf.eth4.force_igmp_version = 2
kernel.unknown_nmi_panic = 1
kernel.panic_on_unrecovered_nmi = 1
kernel.panic_on_io_nmi = 1
#### 각 네트워크의 multicast 트래픽에 대한 filtering을 off
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.lo.rp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0
net.ipv4.conf.eth1.rp_filter = 0
net.ipv4.conf.eth4.rp_filter = 0
#### 10G NIC tuning (SolarFlare에 문의해서 low latency에 적합한 튜닝값을 적용)
net.ipv4.neigh.default.unres_qlen = 100
net.ipv4.neigh.lo.unres_qlen = 100
net.ipv4.neigh.eth0.unres_qlen = 100
net.ipv4.neigh.eth1.unres_qlen = 100
net.ipv4.neigh.eth4.unres_qlen = 100
net.ipv4.tcp_low_latency = 1
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_mem = 16777216 16777216 16777216
net.ipv4.tcp_rmem = 4096 8388608 16777216
net.ipv4.tcp_wmem = 4096 8388608 16777216
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_default = 8388608
net.core.wmem_max = 16777216
### LAN에서의 arp 요청에 대한 응답을 하지 않게 설정하여 network latency를 줄여줌
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth1.arp_ignore = 1
net.ipv4.conf.eth4.arp_ignore = 1
### 세마포어 최적값 수정
kernel.shmmni = 4096
kernel.sem = 2000 32000 512 5029
### swap 사용비율 설정
vm.swappiness = 10
### 스케쥴러 nr 수정
kernel.sched_nr_migrate = 12
net.core.netdev_max_backlog = 20000
net.core.optmem_max = 25165824
#net.core.optmem_max = 20480
3. tuned를 사용한 Low Latency 프로파일 적용
OS를 사용되는 용도에 맞게 사전 tuning된 프로파일을 제공하는 tuned를 이용해서
레드햇에서 권고하는 시스템 전반적인 tuning을 할 수 있으며 아래와 같이 tuned를 이용해서 적용.
# tuned-adm profile latency-performance
4. 파일시스템 Tuning
[수정내역]
/etc/fstab의 각 마운트 구문중 defaults 뒤에 noatime,nodiratime,nobarrier 옵션 추가
[각 옵션 설명]
* noatime : filesystem meta정보에 file의 access time 기록하지 않음
* nodiratime : filesystem meta정보에 Directory의 access time 기록하지 않음
* nobarrier : fsync기능을 사용하지 않도록 설정.
5. 서비스 실행 사용자 계정 File open 수 제한 설정
[수정내역]
/etc/limit.conf 파일에
사용자명 - nofile 4096
# 서비스 실행 사용자의 File Open 수를 4096으로 증
2014년 1월 15일 수요일
2014년 1월 14일 화요일
Python Example to connect with MySQL database
Database Connection:
Before connecting to a MySQL database, make sure of the followings:
- You have created a database TESTDB.
- You have created a table EMPLOYEE in TESTDB.
- This table is having fields FIRST_NAME, LAST_NAME, AGE, SEX and INCOME.
- User ID "testuser" and password "test123" are set to access TESTDB.
- Python module MySQLdb is installed properly on your machine.
- You have gone through MySQL tutorial to understand MySQL Basics.
EXAMPLE:
Following is the example of connecting with MySQL database "TESTDB"
#!/usr/bin/python import MySQLdb # Open database connection db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) # prepare a cursor object using cursor() method cursor = db.cursor() # execute SQL query using execute() method. cursor.execute("SELECT VERSION()") # Fetch a single row using fetchone() method. data = cursor.fetchone() print "Database version : %s " % data # disconnect from server db.close()
While running this script, it is producing the following result in my Linux machine.
Database version : 5.0.45
If a connection is established with the datasource, then a Connection Object is returned and saved intodb for further use, otherwise db is set to None. Next, db object is used to create a cursor object, which in turn is used to execute SQL queries. Finally, before coming out, it ensures that database connection is closed and resources are released.
Creating Database Table:
Once a database connection is established, we are ready to create tables or records into the database tables using execute method of the created cursor.
EXAMPLE:
First, let's create Database table EMPLOYEE:
#!/usr/bin/python import MySQLdb # Open database connection db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) # prepare a cursor object using cursor() method cursor = db.cursor() # Drop table if it already exist using execute() method. cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") # Create table as per requirement sql = """CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT )""" cursor.execute(sql) # disconnect from server db.close()
INSERT Operation:
INSERT operation is required when you want to create your records into a database table.
EXAMPLE:
Following is the example, which executes SQL INSERT statement to create a record into EMPLOYEE table:
#!/usr/bin/python import MySQLdb # Open database connection db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) # prepare a cursor object using cursor() method cursor = db.cursor() # Prepare SQL query to INSERT a record into the database. sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('Mac', 'Mohan', 20, 'M', 2000)""" try: # Execute the SQL command cursor.execute(sql) # Commit your changes in the database db.commit() except: # Rollback in case there is any error db.rollback() # disconnect from server db.close()
Above example can be written as follows to create SQL queries dynamically:
#!/usr/bin/python import MySQLdb # Open database connection db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) # prepare a cursor object using cursor() method cursor = db.cursor() # Prepare SQL query to INSERT a record into the database. sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \ LAST_NAME, AGE, SEX, INCOME) \ VALUES ('%s', '%s', '%d', '%c', '%d' )" % \ ('Mac', 'Mohan', 20, 'M', 2000) try: # Execute the SQL command cursor.execute(sql) # Commit your changes in the database db.commit() except: # Rollback in case there is any error db.rollback() # disconnect from server db.close()
EXAMPLE:
Following code segment is another form of execution where you can pass parameters directly:
..................................
user_id = "test123"
password = "password"
con.execute('insert into Login values("%s", "%s")' % \
(user_id, password))
..................................
|
READ Operation:
READ Operation on any databasse means to fetch some useful information from the database.
Once our database connection is established, we are ready to make a query into this database. We can use either fetchone() method to fetch single record or fetchall() method to fetech multiple values from a database table.
- fetchone(): This method fetches the next row of a query result set. A result set is an object that is returned when a cursor object is used to query a table.
- fetchall(): This method fetches all the rows in a result set. If some rows have already been extracted from the result set, the fetchall() method retrieves the remaining rows from the result set.
- rowcount: This is a read-only attribute and returns the number of rows that were affected by an execute() method.
EXAMPLE:
Following is the procedure to query all the records from EMPLOYEE table having salary more than 1000:
#!/usr/bin/python import MySQLdb # Open database connection db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) # prepare a cursor object using cursor() method cursor = db.cursor() # Prepare SQL query to INSERT a record into the database. sql = "SELECT * FROM EMPLOYEE \ WHERE INCOME > '%d'" % (1000) try: # Execute the SQL command cursor.execute(sql) # Fetch all the rows in a list of lists. results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] # Now print fetched result print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \ (fname, lname, age, sex, income ) except: print "Error: unable to fecth data" # disconnect from server db.close()
This will produce the following result:
fname=Mac, lname=Mohan, age=20, sex=M, income=2000
Update Operation:
UPDATE Operation on any databasse means to update one or more records, which are already available in the database. Following is the procedure to update all the records having SEX as 'M'. Here, we will increase AGE of all the males by one year.
EXAMPLE:
#!/usr/bin/python import MySQLdb # Open database connection db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) # prepare a cursor object using cursor() method cursor = db.cursor() # Prepare SQL query to UPDATE required records sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M') try: # Execute the SQL command cursor.execute(sql) # Commit your changes in the database db.commit() except: # Rollback in case there is any error db.rollback() # disconnect from server db.close()
DELETE Operation:
DELETE operation is required when you want to delete some records from your database. Following is the procedure to delete all the records from EMPLOYEE where AGE is more than 20:
EXAMPLE:
#!/usr/bin/python import MySQLdb # Open database connection db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) # prepare a cursor object using cursor() method cursor = db.cursor() # Prepare SQL query to DELETE required records sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20) try: # Execute the SQL command cursor.execute(sql) # Commit your changes in the database db.commit() except: # Rollback in case there is any error db.rollback() # disconnect from server db.close()
Performing Transactions:
Transactions are a mechanism that ensures data consistency. Transactions should have the following four properties:
- Atomicity: Either a transaction completes or nothing happens at all.
- Consistency: A transaction must start in a consistent state and leave the system in a consistent state.
- Isolation: Intermediate results of a transaction are not visible outside the current transaction.
- Durability: Once a transaction was committed, the effects are persistent, even after a system failure.
The Python DB API 2.0 provides two methods to either commit or rollback a transaction.
EXAMPLE:
You already have seen how we have implemented transations. Here is again similar example:
# Prepare SQL query to DELETE required records sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20) try: # Execute the SQL command cursor.execute(sql) # Commit your changes in the database db.commit() except: # Rollback in case there is any error db.rollback()
COMMIT Operation:
Commit is the operation, which gives a green signal to database to finalize the changes, and after this operation, no change can be reverted back.
Here is a simple example to call commit method.
db.commit()
ROLLBACK Operation:
If you are not satisfied with one or more of the changes and you want to revert back those changes completely, then use rollback() method.
Here is a simple example to call rollback() method.
db.rollback()
Disconnecting Database:
To disconnect Database connection, use close() method.
db.close()
If the connection to a database is closed by the user with the close() method, any outstanding transactions are rolled back by the DB. However, instead of depending on any of DB lower level implementation details, your application would be better off calling commit or rollback explicitly.
Handling Errors:
There are many sources of errors. A few examples are a syntax error in an executed SQL statement, a connection failure, or calling the fetch method for an already canceled or finished statement handle.
The DB API defines a number of errors that must exist in each database module. The following table lists these exceptions.
| Exception | Description |
|---|---|
| Warning | Used for non-fatal issues. Must subclass StandardError. |
| Error | Base class for errors. Must subclass StandardError. |
| InterfaceError | Used for errors in the database module, not the database itself. Must subclass Error. |
| DatabaseError | Used for errors in the database. Must subclass Error. |
| DataError | Subclass of DatabaseError that refers to errors in the data. |
| OperationalError | Subclass of DatabaseError that refers to errors such as the loss of a connection to the database. These errors are generally outside of the control of the Python scripter. |
| IntegrityError | Subclass of DatabaseError for situations that would damage the relational integrity, such as uniqueness constraints or foreign keys. |
| InternalError | Subclass of DatabaseError that refers to errors internal to the database module, such as a cursor no longer being active. |
| ProgrammingError | Subclass of DatabaseError that refers to errors such as a bad table name and other things that can safely be blamed on you. |
| NotSupportedError | Subclass of DatabaseError that refers to trying to call unsupported functionality. |
Your Python scripts should handle these errors, but before using any of the above exceptions, make sure your MySQLdb has support for that exception. You can get more information about them by reading the DB API 2.0 specification.
Installing MySQLdb module for Python 2.7 for Ubuntu 12.04
Ubuntu 12.04 LTS의 Python 개발플랫폼에서 MySQL API를 사용 할 때 MySQLdb module을 import 하지 못 한다. 이는 해당 module이 설치되어 있지 않아서 발생하는 error 이다.
해결방법은 그냥 설치하면 되며 방법은 2가지를 제공한다.
첫번째로 MySQL-python source를 download 하여 compile installing 하는 방법과
http://sourceforge.net/projects/mysql-python/
두번째로는 Python packages 관리를 사용하여 해당 package를 installing 하는 방법이 있다.
해결방법은 그냥 설치하면 되며 방법은 2가지를 제공한다.
첫번째로 MySQL-python source를 download 하여 compile installing 하는 방법과
http://sourceforge.net/projects/mysql-python/
$ gunzip MySQL-python-1.2.2.tar.gz $ tar -xvf MySQL-python-1.2.2.tar $ cd MySQL-python-1.2.2 $ python setup.py build $ python setup.py install
두번째로는 Python packages 관리를 사용하여 해당 package를 installing 하는 방법이 있다.
First thing I did was install pip, which is a better version of/replacement for easy_install:sudo easy_install pipNext I ran pip upgrade for good measure (probably not necessary but can't hurt, and worth running if you already had pip installed):sudo pip install pip --upgradeOn my machine (Ubuntu 12.04 64-bit) I also had to build the dependencies for the python-mysqldb libraries:sudo apt-get build-dep python-mysqldbAnd finally with that in place you can use pip to install the Python MySQL libraries:sudo pip install MySQL-pythonsudo pip install setuptools -no-use-wheel --upgradeIf everything worked you should now be able to run python manage.py dbshell from yourDjango project and have it load up the MySQL console.
2014년 1월 6일 월요일
면접관이셨던 인터파크INT 이성환 CTO님에 관한 기사...
어제 인터파크INT SE/SA직군의 최종면접을 치뤘다.
이성환 인터파크INT 전무
1961년생
1992.03~1994.02 포항공과대학 석사
1987.08~1989.10 제철엔지니어링
1989.11~1995.09 포스데이타
1995.10~1996.07 현대전자
1996.08~2000.02 현대정보기술
2000.2~현재 인터파크 INT IT 부문 대표(전무)
사이트 관리와 현업 업무 시스템 운영이 관건
면접이 끝난 후 인성면접을 담당하신 분이 어떤분이 셨는지 인터파크 홈페이지와
구글검색을 통해 면접관이셨던 인터파크INT의 이성환 CTO님에 관한 기사를 접했다.
기사를 읽고난 후 향후 내 진로방향성을 잡는데 어느정도 영향이 있을 것 같은 기사였기에
그분에 관한기사를 스크랩을 하기로 하였다.
기사글귀 중 "IT본부 직원들에게 당부하고 싶은 점은?" 이란 답변에 눈길이 간다.
일주일 후면 최종면접의 결과가 나올테지만 합격 불합격의 여부를 떠나 한국IT의 역사에
한 획을 그으신 분과의 면접도 나름 기억에 남고 좋은 경험이었다라는 생각이 든다.
일주일 후면 최종면접의 결과가 나올테지만 합격 불합격의 여부를 떠나 한국IT의 역사에
한 획을 그으신 분과의 면접도 나름 기억에 남고 좋은 경험이었다라는 생각이 든다.
---------------------------------------------------------------------------------
IT가 근간이 되는 닷컴 기업은
매순간 지속적 변화가 중요
매순간 지속적 변화가 중요
IT 거버넌스 통한 재점검과 이슈 대응 착수
국내 인터넷 쇼핑몰 업계의 맏형격인 인터파크는 1996년 6월 1일 문을 연 국내 최초의 인터넷 쇼핑몰로서 ‘인터넷 테마 파크’를 의미하기도 한다.
여행상품, 티켓 예매 서비스, 고품격 생활 서비스, 인터파크HM 등까지 유무형의 다양한 제품과 차별화된 서비스를 모색하고 있는 인터파크에서 IT의 역할은 사업 근간이 되는 핵심요소라 할 수 있다.
이에 따라 인터파크는 안정적인 시스템 운영과 비즈니스에 빠르게 지원하는 IT 프로젝트, 시스템 유지보수 뿐만 아니라 미래를 예측·관리할 수 있는 이슈를 찾기 위한 방안을 모색하는 데 한창이다.
안정적 시스템 운영을 위해 서버와 네트워크 장비, DB 등 시스템 이중화 등 기본적인 작업을 비롯해 통합 모니터링 시스템 구축 및 24시간 365일 시스템 관제를 통해 장애감지 자동화 목표를 두고 있다. 또한 전사 백업과 복구시스템을 운영해 주기적인 위기 대응 훈련을 시행 중이며 주기적인 웹 취약점 점검과 시스템 및 서비스 접근제어를 통해 보안 이슈에 대해 다양한 방안으로 맞서고 있다.
비즈니스에 빠르게 지원하는 IT 프로젝트로는 개발소스 재사용의 환경 구성과 요청 부서와 개발 부서 간의 빠른 커뮤니케이션을 위한 개발 프로세스 관리 시스템 운영, 서버 가상화 시스템 및 프라이빗 클라우드 환경을 통한 신속한 서비스 환경을 조성하고 있다.
또한 모바일 오피스 환경 구축을 통해 대내외 업무 효율화를 극대화한다는 방침이다. 향후 인터파크의 이슈로는 유연한 시스템 구성과 명확하고 독립적인 소프트웨어 서비스 모듈, 고객 행동패턴을 분석하는 작업이 주를 이룰 전망이다.
이성환 인터파크 전무는 이 같은 인터파크의 모든 IT 행위를 총괄 지휘하고 있는 최고정보책임자(CIO)다. 지난 1월 이 전무를 만나 인터파크 IT에 대한 이슈와 향후 계획, CIO로서의 소신에 대해 들어보는 시간을 가졌다.
여행상품, 티켓 예매 서비스, 고품격 생활 서비스, 인터파크HM 등까지 유무형의 다양한 제품과 차별화된 서비스를 모색하고 있는 인터파크에서 IT의 역할은 사업 근간이 되는 핵심요소라 할 수 있다.
이에 따라 인터파크는 안정적인 시스템 운영과 비즈니스에 빠르게 지원하는 IT 프로젝트, 시스템 유지보수 뿐만 아니라 미래를 예측·관리할 수 있는 이슈를 찾기 위한 방안을 모색하는 데 한창이다.
안정적 시스템 운영을 위해 서버와 네트워크 장비, DB 등 시스템 이중화 등 기본적인 작업을 비롯해 통합 모니터링 시스템 구축 및 24시간 365일 시스템 관제를 통해 장애감지 자동화 목표를 두고 있다. 또한 전사 백업과 복구시스템을 운영해 주기적인 위기 대응 훈련을 시행 중이며 주기적인 웹 취약점 점검과 시스템 및 서비스 접근제어를 통해 보안 이슈에 대해 다양한 방안으로 맞서고 있다.
비즈니스에 빠르게 지원하는 IT 프로젝트로는 개발소스 재사용의 환경 구성과 요청 부서와 개발 부서 간의 빠른 커뮤니케이션을 위한 개발 프로세스 관리 시스템 운영, 서버 가상화 시스템 및 프라이빗 클라우드 환경을 통한 신속한 서비스 환경을 조성하고 있다.
또한 모바일 오피스 환경 구축을 통해 대내외 업무 효율화를 극대화한다는 방침이다. 향후 인터파크의 이슈로는 유연한 시스템 구성과 명확하고 독립적인 소프트웨어 서비스 모듈, 고객 행동패턴을 분석하는 작업이 주를 이룰 전망이다.
이성환 인터파크 전무는 이 같은 인터파크의 모든 IT 행위를 총괄 지휘하고 있는 최고정보책임자(CIO)다. 지난 1월 이 전무를 만나 인터파크 IT에 대한 이슈와 향후 계획, CIO로서의 소신에 대해 들어보는 시간을 가졌다.
이지혜 기자 jh_lee@ciomediagroup.com
이성환 인터파크INT 전무
1961년생
1992.03~1994.02 포항공과대학 석사
1987.08~1989.10 제철엔지니어링
1989.11~1995.09 포스데이타
1995.10~1996.07 현대전자
1996.08~2000.02 현대정보기술
2000.2~현재 인터파크 INT IT 부문 대표(전무)
사이트 관리와 현업 업무 시스템 운영이 관건
▲2000년 인터파크에 입사한지도 벌써 12년이 지났다. 과거 행적과 인터파크에 발을 담그게 된 계기는 무엇인가?
원래 공과대학에서 학부를 전공했다. 졸업 후 몸이 별로 좋지 않아 요양을 하면서 이전부터 관심이 있었던 컴퓨터를 배우게 됐다.
그 당시 데이콤에서 위탁 받은 정보문화센터에서 컴퓨터 강의를 들었는데 무엇인가에 그렇게 깊숙하게 끌리는 느낌은 처음이었다. 프로그램을 만드는 일이 너무나 흥미로웠고 컴퓨터를 이용하는 업무가 내 천직일지도 모른다는 생각이 들었다.
강의를 수료한 후 제철엔지니어링에 입사했다. 그 당시 각 부서의 전산 부서들을 통합해 하나의 부서로 만드는 추세가 유행이었는데 지금으로 치면 SI사라고 보면 된다.
제철엔지니어링 역시 포스코 쪽 전산 부서와 합쳐진 후 포스데이타에 입사하게 된다. 이때 회사에서 2년 코스인 포항공대 산업대학원을 지원해준다. 아마 태어나서 학구열이 제일 높았던 때였을 것 같다. 직장을 다니다 뒤늦게 컴퓨터 관련 학과에서 공부를 해서 그런지 원 없이, 후회 없는 공부를 해보고 싶었다.
이렇게 대학원을 수료한 후 다시 포스데이타에 돌아온 후 포항 공장자동화와 관련된 부서에 근무했다. 하지만 눈높이가 높아져서인지 서울로 가서 관련 꿈을 펼쳐보고 싶다는 욕심을 떨칠 수 없었다.
결국 현대전자에 입사했으나 이 역시 앞서 말했던 것처럼, 현대그룹 전산 부서들이 통합된 현대정보기술 소속으로 바뀌게 된다.
이 와중에 국제통화기금(IMF) 사태를 맞게 된다. 해당 부서들이 공중 분해되고 내가 속해 있던 지원부서 관련자들이 뿔뿔이 흩어지며 인터파크로 자리를 옮기게 됐다.
당시 인터파크는 웹 초기시장에 있었던 만큼 신규시장을 개척하기 쉽지 않았지만 늘 도전하는 마음으로 지금 이 자리까지 오게 됐다.
원래 공과대학에서 학부를 전공했다. 졸업 후 몸이 별로 좋지 않아 요양을 하면서 이전부터 관심이 있었던 컴퓨터를 배우게 됐다.
그 당시 데이콤에서 위탁 받은 정보문화센터에서 컴퓨터 강의를 들었는데 무엇인가에 그렇게 깊숙하게 끌리는 느낌은 처음이었다. 프로그램을 만드는 일이 너무나 흥미로웠고 컴퓨터를 이용하는 업무가 내 천직일지도 모른다는 생각이 들었다.
강의를 수료한 후 제철엔지니어링에 입사했다. 그 당시 각 부서의 전산 부서들을 통합해 하나의 부서로 만드는 추세가 유행이었는데 지금으로 치면 SI사라고 보면 된다.
제철엔지니어링 역시 포스코 쪽 전산 부서와 합쳐진 후 포스데이타에 입사하게 된다. 이때 회사에서 2년 코스인 포항공대 산업대학원을 지원해준다. 아마 태어나서 학구열이 제일 높았던 때였을 것 같다. 직장을 다니다 뒤늦게 컴퓨터 관련 학과에서 공부를 해서 그런지 원 없이, 후회 없는 공부를 해보고 싶었다.
이렇게 대학원을 수료한 후 다시 포스데이타에 돌아온 후 포항 공장자동화와 관련된 부서에 근무했다. 하지만 눈높이가 높아져서인지 서울로 가서 관련 꿈을 펼쳐보고 싶다는 욕심을 떨칠 수 없었다.
결국 현대전자에 입사했으나 이 역시 앞서 말했던 것처럼, 현대그룹 전산 부서들이 통합된 현대정보기술 소속으로 바뀌게 된다.
이 와중에 국제통화기금(IMF) 사태를 맞게 된다. 해당 부서들이 공중 분해되고 내가 속해 있던 지원부서 관련자들이 뿔뿔이 흩어지며 인터파크로 자리를 옮기게 됐다.
당시 인터파크는 웹 초기시장에 있었던 만큼 신규시장을 개척하기 쉽지 않았지만 늘 도전하는 마음으로 지금 이 자리까지 오게 됐다.
▲인터파크에 구축돼 있는 주요 시스템들은 무엇인가? 크게 시스템 운영과 신속한 IT 프로젝트, 유지보수 등 다양할 것 같다.
금융권 같은 경우 차세대와 고도화 등 빅뱅 형태의 프로젝트가 대세라면 인터파크와 같은 닷컴기업은 크게 사이트 관리와 현업 업무 시스템 운영 두 가지가 주된 과제다.
안정적인 시스템 운영을 위한 방안으로는 크게 네트워크 장비 증설과 방화벽, DB등 시스템 이중화 작업을 진행했다. 타 산업군에서 IT가 보조라면 인터파크는 IT를 근간으로 한 사업으로 매순간 계속적인 변화가 필요하다.
이 말은 관련 업무들이 새롭게 생성되거나 아예 없어지는 것이 아니라 기존업무에서 조금씩 변화 진화되는 상태를 의미하는 것이다. 또한 통합 모니터링 시스템과 24시간 365일 시스템 관제를 통해 장애감지 자동화를 목표로 하고 있다.
온라인 쇼핑몰 운영이 24시간 이뤄지는 만큼 장애 현황 이상상태를 예방하는 일은 매우 중요하기 때문이다. 사고를 100% 방지할 수는 없다, 단 신속히 감지하는 시스템을 통해 예방하는 작업이 중요하다. 전사 백업과 복구 시스템을 운영함과 동시에 주기적인 위기 대응훈련을 진행 중이며 웹 취약점 점검과 시스템 및 서비스 접근제어도 진행했다.
현업 업무 시스템 지원에 있어서는 비즈니스에서 요구하는 사항들을 빠르게 지원하는 일이 우선이다. 하지만 개발 업무를 무조건 현업에서 요구하는 기간에 맞출 수는 없다. 해결 방안으로는 개발소스를 재활용하는 환경을 조성해 요청 부서와 개발 부서 간 신속한 커뮤니케이션을 위한 개발 프로세스 관리시스템을 운영하는 것이다.
최근에는 개발 분업화를 고민하고 있다. IT도 과거와 비교했을 때 상당한 복잡성을 띠며 한명의 개발자가 디자인부터 개발. 테스트 작업까지 업무를 하기는 힘들기 때문에 이를 세세하게 분업화하는 작업이 효율성이 크기 때문이다.
또한 서버 가상화 및 프라이빗 클라우드 환경을 통한 신속한 서비스 환경을 구성함과 동시에 모바일 오피스 환경 구축을 통한 업무 효율성을 극대화 할 방침이다.
향후 주요 계획으로는 보다 유연한 시스템을 구성하는 일과 명확하고 독립적인 소프트웨어 서비스 모듈, 그리고 고객 행동 패턴에 대한 분석 등이 있다.
금융권 같은 경우 차세대와 고도화 등 빅뱅 형태의 프로젝트가 대세라면 인터파크와 같은 닷컴기업은 크게 사이트 관리와 현업 업무 시스템 운영 두 가지가 주된 과제다.
안정적인 시스템 운영을 위한 방안으로는 크게 네트워크 장비 증설과 방화벽, DB등 시스템 이중화 작업을 진행했다. 타 산업군에서 IT가 보조라면 인터파크는 IT를 근간으로 한 사업으로 매순간 계속적인 변화가 필요하다.
이 말은 관련 업무들이 새롭게 생성되거나 아예 없어지는 것이 아니라 기존업무에서 조금씩 변화 진화되는 상태를 의미하는 것이다. 또한 통합 모니터링 시스템과 24시간 365일 시스템 관제를 통해 장애감지 자동화를 목표로 하고 있다.
온라인 쇼핑몰 운영이 24시간 이뤄지는 만큼 장애 현황 이상상태를 예방하는 일은 매우 중요하기 때문이다. 사고를 100% 방지할 수는 없다, 단 신속히 감지하는 시스템을 통해 예방하는 작업이 중요하다. 전사 백업과 복구 시스템을 운영함과 동시에 주기적인 위기 대응훈련을 진행 중이며 웹 취약점 점검과 시스템 및 서비스 접근제어도 진행했다.
현업 업무 시스템 지원에 있어서는 비즈니스에서 요구하는 사항들을 빠르게 지원하는 일이 우선이다. 하지만 개발 업무를 무조건 현업에서 요구하는 기간에 맞출 수는 없다. 해결 방안으로는 개발소스를 재활용하는 환경을 조성해 요청 부서와 개발 부서 간 신속한 커뮤니케이션을 위한 개발 프로세스 관리시스템을 운영하는 것이다.
최근에는 개발 분업화를 고민하고 있다. IT도 과거와 비교했을 때 상당한 복잡성을 띠며 한명의 개발자가 디자인부터 개발. 테스트 작업까지 업무를 하기는 힘들기 때문에 이를 세세하게 분업화하는 작업이 효율성이 크기 때문이다.
또한 서버 가상화 및 프라이빗 클라우드 환경을 통한 신속한 서비스 환경을 구성함과 동시에 모바일 오피스 환경 구축을 통한 업무 효율성을 극대화 할 방침이다.
향후 주요 계획으로는 보다 유연한 시스템을 구성하는 일과 명확하고 독립적인 소프트웨어 서비스 모듈, 그리고 고객 행동 패턴에 대한 분석 등이 있다.
▲개인정보보호법 발효에 따른 인터파크의 대응 방식은 어떠한가?
개인정보보호는 인터넷 사업을 하는 모든 사업자들에게 최상위 아젠다다. 비즈니스를 추진할 때 항상 고려해야 할 요소라는 뜻이다.
인터파크는 내부적으로도 개인정보보호의 중요성에 대해 항상 고려하고 있으며 개인정보보호법 발효 이전부터 정보통신망법, 전자상거래법 등 관련 법들에 명시돼 있는 사항들을 준수하고 관련 기관에서 권고하는 내용들을 선 적용하기 위해 노력해왔다.
실제로 KISA 산하 보안관련 협의회에서 2대 회장직을 역임하기도 했다. 예를 들어, I-PIN의 경우 업계에서 최초로 적용하는 것과 함께 주민등록번호와 패스워드 등의 개인정보 암호화를 개인정보보호법 발효 훨씬 전부터 이미 적용해왔다. 개발자들에 대한 정보접근제어 역시 과거보다 더 강력하게 진행할 예정이다.
또한 최근 논의되고 있는 인터넷상 주민번호 사용금지에 대해서는 궁극적인 방향 측면에서는 동의하지만 기존 오프라인 서비스와의 연계 등에 있어서 아직 사용돼야 하는 면이 존재한다.
예를 들면, 어떠한 이벤트를 진행해서 고객에게 상품을 제공할시 세무신고와 관련된 내용 때문에 관련 기록이 남아있어야 한다. 또한 전자상거래법을 살펴봐도 소비자 보호를 위해 거래내역을 5년 동안 저장하게 되어 있다. IT 입장에서 보면 고객의 주민등록번호는 일종의 키 값이다.
하지만 사업에 지장이 생기지 않는 선에서 빠른 시일 내에 고객정보를 서비스에서 최대한 사용하지 않는 쪽으로 전환할 방침이다.
개인정보보호는 인터넷 사업을 하는 모든 사업자들에게 최상위 아젠다다. 비즈니스를 추진할 때 항상 고려해야 할 요소라는 뜻이다.
인터파크는 내부적으로도 개인정보보호의 중요성에 대해 항상 고려하고 있으며 개인정보보호법 발효 이전부터 정보통신망법, 전자상거래법 등 관련 법들에 명시돼 있는 사항들을 준수하고 관련 기관에서 권고하는 내용들을 선 적용하기 위해 노력해왔다.
실제로 KISA 산하 보안관련 협의회에서 2대 회장직을 역임하기도 했다. 예를 들어, I-PIN의 경우 업계에서 최초로 적용하는 것과 함께 주민등록번호와 패스워드 등의 개인정보 암호화를 개인정보보호법 발효 훨씬 전부터 이미 적용해왔다. 개발자들에 대한 정보접근제어 역시 과거보다 더 강력하게 진행할 예정이다.
또한 최근 논의되고 있는 인터넷상 주민번호 사용금지에 대해서는 궁극적인 방향 측면에서는 동의하지만 기존 오프라인 서비스와의 연계 등에 있어서 아직 사용돼야 하는 면이 존재한다.
예를 들면, 어떠한 이벤트를 진행해서 고객에게 상품을 제공할시 세무신고와 관련된 내용 때문에 관련 기록이 남아있어야 한다. 또한 전자상거래법을 살펴봐도 소비자 보호를 위해 거래내역을 5년 동안 저장하게 되어 있다. IT 입장에서 보면 고객의 주민등록번호는 일종의 키 값이다.
하지만 사업에 지장이 생기지 않는 선에서 빠른 시일 내에 고객정보를 서비스에서 최대한 사용하지 않는 쪽으로 전환할 방침이다.
초미의 관심사 ‘IT 거버넌스’, 마스터플랜 수립 중
▲체계적으로 현업을 지원하고 조직의 비합리적인 요소를 찾기 위해 IT를 보다 전략적으로 활용하고 있는 방안이 있다면 무엇인가
사내 실시간 매출정보 및 경영정보 시스템 통합을 위해 전사관점에서 마케팅 및 전략 수립에 직접적인 도움이 되는 시스템을 구축하고자 한다.
사업부서의 요구사항을 받아 개발하는 수동적 역량에서 벗어나 업무 프로세스를 상세 분석해 비효율적인 프로세스를 개선하는 적극적 역량을 지니는 것이 관건이다.
닷컴 기업들에서는 주로 현업과의 협업을 위해 정기적 미팅뿐만 아니라 사업부의 전산 요구사항들을 발굴하고 정리하는 서비스기획팀을 따로 배정해 둔다.
물론 서비스기획팀이 현업과 IT의 중간적 입장이기 때문에 어느 정도의 마찰이 존재하기 때문에 IT 부서 산하에 두려는 움직임도 있었으나 아직 진행 상황은 아니다.
사내 실시간 매출정보 및 경영정보 시스템 통합을 위해 전사관점에서 마케팅 및 전략 수립에 직접적인 도움이 되는 시스템을 구축하고자 한다.
사업부서의 요구사항을 받아 개발하는 수동적 역량에서 벗어나 업무 프로세스를 상세 분석해 비효율적인 프로세스를 개선하는 적극적 역량을 지니는 것이 관건이다.
닷컴 기업들에서는 주로 현업과의 협업을 위해 정기적 미팅뿐만 아니라 사업부의 전산 요구사항들을 발굴하고 정리하는 서비스기획팀을 따로 배정해 둔다.
물론 서비스기획팀이 현업과 IT의 중간적 입장이기 때문에 어느 정도의 마찰이 존재하기 때문에 IT 부서 산하에 두려는 움직임도 있었으나 아직 진행 상황은 아니다.
▲프로젝트 관리뿐 아니라 다른 방안 수립에도 고심이 많을 것 같다. 최근 어느 분야에 가장 관심을 두고 있는가?
크게 세 가지다. 시스템 유연성 확보와 IT 거버넌스, 사업 요구에 신속하게 대응할 수 있는 체계 및 개발 환경 구성이다.
이 중에서 제일 중점을 두는 부분은 IT 거버넌스와 시스템 유연성 측면이다. 최근 거버넌스라고 하면 거창하게 생각하는 경우가 많지만, 내 생각에는 IT를 관리하고 진행하는 데 있어 나름대로 의미 있는 순으로 우선순위를 정하는 작업이라고 생각한다.
과연 인터파크의 IT와 내가 어느 정도 위치까지 와 있는지 재점검하고 이를 확인하기 위해서는 마스터플랜을 통한 IT 거버넌스 확립이 중요하다.
예를 들어 보안 이슈 대응을 꾸준히 진행해오고 있지만 혹시 미진한 부분은 없는지, 그리고 시스템, 프로세스, 교육, 문서화, 비전 등 각 분야에서 향후 진행해야 할 우선순위를 잡는 것이 최근 가장 큰 관심사다.
또한 사업이 증가할 때마다 단위증설 또는 확장에 대한 지원을 위해서 작고 빨리 움직이게 하는 작업이 중요한 만큼 시스템 유연성이 뒷받침 돼야 한다.
크게 세 가지다. 시스템 유연성 확보와 IT 거버넌스, 사업 요구에 신속하게 대응할 수 있는 체계 및 개발 환경 구성이다.
이 중에서 제일 중점을 두는 부분은 IT 거버넌스와 시스템 유연성 측면이다. 최근 거버넌스라고 하면 거창하게 생각하는 경우가 많지만, 내 생각에는 IT를 관리하고 진행하는 데 있어 나름대로 의미 있는 순으로 우선순위를 정하는 작업이라고 생각한다.
과연 인터파크의 IT와 내가 어느 정도 위치까지 와 있는지 재점검하고 이를 확인하기 위해서는 마스터플랜을 통한 IT 거버넌스 확립이 중요하다.
예를 들어 보안 이슈 대응을 꾸준히 진행해오고 있지만 혹시 미진한 부분은 없는지, 그리고 시스템, 프로세스, 교육, 문서화, 비전 등 각 분야에서 향후 진행해야 할 우선순위를 잡는 것이 최근 가장 큰 관심사다.
또한 사업이 증가할 때마다 단위증설 또는 확장에 대한 지원을 위해서 작고 빨리 움직이게 하는 작업이 중요한 만큼 시스템 유연성이 뒷받침 돼야 한다.
이달 사내 모바일 오피스 그랜드 오픈
▲CIO와 IT가 비즈니스에 관심을 가져야 한다는 의견은 너무나 당연한 것으로 여겨지고 있다. 경영 시각에서 IT에 대한 정의, 그리고 CIO가 어떠한 방향으로 업무지원을 해야 한다고 생각하나?
인터파크는 온라인 종합쇼핑몰이라는 사업 특성상 IT 부문이 사업을 지원하기보다 사업의 핵심에 있다고 할 수 있다. 따라서 CIO와 IT가 비즈니스에 관심을 가져야 하는 정도가 아니라 어떤 경우에는 사업부서보다 더 업무 프로세스에 정통해야 효율적인 시스템 구축이 가능해진다.
비즈니스 프로세스에 정통하지 못하다면 시스템 구축 또한 단순 요구사항을 구현하는 수준에 그칠 것이고 이는 비효율적인 시스템과 다를 바 없다. 물론 시간과 인력의 한계로 인해 모든 분야에서 완벽할 수는 없겠지만 최대한 앞서 언급한 방향으로 IT를 이끌고자 노력하고 있다.
단순지원부서 또는 코스트(cost) 센터가 아닌 프로핏(profit) 센터로서의 역할을 하거나 아니면 적어도 사업부에서 파트너로 생각할 수 있는 수준으로 상향평준화 돼야 한다.
IT의 역할은 기존 서비스의 안정적인 유지와 신규서비스 요청에 대한 유연한 수용뿐 아니라 새로운 서비스의 기획 및 개발에 있어 적극적인 주체가 되는 것이다.
인터파크는 온라인 종합쇼핑몰이라는 사업 특성상 IT 부문이 사업을 지원하기보다 사업의 핵심에 있다고 할 수 있다. 따라서 CIO와 IT가 비즈니스에 관심을 가져야 하는 정도가 아니라 어떤 경우에는 사업부서보다 더 업무 프로세스에 정통해야 효율적인 시스템 구축이 가능해진다.
비즈니스 프로세스에 정통하지 못하다면 시스템 구축 또한 단순 요구사항을 구현하는 수준에 그칠 것이고 이는 비효율적인 시스템과 다를 바 없다. 물론 시간과 인력의 한계로 인해 모든 분야에서 완벽할 수는 없겠지만 최대한 앞서 언급한 방향으로 IT를 이끌고자 노력하고 있다.
단순지원부서 또는 코스트(cost) 센터가 아닌 프로핏(profit) 센터로서의 역할을 하거나 아니면 적어도 사업부에서 파트너로 생각할 수 있는 수준으로 상향평준화 돼야 한다.
IT의 역할은 기존 서비스의 안정적인 유지와 신규서비스 요청에 대한 유연한 수용뿐 아니라 새로운 서비스의 기획 및 개발에 있어 적극적인 주체가 되는 것이다.
▲그동안 인터파크 CIO로 재임해오면서 가장 기억에 남는 일이 있다면?
지난 2002년 월드컵 당시 인터파크에서만 표를 판매했던 사실을 아는 사람들은 거의 없을 것이다. 월드컵 조직위원회에서 발주한 공공 프로젝트였는데 여러 닷컴 기업들과 경쟁해 입찰을 따낸 결과였다.
대한민국이 4강까지 진출하면서 결과는 성공적이었지만 초기에 숨은 리스크도 많았다. 표의 80%를 판매하지 못할 경우 개런티를 제공해야 했기 때문이다.
당시 인터파크 본사가 을지로에 있었는데 우리나라가 경기에 이기면 바로 자리로 돌아가 다음 표를 판매할 포지션을 구성하느라 야근이 밥 먹기 일쑤였다. 뿌듯하면서도 가장 고생했던 사례 중 하나다.
지난 2002년 월드컵 당시 인터파크에서만 표를 판매했던 사실을 아는 사람들은 거의 없을 것이다. 월드컵 조직위원회에서 발주한 공공 프로젝트였는데 여러 닷컴 기업들과 경쟁해 입찰을 따낸 결과였다.
대한민국이 4강까지 진출하면서 결과는 성공적이었지만 초기에 숨은 리스크도 많았다. 표의 80%를 판매하지 못할 경우 개런티를 제공해야 했기 때문이다.
당시 인터파크 본사가 을지로에 있었는데 우리나라가 경기에 이기면 바로 자리로 돌아가 다음 표를 판매할 포지션을 구성하느라 야근이 밥 먹기 일쑤였다. 뿌듯하면서도 가장 고생했던 사례 중 하나다.
▲최신 모바일과 클라우드, 빅데이터 이슈에 대한 대응은 어떠한가?
모바일의 경우 모바일 프로그램 전문가가 내부 별도 팀으로 구성돼 모바일에 대한 내부 요구사항들을 수용하고 있다.
인터파크의 모바일 애플리케이션은 iOS, 안드로이드 버전 뿐 아니라 최근 출시되고 있는 MS 망고폰과 같은 기기들에 대해서도 대부분 수용이 가능하도록 버전 업그레이드 중이다. 내부 임직원이 사용할 모바일 오피스 역시 이달에 오픈할 예정이다.
클라우드 및 빅데이터 처리를 위해서는 내부 오픈 소스 중심으로 테스트가 진행돼 일부 서비스는 운영에 반영된 경우도 있으며 일부는 파일럿 형태로 진행 중이다.
해외교포를 위한 도서 서비스를 하는 사이트가 미국에 있어서 아마존과도 클라우드 테스트를 해봤지만 결국 작년 하반기 KT와 함께 손을 잡았다.
하둡, 러스터(Lustre) 등의 분산파일 시스템, MongoDB, HBase, MemBase 등의 기존 RDB(관계형 데이터베이스)를 대체할 수 있는 기술들에 대한 테스트 및 운영환경 적용을 지속적으로 논의 중이다.
모바일의 경우 모바일 프로그램 전문가가 내부 별도 팀으로 구성돼 모바일에 대한 내부 요구사항들을 수용하고 있다.
인터파크의 모바일 애플리케이션은 iOS, 안드로이드 버전 뿐 아니라 최근 출시되고 있는 MS 망고폰과 같은 기기들에 대해서도 대부분 수용이 가능하도록 버전 업그레이드 중이다. 내부 임직원이 사용할 모바일 오피스 역시 이달에 오픈할 예정이다.
클라우드 및 빅데이터 처리를 위해서는 내부 오픈 소스 중심으로 테스트가 진행돼 일부 서비스는 운영에 반영된 경우도 있으며 일부는 파일럿 형태로 진행 중이다.
해외교포를 위한 도서 서비스를 하는 사이트가 미국에 있어서 아마존과도 클라우드 테스트를 해봤지만 결국 작년 하반기 KT와 함께 손을 잡았다.
하둡, 러스터(Lustre) 등의 분산파일 시스템, MongoDB, HBase, MemBase 등의 기존 RDB(관계형 데이터베이스)를 대체할 수 있는 기술들에 대한 테스트 및 운영환경 적용을 지속적으로 논의 중이다.
▲IT 인재양성 및 교육지원에 대한 인터파크의 전략은 무엇인가?
가장 힘든 부분 중 하나다. 연구소나 SI사들은 IT가 핵심이기 때문에 관련 지원이 많을 텐데, 아무리 IT를 기반으로 운영하는 온라인 쇼핑몰이라 해도 중심은 사업부가 핵심이 되기 때문이다.
하지만 IT는 그 어느 분야보다도 변화의 속도가 빠르기 때문에 지속적이고 체계적인 교육이 필수적이다. 따라서 직원들을 외부 전문 교육기관에 보내거나 외부 전문가를 내부로 초빙해서 집체교육을 진행 중이다.
또한 인터파크 IT 부문에서는 스터디 그룹 활동을 장려한다. IT는 분야의 특성상 새로 시도되는 기술들에 대해서는 외부 교육기관을 활용할 수 없기 때문에 서로 공감대가 형성되는 직원들이 함께 공부하면서 개척해 나가는 방법이 제일 중요하다고 생각하기 때문이다.
한편 기업에서는 직원 역량 개발에 적극적으로 나서 직원들이 기술력 향상을 위해 자발적인 활동을 지원해주는 역할이 강조되며, 이는 CIO가 인재양성을 위해 해야 할 책임 중 하나다.
가장 힘든 부분 중 하나다. 연구소나 SI사들은 IT가 핵심이기 때문에 관련 지원이 많을 텐데, 아무리 IT를 기반으로 운영하는 온라인 쇼핑몰이라 해도 중심은 사업부가 핵심이 되기 때문이다.
하지만 IT는 그 어느 분야보다도 변화의 속도가 빠르기 때문에 지속적이고 체계적인 교육이 필수적이다. 따라서 직원들을 외부 전문 교육기관에 보내거나 외부 전문가를 내부로 초빙해서 집체교육을 진행 중이다.
또한 인터파크 IT 부문에서는 스터디 그룹 활동을 장려한다. IT는 분야의 특성상 새로 시도되는 기술들에 대해서는 외부 교육기관을 활용할 수 없기 때문에 서로 공감대가 형성되는 직원들이 함께 공부하면서 개척해 나가는 방법이 제일 중요하다고 생각하기 때문이다.
한편 기업에서는 직원 역량 개발에 적극적으로 나서 직원들이 기술력 향상을 위해 자발적인 활동을 지원해주는 역할이 강조되며, 이는 CIO가 인재양성을 위해 해야 할 책임 중 하나다.
99%가 아닌 100% 역량 발휘가 중요
▲IT본부 직원들에게 당부하고 싶은 점은?
약 150여 명의 직원들에게 업무에 임함에 있어 본인이 ‘오너’라는 주인의식을 갖기를 주문한다.
실제로 직원들에게 “당신이 사장이 됐다고 치자, 내 팀원 중 15명을 뽑아서 데려간다고 할 때 누구를 데려가서 일할지 생각해봐라. 또는 내 옆 사람이 사장이 됐을 때 나를 선택할지 반문해봐라”는 비유를 많이 한다. 조직과 IT에서 엔지니어로서 장인 정신을 강조한다. 99% 업무를 수행하기는 쉬운 일이다. 하지만 여기에 1%를 더하는 것이 훨씬 어려운 일이다.
다음은 겸손이다. 고객들에게 겸손하고 고객이 이해할 수 있는 용어로 커뮤니케이션하기를 강조한다.
가끔 외부에서 듣는 말 중 하나는 IT를 하는 사람들이 딱딱하고 융통성이 없다는 말이다. 벼는 익을수록 고개를 숙이듯이 존경 받는 사람은 거만과는 거리가 멀다.
그리고 IT 분야의 빠른 변화를 수용하는데 있어 보다 적극적으로 대처하는 자세를 강조한다. 전체적인 변화의 흐름을 이해하는 것이 매우 중요하기 때문에 현실에 안주하는 대신 자기 개발에 끊임없이 힘을 쏟기 바란다.
약 150여 명의 직원들에게 업무에 임함에 있어 본인이 ‘오너’라는 주인의식을 갖기를 주문한다.
실제로 직원들에게 “당신이 사장이 됐다고 치자, 내 팀원 중 15명을 뽑아서 데려간다고 할 때 누구를 데려가서 일할지 생각해봐라. 또는 내 옆 사람이 사장이 됐을 때 나를 선택할지 반문해봐라”는 비유를 많이 한다. 조직과 IT에서 엔지니어로서 장인 정신을 강조한다. 99% 업무를 수행하기는 쉬운 일이다. 하지만 여기에 1%를 더하는 것이 훨씬 어려운 일이다.
다음은 겸손이다. 고객들에게 겸손하고 고객이 이해할 수 있는 용어로 커뮤니케이션하기를 강조한다.
가끔 외부에서 듣는 말 중 하나는 IT를 하는 사람들이 딱딱하고 융통성이 없다는 말이다. 벼는 익을수록 고개를 숙이듯이 존경 받는 사람은 거만과는 거리가 멀다.
그리고 IT 분야의 빠른 변화를 수용하는데 있어 보다 적극적으로 대처하는 자세를 강조한다. 전체적인 변화의 흐름을 이해하는 것이 매우 중요하기 때문에 현실에 안주하는 대신 자기 개발에 끊임없이 힘을 쏟기 바란다.
▲인터파크의 IT 부문과 CIO의 장·단기 목표는 무엇인가?
IT가 단순히 사업 부서를 지원하는 곳이 아닌 비즈니스 파트너로서 역할을 충실히 수행하는 것이다. 이를 위해서는 사업부 요구사항을 쉽게 수용함과 동시에 빠르게 적용할 수 있는 시스템 구조를 만드는 일이 중요하다.
IT 거버넌스 안에서 관리체계를 점검하고 로드맵을 수립하는 부분 역시 최근 이슈며, IT 직원 모두가 인터파크 IT 부문에 근무하는 것에 대해 항상 자부심을 가질 수 있도록 독려하고 있다.
IT가 단순히 사업 부서를 지원하는 곳이 아닌 비즈니스 파트너로서 역할을 충실히 수행하는 것이다. 이를 위해서는 사업부 요구사항을 쉽게 수용함과 동시에 빠르게 적용할 수 있는 시스템 구조를 만드는 일이 중요하다.
IT 거버넌스 안에서 관리체계를 점검하고 로드맵을 수립하는 부분 역시 최근 이슈며, IT 직원 모두가 인터파크 IT 부문에 근무하는 것에 대해 항상 자부심을 가질 수 있도록 독려하고 있다.
▲끝으로 하고 싶은 말씀은?
CIO는 기술직도, 경영직도 아닌 기술관리직군이다. 세미나에 많이 참석하고 있는데 주로 제품 위주의 설명들이 많다. 내가 원하는 것은 좀 더 상세한 기술적 접근이다.
오히려 마케팅 부서와 사업 부서에서는 이러한 기술 교류가 더 많다. 국내 벤더사나 언론 등에서 주최하는 세미나에서 이러한 요구조건을 좀 더 반영해 줬으면 한다.
< 저작권자 © CIOCISO 무단전재 및 재배포금지 >CIO는 기술직도, 경영직도 아닌 기술관리직군이다. 세미나에 많이 참석하고 있는데 주로 제품 위주의 설명들이 많다. 내가 원하는 것은 좀 더 상세한 기술적 접근이다.
오히려 마케팅 부서와 사업 부서에서는 이러한 기술 교류가 더 많다. 국내 벤더사나 언론 등에서 주최하는 세미나에서 이러한 요구조건을 좀 더 반영해 줬으면 한다.
---------------------------------------------------------------------------------
2014년 1월 1일 수요일
피드 구독하기:
글 (Atom)