반응형
반응형

소프트웨어를 무료로 배포하는 방법

https://simonwillison.net/2025/Apr/28/give-it-away-for-free/

 

Giving software away for free

If you want to create completely <strong>free software</strong> for other people to use, the absolute best delivery mechanism right now is static HTML and JavaScript served from a free web …

simonwillison.net

 

 

https://pyodide.org/en/stable/

 

 

 

  • 다른 사람을 위한 무료 소프트웨어를 만들고 싶다면:
    • 정적 HTML + JavaScript로 제공
    • 무료이면서 신뢰할 수 있는 웹호스팅 이용
  • WebAssembly Pyodide 덕분에:
    • 클라이언트 측 Python 애플리케이션 제공 가능
  • 서버 기반 서비스는 추천하지 않음:
    • 서버는 업그레이드와 비용 관리가 필요해 시간이 지나면 부담이 됨
  • 2025년 추천 플랫폼:
    • GitHub Pages (공개 저장소용, 17년 넘게 안정적)
  • 과거 추천했지만 이제는 비추천:
    • Heroku (2022년 Salesforce 인수 후 신뢰도 하락)
  • 추가 권장 사항:
    • 오픈 소스 라이선스로 배포
    • 바로 실행 가능한 링크 제공

 

 

Getting started

Try it online

Try Pyodide in a REPL directly in your browser (no installation needed).

Setup

There is a complete example that you can copy & paste into an html file below. To include Pyodide in your project you can use the following CDN URL:

https://cdn.jsdelivr.net/pyodide/v0.27.5/full/pyodide.js

You can also download a release from GitHub releases or build Pyodide yourself. See Downloading and deploying Pyodide for more details.

The pyodide.js file defines a single async function called loadPyodide() which sets up the Python environment and returns the Pyodide top level namespace.

async function main() {
  let pyodide = await loadPyodide();
  // Pyodide is now ready to use...
  console.log(pyodide.runPython(`
    import sys
    sys.version
  `));
};
main();

Running Python code

Python code is run using the pyodide.runPython() function. It takes as input a string of Python code. If the code ends in an expression, it returns the result of the expression, translated to JavaScript objects (see Type translations). For example the following code will return the version string as a JavaScript string:

pyodide.runPython(`
  import sys
  sys.version
`);

After importing Pyodide, only packages from the standard library are available. See Loading packages for information about loading additional packages.

Complete example

Create and save a test index.html page with the following contents:

<!doctype html>
<html>
  <head>
      <script src="https://cdn.jsdelivr.net/pyodide/v0.27.5/full/pyodide.js"></script>
  </head>
  <body>
    Pyodide test page <br>
    Open your browser console to see Pyodide output
    <script type="text/javascript">
      async function main(){
        let pyodide = await loadPyodide();
        console.log(pyodide.runPython(`
            import sys
            sys.version
        `));
        pyodide.runPython("print(1 + 2)");
      }
      main();
    </script>
  </body>
</html>

Alternative Example

<!doctype html>
<html>
  <head>
    <script src="https://cdn.jsdelivr.net/pyodide/v0.27.5/full/pyodide.js"></script>
  </head>

  <body>
    <p>
      You can execute any Python code. Just enter something in the box below and
      click the button.
    </p>
    <input id="code" value="sum([1, 2, 3, 4, 5])" />
    <button onclick="evaluatePython()">Run</button>
    <br />
    <br />
    <div>Output:</div>
    <textarea id="output" style="width: 100%;" rows="6" disabled></textarea>

    <script>
      const output = document.getElementById("output");
      const code = document.getElementById("code");

      function addToOutput(s) {
        output.value += ">>>" + code.value + "\n" + s + "\n";
      }

      output.value = "Initializing...\n";
      // init Pyodide
      async function main() {
        let pyodide = await loadPyodide();
        output.value += "Ready!\n";
        return pyodide;
      }
      let pyodideReadyPromise = main();

      async function evaluatePython() {
        let pyodide = await pyodideReadyPromise;
        try {
          let output = pyodide.runPython(code.value);
          addToOutput(output);
        } catch (err) {
          addToOutput(err);
        }
      }
    </script>
  </body>
