Perbedaan PROGRAMMER, SOFTWARE DEVELOPER & SOFTWARE ENGINEER

Web Programming UNPAS
27 May 202219:22

Summary

TLDRIn this video, Sadiqah explains the differences between various roles in software development: coder, programmer, software developer, and software engineer. While all involve coding, there is a hierarchy. Coders simply write code, programmers create functional programs, software developers plan and build software systems, and software engineers apply principles of engineering to software development. Sadiqah discusses the theoretical distinctions and how they are applied in real-world scenarios, including job markets and salary variations. The video also highlights a sponsorship from Niagahoster, a web hosting provider offering discounts.

Takeaways

  • 💻 Software Developer, Software Engineer, Programmer, and Coder are often seen as similar but differ in hierarchy and context.
  • 🖥️ A Coder is simply someone who writes code, without concern for its execution or the programming language used.
  • 👨‍💻 A Programmer develops executable programs from code, with a focus on creating functional software.
  • 🔧 A Software Developer builds software through a structured process, which includes planning, coding, testing, and maintenance.
  • 🏗️ Software Engineers apply engineering principles to software development, focusing on design, development, and evaluation with a more formal approach.
  • 🧠 There are seven key principles in software engineering, including modularity, consistency, and the ability to handle change effectively.
  • 📊 Real-world application of these roles may vary, as job titles like Programmer, Developer, and Engineer can have overlapping responsibilities depending on the company or context.
  • 💡 Industry terms and expectations, such as salaries and skill requirements, can differ widely, even if job titles sound similar.
  • 🎓 In an academic setting, the differences between these roles are more clearly defined, whereas in the workplace, these distinctions might blur.
  • 🌐 The sponsor, Niagahoster, is highlighted for its hosting services, offering various plans with strong uptime and security, alongside promotional discounts.

Q & A

  • What is the main topic of the video?

    -The main topic of the video is the differences between software developer, software engineer, programmer, and coder, and understanding when someone can be identified with each of these titles.

  • What is the role of a software developer?

    -A software developer is responsible for creating software applications. They follow a detailed process that includes planning, designing, coding, documenting, testing, and maintaining software.

  • How does a programmer differ from a software developer?

    -A programmer writes code to create programs that can be executed or interpreted by computers. In contrast, a software developer is involved in a broader process that includes not just coding but also planning, design, testing, and maintenance.

  • What is the role of a software engineer?

    -A software engineer applies engineering principles to design, develop, maintain, test, and evaluate software. They go beyond coding by applying structured approaches and principles to solve complex problems in software development.

  • How does the video explain the term 'coder'?

    -The video explains that a 'coder' is someone who writes code, regardless of the programming language or the complexity of the code. Coders may write as little as one line or thousands of lines, and they are focused primarily on writing code.

  • According to the video, is there a hierarchy between coder, programmer, software developer, and software engineer?

    -Yes, the video suggests a hierarchy where coders are at the entry-level, followed by programmers, then software developers, and finally software engineers, who are at the top due to the complexity of their role.

  • What are the principles of software engineering mentioned in the video?

    -The video mentions several principles of software engineering, including rigor and formality, separation of concerns, anticipation of change, generality, incremental development, and consistency. These principles guide the structured creation of software.

  • What is the purpose of the software development life cycle (SDLC)?

    -The SDLC is a structured approach to developing software, which includes phases such as planning, analysis, design, implementation, testing, integration, and maintenance. It ensures that software development is systematic and comprehensive.

  • Does the video suggest that the job titles of programmer, software developer, and software engineer are always strictly defined?

    -No, the video points out that these job titles can vary in meaning depending on the context, such as in academic, social, or professional environments. The titles may also be used interchangeably in some cases.

  • How does the video address the difference in salary between programmers, developers, and engineers?

    -The video mentions that salary differences between these roles are not always consistent. In some cases, a programmer's salary may not be lower than that of a software engineer, and salary differences can depend on the company and specific job role.

Outlines

00:00

😀 Introduction to Software Development Roles

The speaker introduces themselves and the topic of the video, which focuses on explaining the differences between software developer, software engineer, and programmer roles. This topic has been frequently asked by the speaker's followers on social media and students in class. The video is sponsored by Niagahoster, a web hosting service provider that offers hosting, domain, and other services with various advantages like speed, security, and affordable prices. The sponsor's special offer and discount codes are explained in detail before transitioning into the main content of the video.

05:01

🧑‍💻 Understanding the Hierarchy of Coding Roles

The speaker begins by explaining the differences between four related roles: coder, programmer, software developer, and software engineer. According to the speaker, there is a hierarchy among these roles. A coder starts by writing code, which progresses into becoming a programmer who builds executable programs. As they gain experience, they move into software development, which involves the broader process of planning, testing, and maintaining software. Lastly, a software engineer applies more complex principles and engineering practices in software development.

10:02

