반응형
반응형

[python] 웹 기반 파이썬 데이터 앱 쉽게 다루는 스트림릿( Streamlit ) 간단 예제

 

 

https://www.itworld.co.kr/news/334135

 

파이썬 애플리케이션의 공통적인 문제는 다른 사람들과 앱을 공유할 방법이다. 개발자들은 이 문제를 해결하기 위해 웹 인터페이스를 사용해서 UI를 통해 앱 기능을 제공하는 경우가 많다. 그러나 이 방법은 애플리케이션 UI가 웹 구성요소와 자연스럽게 맞을 때 가장 효과적이다. 예를 들어 데이터 탐색 앱은 이와 같은 방식으로 작동할 수 있지만, 이상적인 상호작용을 위해서는 프론트엔드 구성요소가 자바스크립트로 작성돼 있어야 한다.
 
스트림릿(Streamlit)은 이와 같은 많은 문제를 동시에 해결하는 것을 목표로 하는 파이썬 라이브러리다. 개발자는 스트림릿을 사용해서 풍부한 인터랙티브 구성요소 라이브러리를 기반으로 구축된 웹 기반 프론트엔드를 갖춘 파이썬 앱을 만들 수 있다.
 
그렇게 만들어진 애플리케이션은 파이썬 웹 앱이 있는 어디에나 호스팅할 수 있다. 무엇보다 좋은 점은 좋은 결과를 얻기 위해 반드시 HTML, 자바스크립트 또는 CSS에 대해 알 필요는 없다는 것이다. 스트림릿의 메서드와 클래스를 사용하는 파이썬 코드를 작성하기만 하면 된다.
 

간단한 스트림릿 예제

스트림릿 프로그램은 선언적 스타일로 작성된다. 객체는 코드에서 선언된 순서대로 웹 페이지에 나타난다. 구성요소와의 상호작용이 발생할 때마다 프로그램이 위에서부터 아래로 다시 실행되면서 웹 페이지를 다시 로드해 변경 사항을 반영한다.
 
다음과 같은 간단한 스트림릿 앱 예제를 살펴보자.
 

import streamlit as st

st.title("Take input from the user")
user_input = st.text_input("Say something:")

if user_input:
    st.write("You said:", user_input)

 
스트림릿으로 이 코드를 실행할 경우(streamlit run 명령 사용) 결과는 다음과 같다.

  1. 'Take input from the user'라는 제목의 웹페이지가 나타난다.
  2. 그 아래에 'Say something:'이라는 레이블이 붙은 텍스트 상자가 나타난다.
  3. 사용자가 이 텍스트 상자에 뭔가를 입력하고 Enter를 누르면 'You said:'라는 레이블의 텍스트 상자 아래에 사용자가 입력한 내용이 표시된다.

 
이러한 HTML 위젯과 모든 위젯 동작은 스트림릿에 의해 자동으로 생성되고 관리된다. 여기에는 앱 상태가 포함된다(예를 들어 user_input 상자에서 if 문은 사용자가 뭔가를 입력할 때만 실행됨).
 
스트림릿에서는 아래 예제보다 훨씬 더 많은 HTML 구성요소를 사용할 수 있다. 라텍스(LaTex) 형식 텍스트, 보케(Bokeh) 차트, 카메라 입력, 그 외에도 많은 구성요소가 네이티브로 제공된다.
 

더 복잡한 스트림릿 예제

더 복잡한 스트림릿 애플리케이션으로는 스트림릿 문서의 예제가 있다. 이 앱은 시간별로 그룹화된 맨해튼의 우버 승차 및 하차 지점 일반 데이터 집합을 로드한 다음 막대형 차트에 시간을 표시하고 인터랙티브 지도에 위치를 표시한다.
 
전체 프로그램 길이는 약 30줄에 불과하다. 워낙 짧아서 복사한 다음 파일에 붙여넣고 직접 실행할 수 있다. 스트림릿이 다양한 작업을 수행하는 방식을 보여주는 용도로도 좋은 앱이다.
 

스트림릿 앱의 데이터

스트림릿은 데이터 소스를 쉽게 다루기 위한 많은 네이티브 동작을 제공하며 데이터 로드 및 작업을 위한 주 형식으로 데이터프레임을 사용한다.
 
다른 파이썬 프로젝트에서 사용할 수 있는 모든 소스에서 데이터를 로드할 수 있으며, 이 과정을 돕기 위한 편의 기능도 제공된다. 예를 들어 이전 섹션에서 다룬 데이터 시각화 앱은 판다스(Pandas)를 사용해 원격 URL에서 CSV 파일을 로드하고 데이터프레임으로 변환한다. 데이터 로드와 형식 설정은 편리하지만 특히 네트워크 연결을 통해 로드하는 경우 속도가 느리고 많은 시간이 걸릴 수 있다. 또한 이 프로그램은 사용자가 동작을 수행한 후 매번 다시 로드된다.
 
스트림릿은 이 문제를 해소하기 위해 load_data() 함수를 래핑하는 데 사용되는 @st.cache_data 데코레이터를 제공한다. 또한 @st.cache_data는 애플리케이션이 여러 번 다시 로드되는 사이 데이터를 캐시하므로 처음 실행할 때만 로드된다.
 

스트림릿 앱의 상태 관리

스트림릿은 설계상 각 사용자 상호작용마다 애플리케이션이 강제로 다시 로드되므로 스트림릿 앱에서 지속적인 상태를 유지하기가 간단치 않을 수 있다. 텍스트 박스의 데이터가 실행 간 상태를 어떻게 처리하는지는 앞에서 살펴봤다. 개별 컨트롤의 상태와는 별개로 상태를 만들고 관리하려면 스트림릿의 내장된 session_state 객체를 사용해야 한다.
 