</html>

Accessing Python scope from JavaScript

All functions and variables defined in the Python global scope are accessible via the pyodide.globals object.

For example, if you run the code x = [3, 4] in Python global scope, you can access the global variable x from JavaScript in your browser’s developer console with pyodide.globals.get("x"). The same goes for functions and imports. See Type translations for more details.

You can try it yourself in the browser console. Go to the Pyodide REPL URL and type the following into the browser console:

pyodide.runPython(`
  x = [3, 4]
`);
pyodide.globals.get('x').toJs();
// >>> [ 3, 4 ]

You can assign new values to Python global variables or create new ones from Javascript.

// re-assign a new value to an existing variable
pyodide.globals.set("x", 'x will be now string');

// add the js "alert" function to the Python global scope
// this will show a browser alert if called from Python
pyodide.globals.set("alert", alert);

// add a "square" function to Python global scope
pyodide.globals.set("square", x => x*x);

// Test the new "square" Python function
pyodide.runPython("square(3)");

Accessing JavaScript scope from Python

The JavaScript scope can be accessed from Python using the js module (see Importing JavaScript objects into Python). We can use it to access global variables and functions from Python. For instance, we can directly manipulate the DOM:

import js

div = js.document.createElement("div")
div.innerHTML = "<h1>This element was created from Python</h1>"
js.document.body.prepend(div)

 

반응형
반응형

https://zarar.dev/good-software-development-habits/

 

Good software development habits

Note: This got and got some attention. This post is not advice, it's what's working for me. It's easy to pick up bad habits and hard to create good o...

zarar.dev

 

 


  • 이 글은 조언이 아닌, 저자가 현재 적용하고 있는 개발 습관들에 대해 작성한 내용
  • 나쁜 습관을 피하고 좋은 습관을 만들기 위해 노력한 경험을 정리한 글로, 생산성 향상과 품질 유지에 도움이 되었던 10가지 습관을 다룸

1. 작은 커밋 유지

  • 커밋을 최대한 작게 유지해야 함. 작은 커밋은 버그 발생 시 특정 커밋만 되돌릴 수 있게 하여, 복잡한 병합 충돌을 피할 수 있음
  • "소프트웨어가 컴파일될 때 커밋할 수 있어야 한다"는 것을 규칙으로 삼음

2. 지속적인 리팩토링

  • Kent Beck의 조언: "변화를 원할 때, 먼저 변화를 쉽게 만들고, 그런 다음 쉽게 변화를 만드세요."
  • 최소 절반의 커밋은 리팩토링이 포함되도록 함. 작은 리팩토링이 큰 요구사항이 들어올 때 큰 도움이 됨
  • 큰 리팩토링은 피해야 함. 대신 10분 이내의 작은 개선 작업을 지속적으로 수행

3. 코드 배포의 중요성

  • 코드 자체는 잠재적 부채이며, 배포되지 않은 코드는 가장 큰 부채임
  • 테스트는 신뢰감을 주지만, 실제 배포는 진정한 승인을 의미함
  • 배포 빈도가 높아질수록 호스팅 비용이 증가할 수 있지만, 최신 작업이 실제로 작동함을 확인하는 것은 중요한 이점임

4. 프레임워크의 기능 테스트하지 않기

  • 프레임워크의 기능을 테스트하지 않음. 프레임워크는 이미 충분히 검증되어 있음
  • 컴포넌트를 작게 유지하면 프레임워크가 대부분의 작업을 처리하게 되어 테스트가 줄어듦
  • 큰 컴포넌트는 복잡성을 추가하고, 이에 따라 많은 테스트가 필요해짐

5. 새로운 모듈 생성

  • 특정 기능이 기존 모듈에 맞지 않는다면, 새 모듈을 생성하는 것이 좋음
  • 기존 모듈에 억지로 기능을 추가하는 것보다 독립적인 모듈로 남겨두는 것이 나음