🔍 Definitions of Key Terms: Coder, Programmer, and Software Developer

This section defines key terms starting with a 'coder,' who writes code regardless of the programming language or the complexity. Then, the speaker discusses the role of a programmer, who writes programs that can be executed or interpreted by a computer. The transition to a software developer is marked by a more structured process involving not only writing code but also planning, designing, documenting, testing, and maintaining software. The speaker emphasizes that the software development process is broader and more complex compared to programming.

15:02

🚀 Introduction to Software Engineering and Principles

The speaker explains the role of a software engineer, who is responsible for designing, developing, and maintaining software but applies the principles of engineering to ensure quality and scalability. This involves adhering to principles like modularity, abstraction, and ensuring the software is adaptable to changes. They also mention the importance of formal processes like the Software Development Life Cycle (SDLC), which includes stages such as planning, design, implementation, testing, and maintenance. The speaker briefly touches on key engineering principles such as SOLID and KISS (Keep It Simple, Stupid).

📊 Practical Applications and Industry Context

In this section, the speaker highlights that the distinction between roles like programmer, developer, and engineer may blur in practical industry scenarios. Depending on the job listing, the expectations and required skills may overlap. Additionally, the speaker discusses salary differences among these roles and how real-world job titles don’t always align with theoretical definitions. They emphasize the importance of understanding the specific requirements of the job description when applying, as the industry uses these terms flexibly.

Mindmap

Keywords

💡Software Developer

A software developer is someone who creates and builds software programs. In the video, the term is used to differentiate this role from programmers and software engineers. A software developer is responsible for the broader development process, including planning, designing, programming, testing, and maintaining software. The script describes this as a higher level compared to a programmer, as developers are involved in more extensive processes beyond just coding.

💡Software Engineer

A software engineer is a professional who applies engineering principles to software development. This role involves not only coding but also a thorough process of designing, developing, and evaluating software. The video emphasizes that software engineers follow specific principles of software engineering, making them distinct from developers and programmers. The principles include modularity, abstraction, and maintaining consistency, among others.

💡Programmer

A programmer is someone who writes code to create programs. The video explains that while a programmer can be seen as someone who focuses primarily on coding, they may not necessarily be involved in the larger processes of software development, such as planning and designing. Programmers are depicted as individuals who can create executable code, but they may not engage in the full life cycle of software development like software developers or engineers.

💡Coder

A coder is a person who writes simple lines of code without necessarily understanding or being involved in the larger context of the project. The video describes coders as entry-level individuals who write code but might not have the full skills to design or structure entire software applications. Coders are typically the starting point in the hierarchy mentioned in the video, where someone may progress from a coder to a programmer, then a software developer, and finally a software engineer.

💡Software Development Life Cycle (SDLC)

The SDLC refers to the complete process involved in the creation of software, from initial planning to deployment and maintenance. The video outlines this as a key concept for software developers and engineers, highlighting that it includes stages like planning, analysis, design, implementation, testing, integration, and maintenance. SDLC is crucial because it ensures that software is developed systematically and efficiently.

💡Modularity

Modularity is the design principle of breaking down a program into separate, manageable components or modules. In the video, modularity is described as part of software engineering principles, allowing software to be developed and maintained more easily. By dividing the system into distinct sections, engineers ensure that each part can be worked on independently, which supports collaboration and scalability.

💡Abstraction

Abstraction refers to the process of hiding complex details to simplify the interaction with a system. In the video, abstraction is one of the software engineering principles that allows developers and engineers to manage the complexity of a system. It enables the creation of simplified interfaces for users or other developers, while the internal workings remain concealed, making the software easier to use and understand.

💡Niagahoster

Niagahoster is the sponsor mentioned in the video, and it is a web hosting company in Indonesia. The video promotes Niagahoster's services, highlighting features such as unlimited hosting, VPS, and domain registration, with a particular emphasis on its affordable pricing and reliable uptime. The sponsorship plays a supporting role in the video but is a key part of the overall content, offering viewers a promotional discount for their web hosting needs.

💡Solid Principles

The SOLID principles are a set of guidelines for writing maintainable and scalable software. The video touches on these principles, which include single responsibility, open/closed, Liskov substitution, interface segregation, and dependency inversion. These principles help engineers design software that is flexible, understandable, and easy to modify or extend. They are especially relevant to the higher-level role of a software engineer, as described in the video.

💡Testing and Debugging

Testing and debugging are critical processes in software development, where programs are tested for errors and bugs, and these issues are resolved. In the video, testing is mentioned as part of the SDLC, emphasizing its importance in ensuring the functionality and reliability of software. Debugging refers to the process of fixing any issues found during testing, and it is a task that both developers and engineers perform as part of their roles.

Highlights

Introduction of the topic: difference between software developer, software engineer, and programmer.

Host mentions that the question has been asked frequently by students, social media followers, and live stream viewers.