streamlit.session_state는 여러 실행 간에 지속되는 키-값 저장소다(실질적으로 사전). 스트림릿 프로그램이 처음 시작될 때 이 저장소는 빈 상태이므로 액세스하기 전에 키가 있는지 여부를 테스트해야 한다.
 

import streamlit as st

# create the key "sayings" if it doesn't exist
if 'sayings' not in st.session_state:
    st.session_state['sayings'] = []

# for convenience, make a reference
sayings = st.session_state['sayings']

st.title("Take input from the user")
user_input = st.text_input("Say something:")

if sayings:
    # display "sayings" if it has inputs from previous runs
    st.write("You previously said:", sayings)

if user_input:
    # add to "sayings" if we get an input
    sayings.append(user_input)
    st.write("You said:", user_input)


참고로 session_state에 저장되는 모든 데이터는 해당 애플리케이션을 실행하는 스트림릿 서버의 수명 동안만 지속된다. 서버가 멈추면 데이터는 손실된다. 더 적극적으로 지속되는 데이터를 원한다면 데이터베이스 또는 레디스와 같은 인메모리 캐시 등의 솔루션이 필요하다.
 

스트림릿 앱을 위한 데이터 위젯

지금까지 스트림릿 페이지에서 구현 가능한 다양한 요소로 간단한 텍스트 레이블 또는 HTML 컨트롤부터 지도, 차트, 오디오/비디오 재생과 같은 더 정교한 요소, 그리고 채팅 상자와 같은 고급 상호작용(예를 들어 LLM과의 상호작용 용도)까지 살펴봤다.
 
데이터 표시 또는 상호작용을 위한 스트림릿 컨트롤은 가장 일반적인 사용 사례를 위한 데이터 렌더링을 처리하도록 이미 사전 설정돼 있다. 예를 들어 스트림릿 웹 위젯은 데이터프레임을 소스로 사용할 수 있고 데이터프레임을 적절한 열 레이블과 함께 자동으로 표시하므로 수동으로 이를 추가할 필요가 없다.
 
스트림릿에는 폭넓은 일반적인 데이터 위젯 라이브러리가 기본적으로 포함된다. 사용자 커뮤니티에는 더 많은 구성요소가 만들어져 공유되며, 간단한 pip install을 통해 사용할 수 있다.
 

스트림릿 앱 배포

스트림릿 애플리케이션은 본질적으로 파이썬 웹 애플리케이션이므로 네트워크로 연결된 파이썬 앱과 거의 같은 방식으로 배포할 수 있다. 빠르고 간편한 방법은 컴퓨터에서 앱을 실행하고 할당된 포트를 통해 앱에 대한 액세스 권한을 제공하는 것이다.
 
고급 배포 역시 다른 파이썬 웹 앱과 동일한 패턴을 따른다. 즉, 도커, 쿠버네티스 또는 다양한 일반적인 클라우드 서비스를 사용하는 것이다. AWS와 마이크로소프트 애저의 스노우플레이크 사용자는 스노우플레이크 데이터 저장소를 기반으로 하는 스트림릿 앱을 배포할 수도 있다. 마지막으로, 스트림릿은 자체적인 커뮤니티 클라우드(Community Cloud) 호스팅 서비스를 제공한다. 다만 이는 스트림릿 앱을 위한 편의 기능일 뿐 필수 항목은 아니다.

반응형
반응형

https://streamlit.io/

 

streamlit

A faster way to build and share data apps

pypi.org

https://pypi.org/project/streamlit/

 

Streamlit • A faster way to build and share data apps

Streamlit is an open-source Python framework for machine learning and data science teams. Create interactive data apps in minutes.

streamlit.io

https://pyscript.com/

 

PyScript

 

pyscript.com

What is Streamlit?

Streamlit lets you transform Python scripts into interactive web apps in minutes, instead of weeks. Build dashboards, generate reports, or create chat apps. Once you’ve created an app, you can use our Community Cloud platform to deploy, manage, and share your app.

Why choose Streamlit?

  • Simple and Pythonic: Write beautiful, easy-to-read code.
  • Fast, interactive prototyping: Let others interact with your data and provide feedback quickly.
  • Live editing: See your app update instantly as you edit your script.
  • Open-source and free: Join a vibrant community and contribute to Streamlit's future.

Installation

Open a terminal and run:

$ pip install streamlit
$ streamlit hello

 

ctrl + C : 웹서버 shutdown 

 

.

반응형
반응형

인력 관리자의 가장 중요한 임무 중 하나가 직속 부하 직원의 성장을 돕는 것이라는 사실은 누구나 알고 있습니다. 그들에게 기술과 역량을 키우는 공간과 격려, 프로젝트 확장을 제공합니다.

그리고 최악의 죄를 짓지 않고 이 모든 일을 해내는 것이 바로 마이크로 매니지먼트입니다. 내가 만난 거의 모든 사람들이 마이크로 관리자 밑에서 어려움을 겪었습니다. 누군가는 자신의 직속 직원을 맴돌고, 잔소리하고, 질식시키는 사람입니다. 일반적으로 불안감, 신뢰 부족 및/또는 순전한 무능력으로 인해 발생합니다.

최근 기술직 근로자를 대상으로 한 설문 조사 에서 응답자의 39%는 마이크로 관리가 상사의 최악의 특성이라고 답했습니다. 그것은 다른 어떤 단일 특성보다 훨씬 더 많은 것입니다. 그뿐만 아니라, 다른 설문 조사 에서는 거의 75%의 응답자가 마이크로 관리가 유해한 직장의 첫 번째 징후라고 답했습니다. 좋아요.