6. 테스트 주도 개발(TDD)의 유연한 적용

  • API 설계가 명확하지 않을 경우 테스트를 먼저 작성하여 "고객"의 입장에서 생각함
  • TDD는 종교적인 원칙으로 따르지 않음. 필요한 경우 더 큰 단위로 작업 후 테스트할 수 있음
  • 작은 단위의 코드를 실패 상태로 만들지 않아도 되며, 생산성을 저해하는 교조주의에 얽매이지 않음

7. 복붙은 한 번만 허용

  • 한 번의 복사는 괜찮지만, 두 번째 복사부터는 중복이 생김
  • 이 시점에서 적절한 추상화를 통해 중복을 제거해야 함. 파라미터화가 약간 이상해 보여도, 여러 구현을 합치는 것보다는 나음

8. 디자인의 변화 수용

  • 디자인은 시간이 지나면서 낡아짐. 리팩토링을 통해 노화를 늦출 수 있지만 결국에는 바뀔 수밖에 없음
  • 이전의 디자인을 너무 집착하지 말고, 변화를 받아들여야 함
  • 완벽한 디자인은 없으며, 변화에 잘 대처하는 능력이 소프트웨어 개발의 핵심임

9. 기술 부채의 세 가지 유형

  • 기술 부채는 세 가지 유형으로 분류할 수 있음:
    1. 현재 작업을 방해하는 것
    2. 미래 작업을 방해할 가능성이 있는 것
    3. 방해할 가능성이 있을지도 모르는 것
  • 첫 번째 유형의 부채는 최소화하고, 두 번째 유형에 집중하며, 세 번째 유형은 무시해야 함

10. 테스트 가능성과 좋은 설계의 관계

  • 테스트하기 어렵다면 설계에 문제가 있을 가능성이 높음
  • 테스트 설계 또한 개선의 대상이 될 수 있음. 예를 들어, em.getRepository(User).findOneOrFail({id})의 목(Mock) 작성을 어렵게 느낀다면, 별도의 함수로 분리하거나 테스트 유틸리티를 사용하는 것이 좋음
  • 테스트가 작성되지 않는 이유는 테스트하기 어렵기 때문이며, 이는 설계의 문제일 수 있음
반응형
반응형

https://www.itworld.co.kr/numbers/82001/338846

 

넘버스 IT 리서치 자료 - 2022~2027 AI 지출 연 평균 성장률이 가장 높은 산업 리테일

1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.

www.itworld.co.kr

아태지역 AI 시장에서 생성형 AI의 비중이 더 커질 것이라는 전망이 나왔다. 중국이 앞서가는 가운데 일본과 인도 시장이 빠르게 성장하리라는 분석이다.

30일 시장조사업체 한국IDC가 ‘전 세계 AI 및 생성형 AI 지출 가이드’ 보고서를 발표했다. 중국과 일본을 포함한 아시아 태평양 지역의 AI 시장을 조사했다. AI 기반 시스템을 위한 소프트웨어, 서비스, 하드웨어를 포함한다. 보고서에 따르면, 아태 지역 생성형 AI 지출은 연 평균 95.4% 성장해 2027년에는 260억 달러 규모가 될 전망이다. 생성형 AI의 비중은 더 커진다. 생성형 AI는 2024년 전체 AI 시장의 15%를 차지하지만, 2027년에는 29%까지 늘어날 것으로 업체는 예상했다.
 


IDC 아태지역에서 빅데이터 및 AI 리서치 헤드 디피카 기리는 "아시아 태평양 지역에서 생성형 AI의 도입이 급증하며 향후 2년 이내에 투자가 정점에 도달한 후 안정화 기간을 거칠 것으로 예상된다. 중국은 생성형 AI 기술 관련 지배 시장 위치를 유지할 것이며, 일본과 인도는 향후 몇 년 동안 가장 빠르게 성장하는 시장이 될 것이다"라고 말했다.