Explanation of Niagahoster as a sponsor: a web hosting company with fast hosting, strong security, and a discount of up to 75%.

Host states that all terms—programmer, software developer, and software engineer—are often used interchangeably because they all involve coding.

Host suggests there is a hierarchy among these roles: starting from coder, then programmer, software developer, and finally software engineer.

Explanation of the coder role: someone who writes code without concern for the language or tool used.

Definition of programmer: someone who creates programs that are executable and functional.

Explanation of software developer: someone involved in the full software development life cycle, including planning, coding, testing, and maintenance.

Software engineering is described as applying principles of engineering to design, develop, maintain, and test software.

Host discusses the principles of software engineering, such as modularity, abstraction, and incremental development.

Mention of various principles like 'Keep it simple stupid' (KISS) and 'Don’t repeat yourself' (DRY) as best practices for software engineering.

Host emphasizes that the difference in roles may vary depending on context, such as in job postings or professional discussions.

Mention of salary differences between these roles: not all software engineers earn more than programmers.

Host mentions other specialized developer roles like full-stack developer, game developer, and application developer.

Conclusion invites viewers to share their opinions in the comments and engage in a discussion on the different terms and roles in software development.

Transcripts

play00:00

Halo Halo teman-teman semua apa kabar

play00:01

bahagia bersama saya Sadiqah gali di

play00:04

channel web punya dan di video kali ini

play00:06

kita akan membahas sebuah topik yang

play00:07

seru lho Pik yang cukup banyak ditanyain

play00:09

sama teman-teman semua ya baik itu di

play00:11

YouTube Instagram saat saya live

play00:13

streaming bahkan ditanyain sama

play00:15

mahasiswa masih saya dikelasnya topiknya

play00:17

adalah mengenai perbedaan antara

play00:20

software developer dan juga software

play00:23

Enginer nya banyak teman-teman yang

play00:24

nanya pak sebenarnya apasih bedanya

play00:25

antara software developer software

play00:28

Enginer atau bahkan istilah lain ada

play00:30

programmer misalnya ya harus punya skill

play00:32

Seperti apa nih pak sampai harus disebut

play00:35

sebagai programmer atau software

play00:37

developer yang Oleh karena itu kita akan

play00:39

coba bahas di video kali ini sehingga

play00:40

kedepannya harapannya kita jadi punya

play00:42

gambaran Kapan kita disebut sebagai apa

play00:45

gitu ya temen-temen ya sebelum kita

play00:47

masuk ke videonya seperti biasa kita

play00:48

akan dengarkan dulu pesan dari sponsor

play00:50

kita untuk video kali ini yaitu

play00:53

niagahoster ke jadi teman-teman

play00:54

niagahoster itu adalah sebuah perusahaan

play00:57

penyedia hosting unlimited terbaik di

play00:59

Indonesia yang memiliki layanan yang

play01:01

beragam mulai dari shoot hosting

play01:03

unlimited Cloud hosting vps domain

play01:06

sampai dengan pembuatan website

play01:08

Keunggulan utama dari niagahoster ini

play01:10

adalah hostingnya yang supercepat dan

play01:12

juga memiliki keamanan ekstra agar

play01:15

website kita dapat terlindungi dari

play01:16

serangan hacker Malware ataupun virus

play01:19

selain harganya yang terjangkau

play01:20

niagahoster memberikan jaminan server

play01:23

update time nyari 100% yang artinya

play01:25

website kita akan selalu online setiap

play01:28

saat dan selain itu juga niagahoster ini

play01:30

memiliki tim support yang siap sedia

play01:32

membantu kita jika kita memiliki

play01:34

kesulitan langsung contact aja melalui

play01:36

fitur live chatnya yang tersedia selama

play01:38

24jam dan saat ini Jika kalian

play01:41

membutuhkan web hosting niagahoster

play01:43

sedang memberikan diskon yang sangat

play01:45

besar sampai dengan 75% untuk salah satu

play01:47

layanannya yaitu paket personal dan

play01:50

menurut saya paket hosting personal ini

play01:52

adalah paket yang paling value for money

play01:54

buat kita karena dengan harga yang

play01:55

sangat terjangkau ini kita dapat fitur

play01:57

yang lengkap banget jika kalian membeli

play01:59

paket ini langsung selama tiga tahun

play02:01

kalian yang seharusnya membayar sebesar

play02:03

3,8 jutaan ini kalian hanya perlu

play02:06

membayar sebesar

play02:07

950.000 and aja belum termasuk pajak dan

play02:10

kerennya lagi ini sudah termasuk nama

play02:13

domain gratis sesuai pilihan kalian

play02:15

sendiri nah jadi jika sudah ditambahkan

play02:17

pajak adalah sekitar 1 jutaan lebih dan

play02:20

Jika kalian ingin dapat potongan Lagi

play02:21

sebelum kalian check-out kalian bisa

play02:23

masukkan kode kupon web pun pas untuk

play02:26

