본문 바로가기
Computer Science

[Programming] 소프트웨어 개발자란?

by Henry Cho 2021. 9. 27.
728x90

소프트웨어 개발자란?


포스트 난이도: HOO_Junior

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


 

# 소프트웨어 개발자란?

소프트웨어 개발자라고 한다면 프로그램 개발만 하는 직업이라고 생각을 하는 경우가 많다. 하지만 소프트웨어 개발자는 프로그램 개발만 하는 직업이 아니다. 소프트웨어 개발자는 소프트웨어 개발에 있어 전반적인 업무를 고려해야 한다. 한마디로 소프트웨어 개발을 위한 세부적인 요소뿐만 아니라 소프트웨어 개발을 같이 진행할 팀원들부터 소프트웨어 개발에 필요한 비용이나 유지관리성도 고려한다는 것이다. 결국 소프트웨어 개발자는 소프트웨어 개발 기본 개념을 바탕으로 소프트웨어의 전반적인 부분을 신경 쓰는 직업이다.

소프트웨어 개발자가 코딩 외에도 전반적인 부분을 신경써야 하는 이유는 실전과 현실이기 때문이다. 그저 혼자서 아무 제약 없이 프로그램 개발을 하는 것이면 다른 외적인 부분을 신경 쓰지 않아도 된다. 하지만 소프트웨어 개발자는 정해진 조건 내에서 가장 효율적으로 소프트웨어 개발을 하고 해당 소프트웨어가 효율적으로 유지 관리가 되어야 한다. 한마디로 현실적인 상황을 항상 고려하여 소프트웨어 개발에 절충안을 제시하고 시행하는 것이 소프트웨어 개발자가 가져야 하는 가장 중요한 스킬 중 하나이다. 예를 들어 PM이라고 부르는 Project Manganer는 프로그래밍에 대한 전문적인 지식은 물론이고 각 개발자들의 능력을 인지하고 개발 시간 및 소프트웨어 유지 관리적인 요소, 전반적인 개발 및 유지 관리에 들어가는 비용 등을 합리적으로 계산할 수 있어야 하는데 이것이 바로 소프트웨어 개발자가 가져야 하는 능력이다.

 

#소프트웨어 개발자 중요한 이유

소프트웨어 개발자가 소프트웨어 개발 및 유지 관리에 있어서 전반적으로 신경을 써야 한다는 점은 이해가 되었을 것이다. 소프트웨어 개발자가 중요한 이유에 대해서 조금 더 알아보자면 대표적으로 몇 가지로 나눠서 살펴볼 수 있다. 첫번째로는 소프트웨어 시스템은 지속적인 업데이트가 필요하다. 인공지능 기반 소프트웨어 업데이트가 가능한 시스템이 아니라면 시간 및 사회적 변화에 따른 소프트웨어의 업데이트는 소프트웨어 개발자가 해줘야 하는 부분이다. 여기서 항상 강조되는 부분인 유지 관리성이 좋아야 업데이트 및 일부 프로그램 보완하는 데 있어서 용이하다.

두 번째로는 소프트웨어가 효율적으로 개발이 이루어지길 원한다. 소프트웨어 개발을 원하는 고객 사는 최소의 비용으로 최고의 소프트웨어 개발을 원한다. 이것은 어느 회사든 나라든 똑같을 것이다. 엄청난 비용으로 최악의 소프트웨어 개발을 원하는 곳은 없기 때문이다. 소프트웨어 개발의 전반적인 효율성을 중시하는 소프트웨어 개발자가 필요한 이유가 바로 이것 때문이다. 여기서 말하는 효율성은 또 두 가지로 나뉘는데 시스템의 효율성과 경제적 효율성이다.

시스템의 효율성은 말 그대로 소프트웨어의 최적화를 통한 신속하고 정확한 소프트웨어의 개발 및 유지 관리를 의미한다. 예를 들어, 은행마다 애플리케이션이 있는데, 어떤 은행은 앱 실행 속도가 빠르고 어떤 은행은 앱만 사용하면 잦은 오류 때문에 답답한 적이 있을 것이다. 사실상 은행 앱에서 실행되는 기능은 유사하지만 얼마나 최적화된 소프트웨어가 적용되었는지에 따라서 앱의 성능도 달라진다. 한마디로 적은 용량을 차지하면서 높은 질의 소프트웨어 개발 및 유지관리에 대한 부분이 시스템의 효율성을 의미한다.

경제적 효율성은 소프트웨어 개발과 유지관리 측면에서 얼마나 비용에 있어서 절감이 가능한지를 의미한다. 어떤 기업이나 고객사는 최대한 저렴한 비용으로 효과적인 소프트웨어 개발 또는 유지 관리를 원한다. 소프트웨어 개발자는 소프트웨어 개발 및 유지 관리에 있어서 비용을 절감할 수 있는 부분을 찾고 적용하는 일을 수행한다.

 


# In conclusion, 3줄 요약

1. Importance of sofwtware engineering

2. Engineering discipline concerned with all aspects of software production.

3. Advanced software, need to produce high quality of systems, more productive, better quality, and cheaper.


 

728x90

댓글