# data[].attributes.attachment_link.readable_text
정년퇴직을 앞둔 공무원의 사회 적응을 돕는다는 취지로 도입된 '공로연수제'가 시행된지 28년째다. 하지만 매년 이를 둘러싸고 공직사회와 시민사회의 시선이 엇갈리고 있다. 애초 도입 취지처럼 공무원 정년퇴직 후 삶을 설계할 '복리후생' 차원에서 필요하다는 주장이 있는가 하면, 연수 기간 동안 일을 하지 않아도 임금을 받는 탓에 '세금 낭비'라는 지적도 끊이지 않기 때문이다.

인생 이모작 준비 위해 도입된 '공로연수제'

공로연수제는 정년퇴직을 6개월~1년 남겨둔 공무원에게 사회에 적응할 준비를 할 수 있도록 하자는 취지에서 1993년 도입됐다. 연수를 받는 공무원은 직무에서 벗어나 직업 재탐색을 위한 교육 및 봉사 시간을 갖는다. 연수 기간 동안에는 수당을 제외하고 기본 임금을 수령한다.

서울시도 이달 1일부터 상반기 공로연수자 114명을 선발해 공로연수에 들어갔다. 5급 이상 공무원 65명은 1년, 6급 이하 공무원 49명은 6개월 동안 연수 과정을 밟는다. 의무 교육시간으로 규정된 60시간 동안 제2의 인생 설계를 위한 비대면 강의 및 현장 체험을 이수하고, 그 외 시간은 연수자 자율에 따라 구성된다.

베이비붐 세대의 은퇴 시기와 맞물리면서 최근 공로연수제 규모는 매년 증가 중이다. 4일 행정안전부에 따르면, 공로연수자 수는 2015년 2,867명에서 2019년 5,340명으로 4년 사이 2배 가까이 늘어났다. 1955년부터 1963년에 이르는 베이비붐 세대의 은퇴 기간 동안 공로연수자 수는 증가할 전망이다.

"세금낭비vs복리후생"...입장 대립 '팽팽'

공직사회에서도 공로연수제를 바라보는 시각은 엇갈린다. 공로연수제가 인사 적체 해소를 위한 수단으로 자리잡은 탓에 연수를 부정적으로 보는 시각도 적지 않다. 2년 전 공로연수를 받고 33년 간의 공직생활을 정리한 서원선(63)씨는 "강제는 아니지만 대부분 승진자들이 대기하니까 안 갈 수가 없어서 공로연수를 가고 있다"며 "이러한 이유로 공로연수를 부정적으로 보는 공무원들도 꽤 많다"고 말했다. 서씨는 "연수 기간 동안 임금을 받는다 해도 수당은 받지 못해 퇴직을 앞두고 경제적 이유로 연수를 가지 않는 경우도 더러 있다"고 말했다.

하지만 공로연수의 필요성을 의견도 적지 않다. 수도권 소재 지자체에서 근무 중인 공무원 이모씨는 "공무원들은 공직자 윤리법을 적용 받기 때문에 퇴직 후 직무와 연관 있는 분야의 취업이 금지된다. 자신의 전문성을 발휘하지 못하도록 제한을 한 만큼, 새로운 직업을 탐색할 기회를 주는 것은 필요하다"고 말했다.

전국공무원노조 관계자는 "제도가 도입 취지에 맞지 않게 운영된다면, 무작정 폐지를 거론할 것이 아니라 취지를 살릴 수 있도록 보완하는 것이 더 바람직하다"고 말했다. 현행 공로연수제 하에서는 의무교육 60시간을 제외한 상당 시간이 당사자 재량에 맡겨져 있다. 이런 부분에 있어 공로연수를 받는 공무원들이 개별적으로 얼마나 취지를 잘 살리느냐가 중요하다는 얘기다. 하지만 그간 공로연수제를 명목으로 외유성 여행을 가는 사례 등이 반복되면서 '공로연수제 폐지론'까지 제기됐다.

각 지방자치단체의 재정자립도와 공무원 직급에 따라 교육의 질이 달라지는 것도 보완해야 할 지점으로 꼽힌다. 현직 공무원 김모씨는 "재정자립도가 낮은 지역에서 일한 공무원이나 높은 지역에서 일한 공무원이나 열심히 일한 것은 마찬가지이지만, 지자체의 재정자립도에 따라 공로 연수 프로그램의 질 차이가 크다"고 지적했다. 김씨는 또 "직급에 따라 높은 직급은 1년, 낮은 직급은 6개월 등 연수 기간에 차등이 있는 것도 개선돼야 한다"고 말했다.