mendapatkan potongan sebesar 10% dari

play02:29

lumayan kan total yang harus kalian

play02:31

bayarkan hanya sebesar

play02:34

1080039 itu kalian tinggal bayar aja

play02:36

dengan pilihan metode pembayaran yang

play02:38

sangat banyak ini Jadi tunggu apalagi

play02:40

buat kalian yang sedang mencari web

play02:42

hosting untuk website atau aplikasi

play02:43

kalian Langsung aja kunjungi link ada di

play02:46

deskripsi video ini untuk informasi

play02:47

lebih lanjut baik langsung aja

play02:49

temen-temen kita masuk ke materinya kita

play02:52

akan pakai bantuan selain supaya enak

play02:53

dan jelasinnya ya dari topik kita adalah

play02:55

sebetulnya membahas dua hal ini ya

play02:57

software developer dan software Enginer

play03:00

Apa bedanya Terus kapan kita disebut

play03:02

sebagai dua hal ini atau supaya lebih

play03:04

lengkap ya Gimana kalau kita bandingkan

play03:06

nya 4 istilah ini deh ada yang namanya

play03:08

Qadr programmer software developer dan

play03:11

software Enginer Apa sih bedanya Nah

play03:14

kita lihat ya ini sebetulnya keempat hal

play03:16

ini bisa kita anggap secara umum itu

play03:19

semuanya sama Nah kenapa begitu Pak

play03:21

karena intinya semuanya itu modding ya

play03:24

temen-temen Jadi kalau misalkan ada yang

play03:26

bertanya-tanya Apa sih bedanya Yang Sama

play03:28

ajalah semuanya itu modding ya karena

play03:30

bahan kalau misalkan kita lihat definisi

play03:32

di Wikipedia nya teman-teman bisa baca

play03:35

ini Ya jadi kayak gini eh computer

play03:37

programmer sometimes referred to as a

play03:40

software developer at software Enginer a

play03:44

programmer or more recently Eko there is

play03:47

a person who cleans computer software

play03:50

atau kalau kita Terjemahkan seorang

play03:53

programmer komputer itu kadang-kadang

play03:55

disebut sebagai software developer

play03:58

software Enginer programmer atau bahkan

play04:01

akhir-akhir ini disebut sebagai Qadr

play04:04

jadi dia adalah seseorang yang membuat

play04:07

perangkat lunak komputer jadi semuanya

play04:09

sebetulnya sama semuanya bikin perangkat

play04:11

lunak untuk komputer dan buat yang

play04:13

bertanya-tanya kita bisa anggap bahwa

play04:15

semuanya sama ya Tapi nanya tapinya

play04:17

teman-teman bisa juga berbeda tergantung

play04:20

konteksnya nah konteksnya apa konteksnya

play04:23

itu misalnya kita lagi ngobrol sama

play04:25

siapa kita lagi ada di forum apa

play04:28

misalnya ya saya lagi ngobrol sama temen

play04:30

santai aja Atau kita lagi ada di forum

play04:31

kampus akademik perkuliahan atau kita

play04:34

lagi ada di dunia kerja misalnya lagi

play04:36

mau ngelamar kerja lagi mau mencari

play04:39

karyawan atau kita lagi ngobrol di

play04:41

sosial media nah pemahaman-pemahaman

play04:43

atau arti dari masing-masing istilah

play04:46

tadi bisa sama bisa berbeda ya

play04:48

Tergantung konteksnya tapi gini kalau

play04:50

menurut pendapat saya Dari keempat hal

play04:52

tadi Qadr programmer software developer

play04:55

dan software Enginer itu menurut saya

play04:57

ada hirarkinya ada urutannya teman Oh ya

play05:00

jadi menurut saya itu gini kita semua

play05:02

itu awalnya adalah seorang Qadr nanti

play05:05

setelah jadi Qadr itu naik ke atau

play05:08

berubah menjadi seorang programmer terus

play05:10

berikutnya berubah lagi jadi seorang

play05:12

software developer lalu berubah lagi

play05:14

menjadi seorang software Enginer ya

play05:17

bakal setelah ini mungkin masih ada

play05:18

istilah lainnya yang di atas ini cuman

play05:20

kita bahas empat ini aja akhirnya

play05:22

teman-temannya jadi kalau kita lihat

play05:23

seorang programmer itu pasti Qadr

play05:26

seorang software developer itu pasti dia

play05:28

programmer begitu pula seorang software

play05:30

Enginer pasti dia software developer

play05:32

tapi belum tentu kebalikannya jadi

play05:34

seorang Qadr itu belum tentu software

play05:36

developer kenapa begitu kita coba lihat

play05:39

satu-satu ya teman-temannya mungkin

play05:40

mulai dari definisinya dulu kita mulai

play05:42

dari Qadr Apa itu Qadr teknik order

play05:45

Kebetulan saya cari definisi di

play05:47