산업별로 보면, 금융, 소프트웨어 및 IT, 정부, 리테일, 내구재 등의 부문에서 성장이 두드러진다. 금융 서비스 산업의 AI 지출은 2027년까지 연평균 96.7%씩 성장해 43억 달러 규모를 형성할 전망이다. 사내 운영 효율성 개선, 반복 작업 자동화, 사기 탐지 및 복잡한 문서 작성과 같은 백오피스 프로세스 최적화에 생성형 AI를 주로 활용하는 추세라고 보고서는 분석했다.
 

 


소프트웨어 및 IT 산업은 마케팅, 데이터 분석, 소프트웨어 개발 등 다양한 분야에서 생성형 AI를 활용한다. 생성형 AI는 콘텐츠 제작을 간소화하여 마케팅 전략을 최적화하고 오디언스 참여를 극대화하며, 소프트웨어 개발 분야에서는 코딩 작업을 자동화하고 프로토타입을 생성해 개발자의 생산성과 효율성을 높이는 데 기여하는 것으로 나타났다.

정부 부문에서는 생성형 AI 기술 교육과 훈련을 발전시켜 새로운 일자리를 창출하고 기술 혁신 허브의 성장을 촉진하는 데 활용하고, 리테일 산업에서는 개인 맞춤화 경험 제공을 위해 AI 기술을 활용하는 것으로 보고서는 분석했다.

반응형
반응형

소프트웨어 개발자의 생산성을 측정하는 방법

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

 

기고 | 소프트웨어 개발자의 생산성을 측정하는 방법

소프트웨어 개발자의 효율성을 측정하는 것은 수십 년 동안 불가능한 것으로 여겨졌다. 두 명의 맥킨지 컨설턴트는 개발자가 개발자의 생산성을 측정할

www.itworld.co.kr

소프트웨어 개발자의 효율성을 측정하는 것은 수십 년 동안 불가능한 것으로 여겨졌다. 두 명의 맥킨지 컨설턴트는 개발자가 개발자의 생산성을 측정할 수 있는 방법을 소개한다.

우리는 다양한 산업 분야의 많은 기업과 협력한 결과, 소프트웨어 개발자의 생산성을 측정할 수 있는 방법을 찾았다. 3년 전, 맥킨지는 440곳 대기업의 개발자 속도를 분석했다. 그 결과 소프트웨어 개발자의 성과와 회사의 성공 사이에는 분명한 상관관계가 있다는 사실이 밝혀졌다. 이는 IT 기업뿐만 아니라 다른 분야에도 적용된다. 전 세계 소프트웨어 엔지니어의 약 절반이 IT 산업이 아닌 다른 산업군에서 일한다.
 

ⓒ Getty Images Bank
현재 전 세계적으로 약 2,700만 명의 개발자가 있으며, 440만 명이 미국에 있다. 미국 노동통계국은 2021년부터 2031년까지 이 숫자가 25% 더 증가할 것으로 예측하고 있다. 생성형 AI의 급격한 확산을 고려하면, 개발자 수요는 훨씬 더 커질 것이다.
 

성과와 직결되는 개발자 생산성

이런 조사 결과를 종합하면, 관리자는 소프트웨어 개발 인재를 가장 잘 활용할 수 있는 방법을 정확히 알아야 한다는 결론에 도달할 수 있다. 오늘날의 소프트웨어 개발은 창의적인 과정일 뿐만 아니라 협업 과정이기도 하므로 이는 쉽지 않은 일이다. 노력과 수익 간의 합리적인 관계를 보장하는 것은 결코 쉬운 일이 아니다. 이미 많은 기업이 시스템, 팀, 개인의 생산성을 측정하는 데 실패했다.