세세한 부분까지 관리하는 것이 얼마나 끔찍한 일인지 생각해보면, 경영 서술이 왜 그 반대에 집중되어 있는지 알 수 있습니다.

지원, 신뢰, 자유, 공간. 파리! 자유로워라! 아름답습니다.

하지만 아마도 우리가 지나치게 수정한 것 같습니다.

 

베타를 뿌리지 마세요

최근에 우리 가족은 실내 암벽 등반을 시작했습니다. 이 비유를 열심히 설명하는 동안 양해해 주시기 바랍니다.

실내 등반의 일반적인 형태 중 하나는 "탑 로핑"이라고 합니다. 우리는 이미 꼭대기에 있는 안전한 지점을 통해 밧줄이 감겨져 있는 벽으로 다가갔다가 다시 내려왔습니다. 우리는 로프의 양쪽 끝에 묶습니다. 한 명은 등반하고 다른 한 명은 빌레이(등산가의 안전을 유지)합니다.

올라가면 내려가는 길이 멀다. 계속해서 활동적인 빌레이어를 두는 것이 좋습니다!

등산가는 힘든 일을 합니다. 그들은 작은 움직임과 큰 움직임을 통해 발전해야 합니다. 그들은 그것을 지나쳐 계속 올라갈 수 있을 때까지 각 문제를 시도하고, 넘어지고, 노력합니다. 지옥처럼 활동적이에요.

하지만 좋은 빌레이어라는 직업도 꽤 활동적이에요. 그들은 경계를 늦추지 않고 느슨해진 부분을 잡고 항상 손을 밧줄에 올려 놓습니다. 그들의 임무는 넘어지는 것을 잡는 것뿐만 아니라 등반가가 위험을 감수할 수 있도록 안전감을 제공하는 것입니다. 그들은 현장에서만 그 일을 하는 것이 아닙니다. 지금까지 가장 중요한 부분인 대부분은 처음부터 끝까지 모든 과정에서 발생합니다. (비유를 이해하기 시작하는 사람이 있습니까 ??)

물론 지나치게 활동적인 빌레이어도 끔찍합니다. 밧줄을 너무 세게 당기면 상대의 체중을 짊어지고 균형이 무너지며 귀중한 경험을 빼앗길 수 있습니다.

그러나 상황은 더욱 악화될 수 있습니다.

특정 루트를 오르는 방법에 대한 정보를 베타 라고 합니다 . (재미있는 사실 - 그 이름은 야외 등반가들이 Betamax 테이프 에 자신의 경로를 기록하던 시절에서 유래되었습니다 .) 누군가 다음에 해야 할 일에 대한 정보를 과도하게 공유할 때, 우리가 연주하는 것처럼 왼손, 오른발을 외칠 때 트위스터 , 베타 스프레이 라고 합니다 .

클라이머들은 사람들이 마이크로 관리를 싫어하는 것과 같은 방식으로 베타를 뿌리는 것을 싫어하며, 대부분 같은 이유 때문입니다. 나쁜 빌레이어는 베타에 스프레이를 뿌립니다.

하지만 좋은 빌레이어는 훌륭한 관리자의 모델이기도 합니다. 아마도 현재 제공되는 많은 관리 조언보다 더 나은 것일 수도 있습니다. (이제 이 비유를 집까지 가져가겠습니다! 🤦🏻 )

관리자로서 우리는 마이크로 관리를 너무 두려워하여 수동적인 영역으로 이동할 위험이 있습니다. 우리는 우리의 주된 임무가 사람들이 성장할 수 있는 위치에 있도록 하고, 그들에게 성장할 수 있는 공간을 제공하는 것이라고 믿게 되었습니다.

하지만 그것은 등반가가 더 어려운 길을 택하도록 격려하고, 밧줄을 꽉 붙잡는 대신 TikTok을 확인하는 동안 그들이 시작할 때 응원하는 것과 같습니다.

최선을 다하려면 그 등반가는 처음부터 끝까지 적극적인 빌레이가 필요합니다. 밧줄에 걸려 몇 피트만 떨어졌을 때 다시 시도하는 것은 쉽습니다. 이것은 가장 교육적인 실패이며, 피하고 싶은 큰 실패입니다.

결국, 당신을 사로잡는 것은 넘어지는 것이 아니라 바닥에서 갑자기 멈추는 것입니다.

 

활동적이지만 지나치게 활동적이지는 않음

이 지나친 등반 비유가 우리에게 무엇인가를 가르쳐준다면, 사전 예방적인 관리와 세세한 관리는 결코 같은 것이 아니라는 점을 바랍니다. 훌륭한 관리자는 누군가에게 올바른 길을 안내하고 최선을 다하도록 격려하는 것 이상의 일을 합니다.

그게 전부라면 충분히 관리하고 있지 않은 것입니다.

좀 더 활동적이어야 하지만 올바른 방법으로 해야 합니다.

훌륭한 관리자가 직원의 학습과 성장을 지원하는 세 가지 방법은 다음과 같습니다. 단, 세세한 관리는 필요하지 않습니다.

클라이밍은 관리와 마찬가지로 일관된 팀 스포츠입니다. 계획을 세우고, 명확성을 제공하고, 액세스 권한을 부여하고 처음부터 끝까지 계속 진행하세요!

명확성을 제공하십시오. 기대치, 역할, 결과에 대한 정보가 거의 없는 상태에서 누군가를 모호한 작업에 방치하는 것은 재앙을 초래하는 비결입니다. 좋은 관리자는 무엇을, 왜 하는지에 대한 적극적인 안내자입니다. 많은 맥락을 바탕으로 명확한 목표, 동기, 기대치를 설정하세요. 방법을 규정하지 않고 모두.