Wikipedia nggak ketemu ya Kalau

play05:49

teman-teman cari kode di Wikipedia itu

play05:51

pasti diarahkan ke programmer cuma

play05:53

menurut saya gini dari terjemahan bahasa

play05:55

Indonesianya aja Qadr itu adalah

play05:57

seseorang yang nulis kode

play06:00

sejak Jadi kalau temen-temen pernah

play06:01

menulis kode eteman itu adalah powder

play06:04

jadi untuk menulis kode ini enggak

play06:06

peduli teman-teman pakai bahasa

play06:08

pemrograman apa ya dan kodenya juga

play06:10

nggak peduli Mau itu cuman satu baris

play06:12

mau ribuan baris itu sama-sama nulis

play06:15

kode terus juga gak peduli kodenya itu

play06:18

dibuat pakai kode editor apa atau bahkan

play06:21

ditulis di notpad aja gitu ya itu juga

play06:23

menulis kode tak peduli juga Apakah

play06:26

kodenya Jalan lolos.tes begitu ya atau

play06:29

kodenya Error itu adalah proses kita

play06:32

menulis kode ya saya known pasti pernah

play06:34

melakukan ini menulis kode morse baris

play06:36

mau ribuan baris menulis kode berikutnya

play06:39

kita masuk ke programmer Apa itu

play06:41

programmer definisi sederhananya adalah

play06:43

orang yang bikin program oleh tadi

play06:46

sebelumnya orang yang nulis kode-kode ya

play06:49

karena programmer orang yang bikin

play06:50

program apa itu program-program kalau

play06:53

kita lihat dari definisinya kita baca ya

play06:55

Eh komputer program is a sequence of

play06:58

instructions in programming language

play07:00

that a computer can execute or interpret

play07:04

itu melihat yang saya Bold ya jadi

play07:06

katanya sebuah program di komputer kita

play07:08

itu merupakan serangkaian perintah atau

play07:12

instruksi yang ditulis dalam bahasa

play07:14

pemrograman tertentu yang bisa

play07:16

dieksekusi atau diinterpretasi Jadi

play07:19

kalau misalkan aplikasi itu pasti

play07:21

dieksekusi tapi kalau misalnya web itu

play07:23

diinterpretasi ya itu Jadi intinya apa

play07:25

intinya program itu adalah kode yang

play07:28

jalan yang bisa dieksekusi atau

play07:30

diinterpretasi jadi mau programnya

play07:33

sesimple menampilkan hellowork lama dia

play07:36

enggak ada error itulah sebuah program

play07:38

dan kalau kalian bikin aplikasi

play07:39

sederhana untuk menampilkan Hello word

play07:42

yang kalian itu udah programmer ya terus

play07:44

juga membuat kalkulator sederhana bikin

play07:46

game bikin website sampai dengan bikin

play07:49

aplikasi seperti Microsoft Office atau

play07:52

Adobe creative suite misalnya ya

play07:54

Photoshop Illustrator Adobe Premiere dan

play07:57

lain sebagainya ini adalah program yang

play08:00

kita eksekusi ya Atau bisa kita jalankan

play08:02

selama kita sudah bisa membuat ini kita

play08:05

disebut sebagai programmer jadi naik tuh

play08:07

tadinya cuma nulisin baris-baris kode

play08:09

aja sekarang kodenya harus bisa

play08:11

dijalankan menjadi sebuah program yaitu

play08:14

programmer selanjutnya kita masuk ke

play08:17

software developer TNI menurut saya naik

play08:20

lagi nih Man kita lihat maksudnya itu

play08:22

seperti apa software developer kita

play08:24

sebut sebagai orang yang membangun

play08:26

perangkat lunak kau tadi orang yang

play08:28

bikin program sekarang orang yang

play08:30

membangun perangkat lunak Nah apa

play08:31

bedanya dengan programmer kita lihat

play08:33

dari definisi software development at

play08:36

dulu Apa itu software development proses

play08:38

pengembangan perangkat lunak ya terlihat

play08:40

ini menurut definisinya kita baca lagi

play08:42

teman-temannya jadi software development

play08:44

is the process of planning spesifik

play08:48

design Inc programming documenting

play08:51

testing bug fixing and maintaining the

play08:54

application frameworks or under software

play08:57

components jadi kayak gini nih

play09:00

pengembangan perangkat lunak adalah

play09:01

proses dari mulai perencanaan penentuan

play09:06

perancangan pembuatan program

play09:09

dokumentasi pengujian perbaikan bug dan

play09:12

maintenance atau perawatan dari sebuah

play09:15

aplikasi Framework atau komponen

play09:18

perangkat lunak lainnya bahkan

play09:19

teman-teman bisa liat di sini

play09:20

programming itu merupakan salah satu

play09:23

bagian dari software development itu

play09:26

jadi bikin program aja itu jadi tahapan

play09:28

sendiri di pengembangan perangkat lunak

play09:30