배치 빈도와 같은 알려진 지표는 팀의 생산성을 추적하는 데 도움이 될 수 있지만, 개인의 생산성을 추적하는 데는 도움이 되지 않는다. 하지만 우리는 개발자의 생산성을 측정하는 일이 가능하다고 생각한다. 특히 맥킨지는 이미 이 작업을 수행하고 있는 20여 곳의 IT, 금융 및 제약 회사와 협력하고 있다. 아직 100% 신뢰할 수 있는 결과는 얻은 것은 아니지만, 유망한 결과이다. 맥킨지의 계산에 따르면, 이들 기업은 개발자의 생산성을 측정하고 개선해 오류율을 평균 20~30% 줄이고 고객 만족도를 60%까지 높일 수 있었다.
 

개발자의 생산성을 측정하는 방법

우선, 구글과 마이크로소프트에서 개발한 두 가지 지표, 즉 소프트웨어 배치 처리량과 안정성을 측정하는 DORA(DevOps Research and Assessment)와 개발자의 개별 생산성을 측정, 이해 및 개선하기 위해 설계된 프레임워크인 SPACE(Satisfaction, Performance, Activity, Communication/Collaboration and Efficiency)를 활용한다. 맥킨지는 이들 지표를 다음과 같은 네 가지 '기회 지향 지표'로 보완했다.

내부 루프 및 외부 루프에 소요된 시간. 내부 루프는 코딩, 빌드, 단위 테스트 등 소프트웨어 제품 개발과 직접 관련된 활동을 포함한다. 외부 루프는 코드를 프로덕션 환경으로 이전하는 것과 관련된 활동으로, 통합, 테스트, 릴리스, 배치 등을 말한다. 개발자가 내부 루프에 더 많은 시간을 할애할수록 생산성이 높아지는데, 상위 기업의 경우 이 비율이 70%에 달한다.

개발자 속도 지수(Developer Velocity Index, DVI) 벤치마킹. 사내 프랙티스를 다른 회사 또는 경쟁사의 프랙티스와 비교함으로써 개선해야 할 영역을 파악할 수 있다. 백로그 관리, 테스트 또는 보안 및 규정 준수 등이 이에 해당한다.

개발자 기여도 분석. 팀이 백로그에 어떤 기여를 하고 있는지 평가한다. 백로그 관리를 측정하는 지라(Jira) 같은 툴을 사용해 성과 향상을 방해하는 부정적인 흐름을 파악할 수 있다. 작업 환경을 개선하고 자동화 수준을 높이거나 팀원 개개인의 기술을 최적화할 방법을 보여줄 수도 있다. 예를 들어, 한 회사는 자사의 최고 개발자들이 코딩 이외의 활동에 너무 많은 시간을 소비하고 있다는 사실을 깨달았고, 모든 개발자가 자신이 가장 잘하는 일에 집중할 수 있도록 운영 모델을 변경했다.

인재 관리. 인재 관리의 목표는 직원들이 각자의 재능과 선호도에 따라 배치하는 것이다. 업계 표준 역량 맵을 사용해 조직의 기존 지식, 기술 및 능력을 가시화할 수 있는 점수를 만들 수 있다. 이를 통해 격차와 약점을 파악할 수 있다. 예를 들어, 한 고객사는 경험이 부족한 개발자를 너무 많이 고용하고 있다는 사실을 깨달았다. 이 문제를 해결하기 위해 맞춤형 학습 프로그램을 제공했고, 개발자의 30%가 6개월 이내에 다음 단계의 역량에 도달했다.

이런 접근법은 DORA 및 SPACE와 함께 소프트웨어 생산성에 대한 차별화된 관점을 가능하게 한다. 또한 개발자에게 동기를 부여할 수 있는 방법, 적절한 툴와 전문 지식을 보유하고 있는지, 시간을 어떻게 사용하는지, 팀 구성이 최적화된 상태인지 등을 파악할 수 있다.
 

성공의 증거는 없지만 명확한 지표