이것은 처음부터 한 번만 일어나는 대화가 아닙니다. 등반에 관한 한 가지 사실은, 올라가서 어려움을 겪을 때 주변에 무엇이 있는지 확인하기가 어려울 수 있다는 것입니다. 때로는 아래에서 보는 풍경이 꼭 필요한 것일 때도 있습니다. 직장에서도 대개 정기적으로 명확성을 다시 확립해야 합니다. 진전을 이루는 현실은 당신이 시작한 모든 선명함을 더럽히고 얼룩지게 만듭니다.

액세스, 컨텍스트를 제공합니다. 업무 수행은 외부에서 보이는 것보다 덜 매력적일 때가 많습니다. 우리는 익숙하지 않은 활동을 극화하고 지나치게 복잡하게 만드는 경향이 있습니다. 암벽 등반에 대한 나의 설명이 끔찍하고 불가능하다고 생각할 수도 있습니다. 하지만 동네 체육관에 가서 요령을 보여줄 사람을 찾는다면 (하!) 오래 걸리지 않을 것입니다.

따라서 좋은 관리자의 움직임은 프로젝트의 맥락을 드러내는 액세스를 제공하는 것입니다. 다음 주에 CEO에게 프레젠테이션을 하라고 요청하면 이번 주 회의에 초대하고 최근 프레젠테이션을 공유할 수도 있습니다.

우리는 관련된 사람들의 복잡성과 사회적 역학에 대해 이야기할 것입니다. 당신이 그것을 스스로 알아내리라 기대하는 것은 불공평합니다. 그것은 안전, 예절, 체육관 문화에 대해 가르치지 않고 등반에 초대하는 것과 같습니다.

당신도 나처럼 할 것이라는 기대는 없습니다. 모든 것을 이해하는 것이 성공을 위한 적극적이고 일관된 관리 프로세스라는 것입니다.

계획을 세우세요.

우리는 함께 땅 위에 서서 오르막을 올려다보고 있습니다. 내가 도와줄 거라는 걸 알면서 그냥 가셔도 돼요. 그러나 현명한 조치는 아마도 잠시 시간을 내어 계획을 세우는 것입니다.

이 문제를 어떻게 해결하실 건가요? 단계와 이정표는 무엇입니까? 가장 힘든 부분은 무엇인 것 같나요?

이것은 베타를 뿌리는 것과는 완전히 다릅니다. 당신이 나에게 요청하든 안 하든 나는 당신의 모든 행동을 안내하려는 것이 아닙니다. 방법은 당신에게 달려 있습니다. 대신, 저는 여러분과 협력하여 여러분만의 솔루션을 찾기 위한 템플릿을 만들고 있습니다. 결국 두 사람이 같은 길로 오르는 일은 없습니다!

다시 한 번 말씀드리지만 이는 일회성 조치가 아닙니다. 확보자가 체중을 지탱하는 동안 등반가가 길을 따라 멈추고 휴식을 취하고 재편성하는 것은 흔한 일입니다. 마찬가지로, 훌륭하고 적극적인 관리자의 움직임은 상황이 어떻게 진행되고 있는지, 상황이 기대치에 어떻게 매핑되는지(또는 그렇지 않은지), 계획을 어떻게 조정해야 하는지 정기적으로 확인하는 것입니다.

 

더 많은 작업(자주)

터무니없는 등반 비유 외에도 제가 계속해서 생각하는 점을 여러분은 알아차렸을 것입니다. 관리자가 누군가를 올바른 길로 안내하는 것만으로는 충분하지 않습니다. 일의 현실은 끊임없이 당신을 두들겨패고 계획을 바꿔 당신이 시작한 모든 선명함을 얼룩지게 하고 번지게 할 것입니다. 그러니 대화를 계속 이어나가야 합니다.

다시 안전하게 내려오는 것보다 더 슈퍼 히어로가 된 기분을 느끼게 하는 것은 없습니다. 정말 멋진 팀이에요!

많은 관리자들이 세세한 관리를 너무 두려워하여 충분히 관리하지 못합니다. 그들은 이탈을 생산적인 공간과 혼동합니다. 그러나 훌륭한 인력 관리자는 마우스를 가리키거나 추측하거나 인계받지 않고 계속해서 참여합니다.

당신이 성공하는 것을 보고 싶은 등반가를 땅바닥에 서서 올려다보는 것은 힘이 빠지는 것처럼 느껴질 수 있습니다. 그들은 저 위에 있고 여러분은 여기 아래에 있습니다. 원한다고 해서 뛰어들 수는 없습니다.

그러나 그것이 바로 그 느낌이어야 합니다. 여러분이 할 수 있는 일이 많이 있다는 것이 밝혀졌지만, 무슨 일이 있어도 저 벽 위에는 그들이 있습니다. 계속해서 참여하고, 격려하며, 그들이 다시 안전하게 내려올 때를 대비하여 매운 주먹 부딪치기를 준비하는 동안 그들이 할 일을 하게 하십시오.

 

반응형
반응형

경력보다 역량에 초점을 맞추고 추가 교육을 더하는 방식으로 인재를 빠르게 확보하려는 움직임이 늘고 있다. 하지만 이 전략에는 감안해야 할 미묘한 점들이 있다.
 

Image Credit : Getty Images Bank
제이슨 스나이더는 거의 모든 CIO가 공석을 채울 때 직면하는 문제와 씨름하고 있다. 치열한 인력 경쟁으로 인해 몇 달 동안 자리를 채우지 못하는 문제다. 매사추세츠주 기술 서비스 및 보안 사무국 비서실장이자 연방 CIO인 스나이더는 기관의 채용 및 유지 관행을 정비하여 이에 대응했다.