karena pengembangan perangkat lunak itu

play09:32

dimulai dari perencanaan penentuan

play09:34

kebutuhan perancangan codingnya

play09:37

dokumentasi testing dan seterusnya jadi

play09:40

rangkaian kegiatannya jauh lebih panjang

play09:42

daripada membuat program kalau bikin

play09:45

program kalian bisa langsung modding aja

play09:46

terus jadi programnya walaupun misalnya

play09:49

proses perencanaan dan penentuan

play09:51

kebutuhannya kalian lakukan tapi tidak

play09:54

didokumentasikan di atau kalian pernah

play09:56

mendengar mungkinnya buat teman-teman

play09:57

yang pernah belajar RPL atau rekayasa

play10:00

perangkat lunak masih pernah melihat

play10:02

model proses seperti ini ini ada yang

play10:04

disebut dengan software development life

play10:05

cycle atau sdlc ya jadi katanya Sebuah

play10:08

software itu alurnya itu diawali dengan

play10:11

planning analysis Design implementation

play10:13

and testing and integration dan

play10:16

maintenance Jadi kalau misalkan kalian

play10:18

bikin software itu harusnya melalui enam

play10:20

tahap ini juga teman-temannya jadi kalau

play10:23

kalian bikin aplikasi atau program yang

play10:25

sama dengan yang kalian buat sebagai

play10:27

programmer ketika kalian menerapkan

play10:30

tahapan-tahapan dalam pengembangan

play10:31

perangkat lunak nama kalian disebut

play10:33

sebagai software developer Epic kalau

play10:36

kalian tadi bikin programnya langsung

play10:37

coding aja jadi programnya itu kalian

play10:40

masih disebut sebagai programmer banyak

play10:42

ya naik levelnya seperti Apa itu

play10:44

software developer Lanjut nih kita masuk

play10:47

ke software Enginer sekarang software

play10:49

Enginer ini kita bisa Terjemahkan

play10:52

sebagai orang yang merekayasa perangkat

play10:55

lunak atau istilah lainnya kita bisa

play10:57

sebut sebagai Insinyur perangkat lunak

play11:00

ya Nah apa nih software Enginer terlihat

play11:02

secara definisi menonton bisa baca nih

play11:05

eh software Enginer is a person who

play11:07

plays the principles of software

play11:10

engineering to design develop maintain

play11:13

test and every with computer software

play11:16

jadi seorang software Enginer adalah

play11:19

orang yang menerapkan

play11:21

prinsip-prinsip rekayasa perangkat lunak

play11:23

Pada saat merancang mengembangkan

play11:25

memelihara menguji dan mengevaluasi

play11:28

perangkat lunak di komputer keyboard-nya

play11:31

ada di sini A Place the principles of

play11:33

software engineering jadi bikin software

play11:36

sama kayak software developer tapi dia

play11:38

menerapkan prinsip-prinsip software

play11:40

engineering ya jadi bikin software pakai

play11:43

sdlc tadi tahapannya udah dilakukan tapi

play11:46

enggak hanya itu Dia juga menerapkan

play11:48

prinsip-prinsip cover enjinering Mungkin

play11:51

sekarang pertanyaannya adalah apa sih

play11:53

prinsip-prinsip dari software

play11:55

engineering atau terjemahannya tadi apa

play11:57

prinsip-prinsip rekayasa perangkat lunak

play11:59

ya ini foto-foto mencari banyak banget

play12:01

ya Banyak orang yang bikin

play12:03

prinsip-prinsip rekayasa perangkat lunak

play12:05

hal-hal apa saja yang harus kita patuhi

play12:08

kita terapkan pada saat mengembangkan

play12:10

perangkat lunak ya apalagi kalau kalian

play12:12

pelajarinya secara teori ya tapi ada

play12:14

beberapa yang umum lah ya Yang kalau

play12:16

kalian cari pasien nemunya

play12:17

prinsip-prinsip ini katanya ada tujuh

play12:19

prinsip rekayasa perangkat lunak yang

play12:21

pertama ada yang disebut dengan riger n

play12:23

formality ini maksudnya ringer itu apa

play12:26

ya ketegasan layak ketegasan dan

play12:29

formalitas jadi kita Sebuah software itu

play12:31

harus punya ketegasan ada aturan-aturan

play12:34

yang formal yang jadi enggak boleh

play12:35

asal-asalan gitu yang kedua ada yang

play12:38

disebut dengan saya present of konser

play12:40

jadi pemisahan kepentingan atau

play12:42

pemisahan kebutuhan lah gitu ya Nah ini

play12:44

ditandai dengan aplikasi kita memiliki

play12:47

modularity dan abstraction jadi kita

play12:50

bisa menerapkan modularitas jadi kita

play12:53

bisa memecah program kita menjadi

play12:55

modul-modul dan juga abstraction Dimana

play12:57

kita bisa menyembunyikan kerumitan dari