개발자 생산성 측정은 여전히 논란의 여지가 있는 주제이며, 많은 전문가가 우리의 시도를 부정적으로 생각한다는 것도 알고 있다. 하지만 맥킨지와 긴밀하게 협력하는 20개 기업은 이에 동의하지 않는다. 우리는 소프트웨어 개발이 측정이 불가능할 정도로 복잡하고 신비롭다고 생각하지 않는다. 오히려 업데이트를 코딩하고 구현할 때 생성형 AI 도구를 사용하면 얼마나 개선되는지 꽤 잘 예측할 수 있다.

여기서 설명한 개발자 생산성 측정 시스템은 아직 완벽하지 않다. 우리는 개선해야 할 부분에 대한 건설적인 비판을 언제나 환영한다. 하지만 소프트웨어 개발의 중요성이 날로 커지고 인재 확보 경쟁이 치열해지는 상황에서 복잡하다고 미뤄두기에는 너무나 중요한 주제이다.

반응형
반응형

2022년 적용 SW기술자 평균임금 공표

 

 

https://www.sw.or.kr/site/sw/ex/board/View.do?cbIdx=304&bcIdx=51393&searchExt1= 

 

평균임금 - 한국소프트웨어산업협회

통계법 제27조(통계의 공표)에 따라 『2022년 적용 SW기술자 임금실태조사 (통계승인 제375001호)』의 SW기술자 평균임금을 공표합니다. 【SW기술자 평균 임금】                                

www.sw.or.kr

통계법 제27(통계의 공표)에 따라 2022년 적용 SW기술자 임금실태조사 (통계승인 제375001) SW기술자 평균임금을 공표합니다.

 

SW기술자 평균 임금

                                                                                                                                  (단위: )

구 분 평균임금(M/D) 평균임금(M/M) 평균임금(M/H)
1. IT기획자 360,307 7,494,386 45,038
2. IT컨설턴트 484,732 10,082,426 60,592
3. 정보보호컨설턴트 347,123 7,220,158 43,390
4. 업무분석가 548,550 11,409,840 68,569
5. 데이터분석가 323,184 6,722,227 40,398
6. IT PM 406,823 8,461,918 50,853
7. IT PMO 345,428 7,184,902 43,179
8. SW 아키텍트 448,240 9,323,392 56,030
9. Infrastructure아키텍트 556,512 11,575,450 69,564
10. 데이터 아키텍트 414,770 8,627,216 51,846
11. UI/UX 개발자 274,465 5,708,872 34,308
12. UI/UX 디자이너 228,717 4,757,314 28,590
13. 응용SW 개발자 306,034 6,365,507 38,254
14. 시스템SW 개발자 238,787 4,966,770 29,848
15. 임베디드SW 개발자 261,291 5,434,853 32,661
16. 데이터베이스 운용자 243,285 5,060,328 30,411
17. NW엔지니어 335,974 6,988,259 41,997
18. IT시스템운용자 297,180 6,181,344 37,148
19. IT지원 기술자 191,065 3,974,152 23,883
20. SW제품 기획자 383,993 7,987,054 47,999
21. IT서비스 기획자 347,311 7,224,069 43,414
22. IT기술영업 341,672 7,106,778 42,709
23. IT품질관리자 424,780 8,835,424 53,098
24. IT테스터 200,136 4,162,829 25,017
25. IT감리 424,481 8,829,205 53,060
26. IT감사 236,877 4,927,042 29,610
27. 정보보호관리자 386,114 8,031,171 48,264
28. 침해사고대응전문가 301,482 6,270,826 37,685
29 IT교육강사 279,165 5,806,632 34,896

 

<본 평균임금을 SW사업대가 활용시 유의사항>

 

 본 조사결과는 SW사업에서 SW기술자 인건비로 참고 활용 가능하며, 수·발주자간 자율적 협의에 의해 
적용할 수 있음

* SW기술자 평균임금은 소프트웨어진흥법 제46(적정대가지급등) 4 소프트웨어기술자의 인건비 기준
지칭함

* SW기술자 평균임금은 기본급, 제수당, 상여금, 퇴직급여충당금, 법인부담금을 모두 포함한 결과임