세상을 보는 균형, 한국일보Copyright ⓒ Hankookilbo 신문 구독신청

# data[].attributes.attachment_link.title
"세금낭비 vs 복리후생"... 공로연수제 향한 엇갈린 시선

# data[].attributes.attachment_link.description
정년퇴직을 앞둔 공무원의 사회 적응을 돕는다는 취지로 도입된 '공로연수제'가 시행된지 28년째다. 하지만 매년 이를 둘러싸고 공직사회와 시민사회의 시선이 엇갈리고 있다. 애초 도입 취지처럼 공무원 정년퇴직 후 삶을 설계할 '복리후생' 차원에서 필요하다는 주장이 있는가 하면, 연수 기간 동안 일을 하지 않아도 임금을 받는 탓에 '세금 낭비'라는 지적도 끊이지

# data[].attributes.headline
예상 질문 1: 소속별 현황(하이라이트 차트)

# data[].attributes.subject
예상 질문 1: 소속별 현황(하이라이트 차트)

# data[].attributes.headline
예상 질문 2: 직급별 현황(파이차트)

# data[].attributes.subject
예상 질문 2: 직급별 현황(파이차트)

# data[].attributes.headline
예상 질문 3: 성별 현황(가로막대)

# data[].attributes.subject
예상 질문 3: 성별 현황(가로막대)

# data[].attributes.headline
예상 질문 4: 연령별 현황(박스 플롯)

# data[].attributes.subject
예상 질문 4: 연령별 현황(박스 플롯)

# data[].attributes.headline
예상 질문 5: 출장비 현황(채워진 버블)

# data[].attributes.subject
예상 질문 5: 출장비 현황(채워진 버블)

# data[].attributes.headline
전북교육청교육연수원 맞춤 연수 공모(2022)

# data[].attributes.subject
전북교육청교육연수원 맞춤 연수 공모(2022)

# data[].attributes.attachment_link.readable_text
15일 연수원에 따르면 이번 공모는 지방공무원을 비롯해 사립학교 사무직원, 교육공무직원이 참여 가능하며 공모기간은 2월 17일부터 3월 4일까지다.

내가 만드는 맞춤 연수는 기존 연수의 틀을 벗어나 직무나 관련 소양 분야에 관심을 가진 사람들이 자유롭게 연수팀을 구성하여, 원하는 시기에 원하는 장소에서 원하는 주제로 연수를 받을 수 있는 교육당사자 맞춤형 연수다.

올해로 5년차인 연수는 2021년에는 20팀, 378명이 참여했으며 올해도 20팀을 선발, 교육공동체 구성원들에게 다양한 연수 기회를 줄 계획이다.

신청을 희망하는 팀은 연수신청서를 작성해 공문으로 제출하면 된다.

연수원은 심사 후 3월 중 연수팀을 확정해 발표할 예정이며, 본 연수 운영은 준비 기간을 거쳐 5월~8월 사이에 이뤄질 예정이다.

연수원 관계자는 "내가 만드는 맞춤 연수 운영으로 행정 교육의 현장활용도를 제고하고 연수 운영의 자율성과 교육 내용의 다양화를 기대한다"고 말했다.

이재봉 기자 bong019@naver.com

# data[].attributes.attachment_link.title
전북교육청교육연수원 '내가 만드는 맞춤 연수' 공모 - 전라일보

# data[].attributes.attachment_link.description
15일 연수원에 따르면 이번 공모는 지방공무원을 비롯해 사립학교 사무직원, 교육공무직원이 참여 가능하며 공모기간은 2월 17일부터 3월 4일까지다. 내가 만드는 맞춤 연수는 기존 연수의 틀을 벗어나 직무나 관련 소양 분야에 관심을 가진 사람들이 자유롭게 연수팀을 구성하여, 원하는 시기에 원하는 장소에서 원하는 주제로 연수를 받을 수 있는 교육당사자 맞춤형 연수다.

# data[].attributes.attachment_link.title
맞춤형 연수 2-1차시 데이터(탑재용)

# data[].attributes.headline
결과보고서 양식 작성하기

# data[].attributes.subject
결과보고서 양식 작성하기

# data[].attributes.headline
핵심 KPI 생성: 참여 인원, 참여 기관, 참여 직급, 소요 예산(2-2차시 이후 필수 작성)

# data[].attributes.subject
핵심 KPI 생성: 참여 인원, 참여 기관, 참여 직급, 소요 예산(2-2차시 이후 필수 작성)