play13:00

dikasih kita ini misalkan dengan

play13:01

menerapkan konsep object oriented

play13:03

programming misalnya dalam pembuatan

play13:05

aplikasi kita terus ada juga katanya

play13:08

prinsip yang disebut dengan NPC Passion

play13:10

Of Change gimana cover kita yang kita

play13:13

buat itu bisa mengantisipasi perubahan

play13:15

kedepannya Terus ada yang disebut dengan

play13:17

generality keumuman incremental

play13:20

development pengembangan atau

play13:22

development yang inkremental

play13:24

terus-menerus terus juga ada konsistensi

play13:26

nah jadinya katanya tujuh prinsip yang

play13:28

harus kita terapkan dalam pembuatan

play13:30

perangkat lunak terus ada lagi yang

play13:31

bilang bahwa prinsip-prinsip

play13:33

pengembangan perangkat lunak gitu

play13:35

seperti ini ya Temen temen ya ada yang

play13:36

disebut dengan kiss ya atau ini

play13:38

singkatan dari keep it simple stupid Ya

play13:41

gimana cara kita bikin program itu

play13:43

jangan terlalu rumit kalau bisa program

play13:45

kita Itu bisa dipahami oleh siapapun di

play13:47

tim kita gitu ya terus ada juga yang

play13:50

disebut dengan Derai atau donat repeat

play13:52

yourself ini kalau dihubungkan dengan

play13:54

prinsip yang sebelumnya itu kita bisa

play13:56

masuk ke modularity dan abstraction ya

play13:59

Jadi kalau Opera bikin sesuatu jangan

play14:01

lakukan hal yang sama tapi bisa kita

play14:03

abstraksi menjadi sebuah modul sebuah

play14:05

function semua library yang bisa kita

play14:07

gunakan ulang ada lagi prinsip yang

play14:09

disebut dengan yakni ya yang singkatan

play14:11

dari You are going to needed Gimana kita

play14:14

mencari atau menentukan mana mana aja

play14:16

yang penting dari pembuatan aplikasi

play14:18

kita kalau ada nggak dibutuhin Enggak

play14:19

usah dipakai dan yang terakhir mungkin

play14:21

teman-teman juga pernah denger dengan

play14:23

Solid principle ya ini tiap tiap

play14:25

hurufnya punya singkatannya tersendiri

play14:28

ada yang disebut dengan esnya itu single

play14:30

responsibility principle Oh yaitu

play14:33

open-close principle Elya itu liskov

play14:36

substitution principle isinya interface

play14:39

aggregation principle dan d-nya itu

play14:41

dependensi inversion principle ya juga

play14:44

seperti prinsip yang menarik dan

play14:45

temen-temennya yang bisa kita pelajari

play14:47

dan dikomersilkan kita mau masuk lebih

play14:49

lanjut ke prinsip-prinsip ini khususnya

play14:51

Solid mungkin nanti kita akan bikin

play14:53

video terpisah ya tapi intinya ini

play14:56

adalah beberapa prinsip yang membuat

play14:58

proses software development itu Mbah

play15:00

menjadi software engineering jadi ada

play15:02

hal-hal yang harus kita terapkan di luar

play15:05

dari proses pembuatan perangkat lunaknya

play15:07

saja dan ini masih secara teori

play15:09

teman-temannya pada prakteknya ini luas

play15:12

lagi sejauh misalnya kalian menentukan

play15:14

teknologi apa yang digunakan algoritma

play15:16

apa yang akan digunakan dan

play15:18

keputusan-keputusan penting lainnya jadi

play15:20

sekali lagi Itulah kenapa tadi saya

play15:22

sebut bahwa tiap-tiap istilah ini punya

play15:25

tahapannya sendiri-sendiri dan ini baru

play15:27

secara teori teman-teman ya kalau

play15:29

misalnya kita lihat di lapangan ini

play15:33

balik lagi nih fakta dilapangan semua

play15:35

teori tadi bisa aja tidak digunakan gitu

play15:38

ya karena kalau misalnya kita contohnya

play15:40

gini aja gimana kalau kita cari lowongan

play15:42

pekerjaan tapi menggunakan istilah tadi

play15:45

ya Misalnya Saya mau mencari lowongan

play15:47

pekerjaan sebagai seorang web programmer

play15:49

aja ya nanti teman teman bisa lihat nih

play15:51

Apa yang harus dikuasai oleh seorang web

play15:54

programmer pada kalau secara teori tadi

play15:56

programmer itu dibawahnya cover

play15:58

developer kalau kita tingkat dengan web

play16:01

developer dan kita bandingkan lagi

play16:03

dengan web Enginer itu kelihatannya

play16:06

enggak jauh berbeda teman-temannya apa

play16:08

yang harus dikuasai oleh masing-masing

play16:09

dari ini bisa saja tertukar tukar gitu

play16:12

walaupun ini kembali lagi ke perusahaan