이러한 변화에는 채용 시 경력이나 학위 대신 보유 역량을 중시하기로 한 결정이 포함된다. 스나이더는 "이를 통해 인재 풀을 넓히고 다양성을 높이며 채용의 편견을 줄일 수 있을 것으로 생각했다"라고 말했다.

2024년 1월, 매사추세츠주 마우라 힐리 주지사가 주 정부 기관에 역량 기반 채용을 도입하도록 지시하는 행정 명령을 내렸을 때 매사추세츠주 IT 부서는 이미 해당 접근법을 활용하고 있었다. 

역량 우선(또는 기술 기반) 채용은 말 그대로다. 조직에 필요한 기술을 갖춘 후보자를 찾는 데 중점을 두는 채용 방식이다. 그리고 이를 채택하는 움직임은 증가하고 있다. 

2023년 링크드인 보고서 ‘스킬-퍼스트 : 노동 시장의 재구상과 장벽 허물기'에 따르면, 링크드인을 통해 이뤄진 채용의 45% 이상이 명시적으로 역량 데이터를 사용하여 이뤄졌다. 이는 전년 대비 12% 증가한 수치다. 또한, 미국 내 채용 공고의 19%는 더 이상 학위를 요구하지 않는 2021년에는 15%였다.

또한 링크드인의 '채용의 미래 2024' 보고서에 따르면 채용 전문가의 73%가 "인재 풀을 넓히고 자격을 갖춘 인재를 찾기 위해 역량 기반 채용과 업스킬링을 우선시하고 있다"라고 답했다.

이 접근법을 우선순위에 두거나 실행하는 CIO들이 얼마나 되는 지에 대한 통계는 없는 것으로 보이는 가운데, IT 임원들은 이 아이디어에 대해 엇갈린 반응을 보이고 있다. 일부 리더는 이 전략을 사용하고 있다. 다른 IT 임원들은 유보적인 태도를 보인다. 하지만 양측 모두 기술 우선 채용이 문제를 일부 해결할 수 있다는 데에는 동의한다.

인포-테크 리서치 그룹의 브리트니 루츠 리서치 디렉터는 "현실을 살펴보면 리더들이 역량 우선적 채용과 관련한 위험을 감수하는 것을 너무 두려워하는 듯 보인다. 변화의 홍수가 일어나는 가운데, 리더들이 기꺼이 받아들이지 않으려 하는 또 하나의 변화라고 할 수 있다"라고 말했다.

역량 채용에 대한 시각
지원자가 보유한 기술을 보고 채용하는 것은 사실 새로운 현상이 아니다. 실제로 많은 직업, 특히 전문직에서는 특정 기술을 보유하고 있다는 이유만으로 직원을 채용하는 사례가 오래 전부터 있었다. 또한 오늘날의 역량 우선 채용에 대한 관심은 인사 및 부서별 채용 관리자가 전통적인 채용 및 채용 관행의 일부로 후보자를 평가할 때 기술을 무시한다는 것을 의미하지도 않는다. 

하지만 루츠와 다른 전문가들은 역량 우선 채용 전략이 기존의 조직 내 채용 및 노동 관행과는 상이한 성격을 지니는 것은 사실이라고 입을 모은다. 일단 이 전략은 정도의 차이는 있지만 전통적인 직급 체계와 동떨어져 있다. 또 대학 학위와 자격증 요건을 없애는 경우가 많다. 이 밖에 조직의 미래 기술 수요를 파악하고 해당 기술 습득과 관련한 후보자의 특징을 상세히 제시해야 한다.

루츠는 "즉 인재 유치, 채용, 온보딩, 개발 및 관리 측면에서 꽤나 새로운 방식이다. 직원의 전체 라이프사이클에 걸쳐 진행된다. 이로 인해 조직이 나아갈 방향에 대한 올바른 비전이 필요하다. 역량 기반 채용에서 조직은 활동과 업무 및 역량을 세분화하게 된다. 직급이나 교육에 덜 의존한다”라고 말했다.

그녀는 오늘날 역량 우선 접근법을 그리 보편적이지 않다며, 700명 중 1명 미만이 능력으로 채용된다는 버닝 글래스 연구소와 하버드 비즈니스 스쿨의 '미래의 업무 관리 프로젝트'의 연구를 인용했다. 하지만 이들 보고서에서도 역량 우선 접근법에 관심이 높아지고 있음을 언급하고 있다.

루츠는 CIO들이 특히 관심을 보이는 이유는 IT 직종의 인력 부족이 계속되고 있기 때문이라며, 이들은 기술 우선 채용이 부서의 인재 공백을 메울 수 있는 더 효과적인 방법이라고 보고 있다고 말했다.

요구되는 작업
루츠는 기술 우선 채용 전략을 구현하려면 CIO가 해야 할 일이 많다고 말했다. 먼저 부족한 인재를 파악한 다음 현재 필요한 기술을 나열하고, 그 다음에는 미래에 필요한 기술을 결정해야 한다. "그리고 CIO는 인력과 조직을 어떻게 구성하고 있는지 살펴봐야 한다. 직무 설명(job descriptions)이 있는가? 아니면 직무 역할(job roles)만 있는가?"라고 그녀는 말했다.

루츠는 CIO가 필요한 기술을 정확히 파악하는 데 어려움을 겪는 경우가 많다며, 기술적인 기술은 잘 나열할 수 있지만 비즈니스 지향적인 기술과 소프트 스킬에 대해서는 명료화하지 못하곤 한다고 지적했다.