* 일평균임금은 월평균÷근무일수(20.8), 시간평균임금은 일평균÷8시간으로 각각 산정함

* 월평균 근무일수는 휴일, 법정공휴일 등을 제외한 업체가 응답한 근무일의 평균이며, 이는 개인의 휴가 사용여부와는 무관함

* SW기술자 전체 평균임금은 전년대비 2.6% 증가

   - 2020년 공표된 평균임금을 변경된 임금추정방식(가중평균)으로 환산하여 비교

* IT직무 중 26. IT감사, 29.IT교육강사는 유효응답(30명 이상) 표본이 적어 활용시 유의해야함

 

[시행일] 2022 1 10일부터 2022 12 31일까지 적용

2022 1 10

한국소프트웨어산업협회장

 

반응형
반응형

소프트웨어 종사자 표준계약서 마련 및 시범도입

 과학기술정보통신부(장관 최기영, 이하 ‘과기정통부’)와서울지방고용노동청(청장 정민오, 이하 ‘서울고용청’)은 비전속 소프트웨어 종사자(이하 ‘SW프리랜서’)의 근로환경 개선과 공정한 계약관행 확산을 위해 소프트웨어 종사자 표준계약서(이하 ’SW표준계약서‘)를 마련하여 5월 13일(수)부터 서울지역 400개 SW사업장에 시범 도입한다고 밝혔다.

                               

□ 이번 ’SW표준계약서‘ 시범도입은지난 2월 6일 국무총리 주재 국정현안점검조정회의에 보고된 SW분야 근로시간 단축 보완대책(이하, ‘보완대책’)의 후속조치로 실시되는 것이다.

          

ㅇ 2018년도에 실시한 SW프리랜서 개발자 현황 조사*(소프트웨어정책연구소, ’19.1월)에 따르면 SW프리랜서는 약 2.6만명으로 추정되며, 소프트웨어 기업에 상주 근무하는 형태가 많고(64%),계약서 작성 비중이 낮아(56%) 기본적인 근로환경이 취약한 것으로 나타났다.       

 

* ▲계약서 작성 미흡(가끔 작성 39%, 작성 안함 5%), ▲계약내용 준수 미흡(보통 51%, 미준수 24%(임금지연 등)) ▲휴가사용 미흡(미사용 57.5%)    

ㅇ 이러한 문제점을 개선하기 위해 과기정통부는 지난해 하반기부터 소프트웨어 관련 업계, 노무·법률 전문가 등으로 전담팀(TF)을 구성·운영하여 SW프리랜서의 현장환경에 맞는 ‘SW표준계약서’ 개발을 착수하였으며, 올해 고용노동부 등의 의견수렴을 거쳐 확정하였다.

 

 SW표준계약서 ’SW표준 근로계약서‘ ’SW표준 도급계약서‘ 2가지 종류로 개발되었다. 이는 SW프리랜서의 계약형태가 근로계약 형태(41.4%)와 도급계약 형태(42.0%)로 이루어지고 있기 때문이다.

          

 ‘SW표준 근로계약서’는 SW프리랜서가 사용자와 단기간 또는 시간제로 근로계약을 체결하여 사용자로부터 지휘·감독을 받는 경우에 활용 가능하다.

          

- 주요 내용으로 SW프리랜서가 담당하는 업무내용, 근로시간, 휴게시간을 명시하도록 하고, 휴가규정을 명확히 하였다. 또한, 임금액지급일자지급방법 등을 명시하도록 하고, 사용자에게는 근로계약서 작성 및 교부의무를 부여하는 것 등을 담았다.

          

 ‘SW표준 도급계약서’는 SW프리랜서가 사업자와 프로젝트 단위로 계약을 체결하고 위탁받은 업무에 대해 자율성을 갖고 스스로 처리하는 1인 사업자 형태인 경우에 활용 가능하다.

          