play16:14

yang membuka lowongan pekerjaan ya bisa

play16:17

sama bisa beda tapi kalau kita lihat

play16:19

definisinya bisa tertukar tukar begitu

play16:21

pula dengan penghasilan yang sellernya

play16:24

atau gajinya ya teman-temannya jadi

play16:25

belum tentu yang namanya software

play16:27

Enginer itu gajinya lebih tinggi juga

play16:29

daripada programmer karena kalau kita

play16:31

lihat ini adalah rata-rata gaji

play16:33

programmer di Indonesia ini adalah

play16:36

rata-rata gaji the galloper di Indonesia

play16:38

dan ini rata-rata gaji software Enginer

play16:40

terjadi ternyata istilah-istilah ini

play16:43

memiliki pemahaman yang berbeda juga di

play16:46

level industri itulah dari Kenapa di

play16:48

awal saya bilang tergantung konteksnya

play16:50

jadi teman-teman harus balik lagi juga

play16:51

melihat bener-bener spesifikasi

play16:54

kebutuhan yang diminta oleh

play16:55

perusahaannya kalau ada perusahaan yang

play16:57

minta programmer itu belum tentu juga

play16:59

press kasihnya di bawah software

play17:01

developer atau dibawah software Enginer

play17:03

Begitupun sebaliknya dari ini kita baru

play17:06

bicara mengenai 3 hal yang karena folder

play17:08

itu kalau saya cari jarang layak order

play17:10

di lowongan pekerjaan yang biasanya

play17:12

programmer software developer sama

play17:14

software Enginer di luar itu masih

play17:16

banyak lagi yang lain ya yang lebih

play17:18

spesifiknya mungkin teman-teman tahu ada

play17:19

full stack developer ada application

play17:21

developer kalau mau spesifik ada bahasa

play17:24

pemrogramannya misalnya Java developer

play17:26

ada game developer bahkan Kalau

play17:29

teman-teman cari itu ada roll atau

play17:31

pekerjaan yang namanya software

play17:32

development engineering yaitu digabung

play17:35

tuh jadi tuh ya teman-temannya mungkin

play17:37

definisi sederhana lah ya yang bisa saya

play17:40

sampaikan mengenai istilah-istilah yang

play17:42

ada di dunia pengembangan perangkat

play17:44

lunak ini sekali lagi kita bisa lihat

play17:46

dari sisi teori ya Kita juga bisa lihat

play17:48

dari sisi fakta dilapangan Seperti apa

play17:50

dan Ini kebanyakan juga masih opini dari

play17:53

saya aja Jadi kalau misalkan teman-teman

play17:54

punya pendapat yang berbeda silakan Yuk

play17:56

kita diskusi aja di kolom komentar di

play17:59

bawah video Menurut kalian arti dari

play18:01

masing-masing istilahnya itu seperti apa

play18:03

Apakah kalian setuju dengan pendapat

play18:05

saya atau kalian punya pendapat yang

play18:07

berbeda Langsung aja kita diskusi di

play18:09

kolom komentar Ya teman-teman jadi

play18:11

Mungkin itu saja untuk video kali ini

play18:12

mudah-mudahan menjawab kebingungan dari

play18:15

kalian ya dan Sebelum kita akhiri

play18:16

videonya Seperti biasa saya mengucapkan

play18:18

terima kasih kembali kepada niagahoster

play18:20

yang udah sponsorin video kali ini jadi

play18:22

buat kalian yang lagi cari-cari

play18:23

webhosting untuk keperluan website

play18:26

ataupun web application kalian kalian

play18:28

bisa gunakan niagahoster sebagai

play18:30

penyedia layanannya saat ini niagahoster

play18:32

lagi ngadain diskon yang cukup besar

play18:34

sampai dengan 75% punthuk layanan web

play18:38

hostingnya dan Ingat kalian bisa masukin

play18:40

kode kupon web pun pas kalau kalian mau

play18:43

dapetin lagi diskon sebesar 10% saat

play18:46

kalian check-out untuk pembelian

play18:48

webhosting pertama kalian ini silahkan

play18:49

digunakan langsung aja kunjungi Link

play18:51

yang ada di deskripsi video ini untuk

play18:53

informasi lebih lanjut baik

play18:55

teman-temannya jadi itu aja videonya

play18:56

mudah-mudahan bermanfaat kita akan

play18:58

ketemu lagi di video berikutnya saya

play19:00

dari pamit dan seperti biasa jangan lupa

play19:02

titik koma lalu

play19:05

[Musik]

play19:15

[Musik]

Rate This

5.0 / 5 (0 votes)

الوسوم ذات الصلة
Software DeveloperProgrammerSoftware EngineerCareer GrowthTech IndustryCoding SkillsSoftware DevelopmentEngineering PrinciplesTech JobsIT Careers
هل تحتاج إلى تلخيص باللغة الإنجليزية؟