CIO가 지나치게 구체적인 경우도 있다. 예를 들어, 공급업체와 소통하는 데 능숙한 ERP 관련 기술을 갖춘 사람이 필요하다는 것을 인식하기보다는 SAP 소프트웨어에 능숙한 사람이 필요하다고 말하는 경우다. 이러한 태도들은 기술 우선 채용 방식을 취할 때 중요하게 작용한다.

이러한 모든 준비 작업은 CIO에게 큰 부담일 수 있다. 루츠는 "CIO들이 '내가 정말 이 일을 맡아야 하는지, 이 일이 나에게 도움이 될지 모르겠다'고 말하는 경우가 많다"라고 말했다.

기술 우선 채용 전략 구현하기
스나이더는 2023년 1월 EOTSS 비서 겸 커먼웰스 CIO가 되면서 이러한 업무를 맡았다. 그와 그의 리더십 팀은 HR 팀과 협력하여 IT 역할을 재정의했으며, 이를 통해 각 직책에 필요한 기술을 더 쉽게 파악할 수 있게 됐다. 

이들은 먼저 모든 직무 기술서에서 최소 학력 요건을 없앴다. 또한 직무 경로와 교육 계획을 명확히 하여 채용, 유지, 직장 문화에 총체적으로 접근할 수 있도록 했다. 스나이더는 이러한 접근 방식에 따라 자신과 팀은 자격을 갖춘 지원자를 채용한 후 추가 교육을 받도록 하거나 견습 프로그램에 등록하거나 코치 및 멘토와 짝을 맺어주고 있다고 전했다.

그는 기술 우선 채용 방식을 통해 2~3개월 내에 채용을 완료하고 몇 달 내에 입사자의 역량을 한층 향상시킬 수 있다고 말했다. 이 과정은 4~6개월이 걸릴 수도 있지만, 과거에 결원을 채우는 데 1년 정도 걸리던 것에 비하면 여전히 빠른 속도라고 그는 덧붙였다. 결과적으로 이러한 접근 방식을 통해 지난 6개월 동안 공석의 백로그가 약 20% 감소했다.

또한 스나이더는 이 전략이 기술팀의 다양성을 개선함으로써 여성 지원자, 퇴역 군인, 다양한 인종적 배경을 가진 더 많은 지원자를 유치하는 데 도움이 될 것이라고 기대한다고 말했다.

기술 우선 채용으로 효과를 본 다른 기업들도 있다. 모건 스탠리의 자산 및 투자 관리 기술 부문 CIO인 살 쿠치아라는 이어 업(Year Up) 및 유프로 플레이스먼트(YUPRO Placement)와 협력하여 기술 기반 접근 방식을 채택했다. 이어 업은 청년들에게 기술 기반 교육을 제공하는 비영리 단체이며, 유프로 플레이스먼트는 이어 업 참가자에게 일자리를 알선하는 데 도움을 주는 조직이다.

"우리는 이들 조직과 협력하여 개인을 식별하고 기초 교육을 진행한다. 이후 기술 및 비즈니스 교육을 통해 채용을 진행한다. 예를 들어, 개발자 역할의 경우 클라이언트 및 계정 온보딩과 같은 비즈니스 지식과 더불어 UI 개발, 자바 개발, 데이터베이스 개발에 대한 견습생 기술 교육을 제공하고 있다"라고 쿠치아라는 말했다.

쿠치아라는 이러한 접근 방식 덕분에 IT 인재 부족에도 불구하고 역할을 채우는 데 도움이 되었다며, 채용한 인재들의 유지율도 높았다고 덧붙였다. 전체적으로 기술 팀의 다양성도 개선됐다.

그는 그러나 기술 우선 전략에만 사용하지 않는다. "대부분의 직무가 고도로 기술적인 업무이기 때문에 대학 학위나 관련 경력을 요구하기도 한다"라고 그는 말했다.

다른 CIO들도 기술 우선 채용에 올인하는 데 신중을 기하고 있다. 주니퍼 네트웍스의 수석 부사장 겸 CIO인 샤론 맨델도 그중 한 명이다. 그녀는 "IT 부문의 채용은 복잡한 방정식이다. 어느 한 가지만 감안해선 안 된다"라고 말했다.

멘델은 채용 시 지원자의 교육, 경험, 특성은 물론 기술까지 고려할 때 성과를 잘 내고 변화에 따라 배우고 성장하며 적응할 수 있다며, 자신은 다른 사람들과 협업하고 함께 일할 수 있는 직원을 원한다고 강조했다. "AI를 잘 안다고 해서 어리석은 사람을 뽑으면 팀의 속도가 느려질 수 있다. 특정 기술만 필요한 경우 일반적으로 계약직으로 채용한다”라고 그녀는 말했다.

“관건은 인재 풀 확장”
능력 우선 채용을 지지하는 사람이라도 일부 직책에는 여전히 대학 학위나 일정 기간의 경력이 필요하다는 점을 인정한다. 또 채용 관리자가 지원자의 협업 능력과 같은 특정 특성을 고려해야 한다는 데 동의한다. 하지만 인재 격차를 효과적으로 해소하는 방법이라고 강조한다. 

이어 업의 디렉터이자 전 JP 모건 체이스의 CIO였던 존 갈란테는 "우리는 조직이 진정으로 필요로 하는 것이 무엇인지 파악한다”면서, 이러한 지원자들이 성공하고 성장할 수 있도록 지원자를 우선적으로 조직에 인턴십으로 배치하고, 지속적인 훈련과 교육을 받도록 장려한다고 설명했다.

갈란테에 따르면 IT 인턴십에 참여한 이어 업 교육생의 약 70%가 정규직 직원이 된다. 