# data[].attributes.headline
결과보고서 예시(pdf)

# data[].attributes.subject
결과보고서 예시(pdf)

# data[].attributes.headline
연수 현황(빅린이) 대시보드(초급) 

# data[].attributes.subject
연수 현황(빅린이) 대시보드(초급) 

# data[].attributes.headline
17일 연수에서 실습합니다. 

# data[].attributes.subject
17일 연수에서 실습합니다. 

# data[].attributes.body
1.25배속 실행(1분 정도)

# data[].attributes.attachment_link.readable_text
0:00 / 7:28•Watch full video

# data[].attributes.attachment_link.title
파이썬 Python 코딩 - matplotlib 플롯 바차트 차트 그래프 그리기

# data[].attributes.headline
결과보고서 예시(한글파일)

# data[].attributes.subject
결과보고서 예시(한글파일)

# data[].attributes.headline
코딩을 활용한 데이터 시각화 예시

# data[].attributes.subject
코딩을 활용한 데이터 시각화 예시

# data[].attributes.attachment_link.readable_text
04. 데이터 시각화 (p60~)¶

1. 멧플롯립(matplotlib)을 활용한 데이터 시각화¶

멧플롯립은 파이선에서 활용하는 대표적인 시각화 도구로 다양한 2차원 평면 그래프를 지원한다.

In [1]:

# 판다스, 넘파이, 멧플롯립 불러오기
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

단순(선) 그래프 그리기¶

선 그래프는 연속하는 데이터 값들을 직선 또는 곡선으로 연결하여 데이터 값 사이의 관계를 나타낸다. 특히 시계열 데이터와 같이 연속적인 값의 변화와 패턴을 파악하는데 적합하다.

In [2]:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

In [3]:

plt.title("Plot")
plt.plot([1, 4, 9, 16])
plt.show()

이때 x축의 자료 위치, 즉 틱(tick)은 자동으로 0, 1, 2, 3이 된다. 만약 이 x tick 위치를 별도로 명시하고 싶다면 다음과 같이 두 개의 같은 길이의 리스트 혹은 배열 자료를 넣는다.

In [4]:

In [3]: plt.title("x ticks")
plt.plot([10, 20, 30, 40], [1, 4, 9, 16])
plt.show()

막대 그래프 그리기¶

다양한 형태의 막대 그래프 표현이 가능하다.

In [5]:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

In [6]:

data = pd.DataFrame({"column1":[1,3,5,7,9], "column2":[9,8,6,5,3]})
data

Out[6]:

| column1 | column2
0 | 1 | 9
1 | 3 | 8
2 | 5 | 6
3 | 7 | 5
4 | 9 | 3

In [7]:

data.plot(kind='bar', stacked=True)

Out[7]:

<matplotlib.axes._subplots.AxesSubplot at 0x123c543d2b0>

2. 폴리움(Folium) 라이브러리로 지도 표현¶

지도 만들기¶

37.5838699,127.0565831,17z 값은 정확히는 해당 위치의 좌표 값이 아니라 G4 지도 화면이 보여주고 있는 화면의 정중앙 값의 좌표와 배율이다. G4 지도에서 알아낸 값을 바탕으로 아래와 같이 지도를 초기화할 수 있고, folium.Map.save() 를 이용해서 html파일로 저장할 수 있다.

In [8]:

import folium
m = folium.Map(
    location=[37.5838699,127.0565831],
    zoom_start=15
    )
m.save('map.html')

In [9]:

import urllib.request, json
with urllib.request.urlopen('https://raw.githubusercontent.com/southkorea/seoul-maps/master/juso/2015/json/seoul_municipalities_geo.json') as url:
    data = json.loads(url.read().decode())

import json
json_string = json.dumps(data)

# json_string 파일로 저장하기
f = open('seoul_municipalities_geo.json','w')
f.write(json_string)
f.close()

# 파일 읽기
f = open('./seoul_municipalities_geo.json','r')
geo = json.loads(f.read())

folium.GeoJson(
    geo,
    name='seoul_municipalities'
).add_to(m)

Out[9]:

<folium.features.GeoJson at 0x123c5a81908>

In [10]:

import folium
m = folium.Map(
    location=[37.5838699,127.0565831],
    zoom_start=10
)

import json
with open('./seoul_municipalities_geo.json',mode='rt',encoding='utf-8') as f:
    geo = json.loads(f.read())
    f.close()

folium.GeoJson(
    geo,
    name='seoul_municipalities'
).add_to(m)
m.save('map.html')