※ 다만, 「하도급거래 공정화에 관한 법률」의 적용을 받는 연간 매출액 10억원 이상인 사업자와 SW프리랜서간 도급게약을 체결한 경우에는 공정위에서 배포한 ‘SW 하도급 표준계약서’를 활용하여야 함

          

- 주요 내용으로 SW프리랜서가 담당하는 도급업무의 범위, 보수금액지급방법 등을 명시하도록 하였다. 도급 성과물에 대해서는 원칙적으로 도급수급인이 공동소유하는 것으로 규정하고, 계약서를 작성하고 각자 보관하도록 하였다.

 

 서울고용청은 SW표준계약서의 현장 활용을 촉진하기 위해 ’20년도 노무관리지도근로조건 자율개선사업*에 따라 5월**부터 400개 SW사업장을 대상으로 표준계약서를 시범 도입할 계획이다.

          

* ‘노무관리지도·근로조건 자율개선사업’이란 사업장 스스로 법정 근로조건 준수 여부를 점검하고, 위반사항을 자율 개선하도록 노동관계 전문가(근로감독관, 공인노무사)의 서비스를 지원하는 사업으로 자율개선 완료시 근로감독(당해년도 또는 차년도 정기감독) 면제

          

**서울고용청은 코로나19 상황을 고려하여 우선 사업안내문과 SW표준계약서 및 사업장 안내자료를 업체에 발송하고, 기업현장방문은 6월 이후 조정 고려

          

ㅇ 이번 SW표준계약서 시범사업은 상대적으로 근로환경이 열악한 50인 미만의 중소 소프트웨어 400개 사업장을 대상으로 하며,

          

- 50인 이상 사업장에 대해서는 고용노동부의 ‘노동시간 단축 현장지원단’ 활동과 연계하여 SW표준계약서 보급을 추진한다.

          

ㅇ 이번 시범사업은 표준계약서의 배포에서 그치는 것이 아니라 근로감독관 및 공인노무사가 사업장 노무관리와 근로조건 컨설팅을 함께 제공하는 방식으로 실시되므로 SW프리랜서의 근로환경이 실질적으로 개선될 것으로 전망된다.

 

□ 아울러 과기정통부는 SW표준계약서의 이용활성화를 위해공공 SW사업 기술성평가시, SW표준계약서를 사용하는 사업자에게 가점을 부여하는 인센티브 제공방안도 마련할 계획이다.

 

 서울고용청 정민오 청장은 “SW표준근로계약서 보급으로 사용자와 근로자간 투명하고 공정한 고용관계가 확립될 것으로 기대한다”면서, “특히 SW프리랜서의 열약한 근로환경이 개선되어 국가전략산업인 SW산업 경쟁력 강화의 밑거름이 되기를 희망한다 ”고 시범사업에 대한 기대를 밝혔으며,

          

 과기정통부 송경희 소프트웨어정책관은 “SW표준계약서 도입으로 그간 법적보호에 어려움을 겪어 왔던 SW프리랜서 여러분들이 제대로 대우받고 보호받는 환경이 조성될 것으로 기대한다”면서, “앞으로도 소프트웨어 개발자와 기업 모두가 일하기 좋은 사업환경을 만드는데 지속적으로 노력해 나가겠다”고 밝혔다.

 

□ SW표준계약서와 사업장 안내자료는 5월13일부터 과기정통부 등의 홈페이지*를 통해 내려 받을 수 있다.

 

* 과학기술정보통신부(www.msit.go.kr), 정보통신산업진흥원(www.nipa.kr), SW산업정보시스템(www.swit.or.kr), 소프트웨어정책연구소(www.spri.go.kr), 한국SW산업협회(www.sw.or.kr)

https://www.msit.go.kr/web/msipContents/contentsView.do?cateId=_policycom2&artId=2875606

 

보도자료 | 과학기술정보통신부

소프트웨어 종사자 표준계약서 마련 및 시범도입 소프트웨어산업과 이태호 사무관 연락처 044-202-6331 작성일 2020.05.13.

www.msit.go.kr

 

반응형

+ Recent posts