유로 플레이스먼트의 마이클 심즈 CEO는 CIO가 채용 및 유지에 겪는 어려움과 Year Up 지원자의 성공적인 취업 및 고용주와의 관계를 고려할 때, 더 많은 CIO가 기술 우선 채용 전략을 채택할 수밖에 없을 것이라고 전망했다. 그녀는 "일단 기업이 인재 풀을 확장하는 것은 중요하다”라고 말했다. 

 

https://www.ciokorea.com/news/333841

 

IT 인재난 해법 될까? · · · ‘역량 우선 채용’ 체크포인트

경력보다 역량에 초점을 맞추고 추가 교육을 더하는 방식으로 인재를 빠르게 확보하려는 움직임이 늘고 있다. 하지만 이 전략에는 감안해야 할 미묘한

www.ciokorea.com

 

반응형
반응형

CxO 중에서도 어려운 직책인 CIO 역할을 수행하려면 다양한 기술이 필요하다. 여기에 필요한 능력과, 집중력을 발휘하면 나머지 능력을 끌어올릴 수 있는 2가지 영역을 소개한다.
 

ⓒ Getty Images Bank
기업은 CIO에게 많은 것을 기대한다. 비즈니스에 대한 총체적 지식, 가시적인 재무 성과, 민첩성뿐만 아니라, 변화를 관리하고 비즈니스 리더와 적극적으로 협업해 쉬운 영어로 IT를 설명할 수 있는 능력까지도 그렇다.

이는 광범위한 기술이 요구되는 까다로운 사항이다. 한 번은 어느 CFO가 "나는 그 많은 기대치를 모두 충족시킬 수 없는데, 당신이 CIO라 다행이다"라고 말한 적이 있다.

지금도 마찬가지지만, CIO는 맡기 어려운 CxO 역할 중 하나이며, 기술이 비즈니스에 더 깊이 뿌리내리면서 역할의 중요성은 더욱 커질 전망이다.

오늘날 점점 더 중요해지는 CIO의 역할을 성공적으로 수행하기 위해 IT 리더가 준비해야 할 사항을 정리한다.

총체적 비즈니스 지식
CIO는 비트와 바이트를 넘어 비즈니스와 그 성공 방법을 철저하게 이해해야 한다. 모든 CIO가 알아야 하는 기본적인 비즈니스 개념에는 회사 운영, 투자 수익, 대차대조표, 손익계산서, 주요 재무 비율뿐만 아니라, 당면한 주제가 IT와 직접적인 관련이 있는지를 떠나 회사의 전략적 비즈니스 계획을 인식하는 것까지 포함된다. 현재 많은 기업이 MBA 학위 또는 비IT 비즈니스 경력을 가진 CIO를 찾고 있는 것도 그 때문이다.

IT 투자를 통한 가시적인 재무 성과
투자 성과를 명확히 보여줄 수 없다면 이제는 더 많은 장치, 저장 공간, 네트워크 시스템을 요청하는 것만으로 충분하지 않다. 제조업에서 새로운 라우터와 와이파이6 네트워크에 대한 투자가 정말 필요한가? 이 투자가 어떻게 운영 비용을 절감하고 시장 출시 기간을 단축할 수 있는가? 와이파이6 설치에 따른 운영 비용 절감 및 매출 증가를 금액으로 표현할 수 있는가?

민첩성과 변화 관리 능력
새로운 원격 영업 시스템을 개발하던 중 CEO가 찾아와 보완 제품 라인을 갖춘 경쟁사 인수를 고려 중이라고 알리는 상황을 가정해 본다. CEO는 CIO의 의견을 묻는다. CIO는 비즈니스 관점에서 보면 당연한 일이라고 답한다. 하지만 이제 원격 영업 프로젝트를 중단하고 새로운 회사를 ERP 시스템으로 전환하기 위해 IT 직원을 마이그레이션해야 한다. 얼마나 신속하고 원활하게 절차를 진행하고 직원들의 집중력을 다시 높일 수 있을까?

협업
기업에서 재무팀이 IT팀과 소통하지 않고 새로운 소프트웨어를 자체적으로 구입해 노코드 애플리케이션을 추진하는 경우가 있다. 하지만 그럴 때면 얼마 뒤 회사의 다른 시스템과 통합을 요청하기 위해 IT팀을 찾아올 가능성이 높다. 재무팀의 연락을 기다리는 편인가, 아니면 당장 아는 내용은 없더라도 적극적으로 협업하기 위해 연락을 취하는가?

쉬운 언어를 쓰는 대화
이사회는 제조업에 와이파이6 네트워크가 필요한 이유와 이미 모든 것이 정상적으로 작동하는 것 같은데 왜 라우터와 기타 네트워크 장치를 업그레이드해야 하는지 알고 싶어 한다. 새로운 와이파이 프로토콜에 대한 기술 논의로 너무 깊이 들어가지 않고도 업그레이드의 필요성을 쉬운 언어와 적절한 비즈니스 용어로 설명할 수 있는가? 그렇게 할 수 있다면 IT 투자에 있어 최고 경영진을 설득하는 데 도움이 될 뿐만 아니라 꼭 필요할 때 비즈니스 동료의 지원을 받을 가능성이 높아진다.

'슈퍼맨(또는 슈퍼우먼) 증후군' 관리
80여 년 전 꼬마 기자 지미 올슨(편집자 주: 만화 '슈퍼맨' 속 슈퍼맨의 친구)은 "저기 하늘을 봐. 새야! 비행기야! 슈퍼맨이야!"라고 외쳤다. 의심할 여지 없이 CIO라면 망토를 두르고 즉각적인 IT 솔루션으로 회사의 최우선 과제를 해결하러 빠르게 날아가고 싶은 날이 많았을 것이다. 하지만 안타깝게도 대부분의 IT 리더는 '슈퍼맨'이 되기 어렵다고 느낄 날이 더 많을 터다.

그렇다면 한 명의 사람일 뿐이라는 사실을 인정하고 CIO로서 2가지 주요 영역에만 집중하기로 결정했다면, 그 영역은 무엇일까?

비즈니스 통찰력
첫 번째 영역은 비즈니스 통찰력이다. CIO는 비즈니스를 예리하게 이해하고 회사의 성공을 위해 무엇이 필요한지 보여줄 때 자신의 가치와 IT의 가치를 확립한다.

CIO는 CFO 및 CEO와 회사의 모든 재무 주제에 대해 대화할 수 있어야 한다. 재무적, 운영적, 전략적 비즈니스 측면에서 IT의 투자 가치를 설명할 수 있어야 하며, 적자로 보이기 시작하는 IT 프로젝트를 멈출 준비가 돼 있어야 한다.

이런 비즈니스 통찰력은 중간 비즈니스 관리자와의 대화로도 확장돼야 한다. 관리자의 비즈니스 고충을 이해하고 IT가 이를 해결할 방법을 제공하면 그들의 성공을 위해 노력하고 있음을 보여줄 수 있기 때문이다. CIO는 정기적으로 현업 관리자를 방문해 운영상의 장애물과 IT가 이를 해결하는 방법에 대해 논의할 수 있다.

마지막으로 CIO는 비즈니스 통찰력과 감수성을 직원에게 전달하고 가르쳐야 한다. 어느 CIO는 매월 직원 회의에서 15분씩 특정 회사의 재무적 사실이나 비율을 강조하고, IT가 이에 어떻게 기여했는지 설명하는 시간을 가졌다. 이를 통해 IT 직원의 비즈니스 지식도 향상됐고 직원들이 IT의 기여에 민감하게 반응하기 시작했다. 이 방식이 IT 업무에 비즈니스 관련성과 목적을 불어넣은 것이다.

대인관계 기술
CIO가 발전시켜야 할 두 번째 중요 영역은 민첩성, 변화 관리 및 협업의 기초가 되는 대인관계 기술이다.

비즈니스 글쓰기와 효과적인 프레젠테이션을 위해 외부 강의를 듣는 CIO들을 알고 있다. 함께 일했던 어느 CEO는 기술 약어에 대해 매우 불안감을 느끼면서도 잘 모르는 것처럼 보이기 싫어 CIO나 IT 직원에게 물어보기를 두려워하기도 했다.

CIO는 '기술적 화법'을 줄이고 평범한 영어로 글을 쓰고 말해야 기술에 대한 비즈니스 사례를 더욱 설득력 있게 만드는 동시에 주변 사람들을 편안하게 할 수 있다. 사람들은 자신의 언어로 이해하고 이야기할 수 있는 기술 이니셔티브나 요청을 더 기꺼이 지지할 것이다.

이 아이디어의 중심에는 공감도 있다. 누군가가 어디에서 왔는지, 무엇을 필요로 하는지, 그들의 눈높이에서 소통하고 진정으로 경청한다면 협업과 프로젝트를 진전시키는 '마음의 만남'이 필요할 때 큰 도움이 될 수 있다. 비즈니스 방향이 바뀌어 민첩성이 요구되는 경우, 모두가 이미 같은 생각을 갖고 있다면 더 쉽게 전환할 수 있다. 

 

https://www.ciokorea.com/news/333834

 

칼럼 | 'CxO 중에서도 어려운 직책'… 회사가 원하는 IT 리더가 되려면

CxO 중에서도 어려운 직책인 CIO 역할을 수행하려면 다양한 기술이 필요하다. 여기에 필요한 능력과, 집중력을 발휘하면 나머지 능력을 끌어올릴

www.ciokorea.com

 

반응형
반응형

MSSQL에서 합산(SUM) 또는 평균(AVG) 결과를 5로 나누고 결과를 소수점 한 자리까지 표현하는 방법을 알아보겠습니다. 이를 위해 CAST 또는 ROUND 함수를 사용하여 결과를 적절히 포맷할 수 있습니다.

1. SUM 후 5로 나누기
예를 들어, Sales 테이블에서 모든 제품의 Quantity 합을 구한 후 그 결과를 5로 나누고 소수점 한 자리까지 반올림하는 쿼리는 다음과 같습니다.

sql


SELECT 
    CAST(SUM(Quantity) / 5.0 AS DECIMAL(10, 1)) AS SumDividedBy5
FROM 
    Sales;
이 쿼리에서 SUM(Quantity) / 5.0는 Quantity의 합을 5로 나누고, CAST(... AS DECIMAL(10, 1))는 결과를 소수점 한 자리까지 포맷합니다. 5.0을 사용하는 것은 결과가 실수로 처리되도록 하기 위함입니다.

2. AVG 결과 소수점 한 자리까지
Sales 테이블에서 모든 제품의 Quantity 평균을 계산하고 소수점 한 자리까지 표시하는 쿼리는 다음과 같습니다.

sql


SELECT 
    CAST(AVG(Quantity) AS DECIMAL(10, 1)) AS AverageQuantity
FROM 
    Sales;
또는 ROUND 함수를 사용하여 같은 결과를 얻을 수 있습니다.

sql


SELECT 
    ROUND(AVG(Quantity), 1) AS AverageQuantity
FROM 
    Sales;
ROUND 함수는 첫 번째 인자로 받은 값을 두 번째 인자로 지정한 소수점 자리까지 반올림합니다.

위의 방법을 사용하여 SQL 쿼리 결과의 수치를 원하는 소수점 자리까지 조절할 수 있습니다. 이를 통해 보다 정확하고 의도한 형태의 데이터 분석 결과를 얻을 수 있습니다.

반응형

+ Recent posts