paint-brush
អ្នកសរសេរកម្មវិធីឆ្លាតដោយ@themachine94
ប្រវត្តិសាស្ត្រថ្មី។

អ្នកសរសេរកម្មវិធីឆ្លាត

ដោយ theMachine9410m2024/10/26
Read on Terminal Reader

យូរ​ពេក; អាន

រឿងរ៉ាវអំពីរបៀបដែលនិស្សិតឆ្នាំចុងក្រោយដែលមានលិខិតសម្គាល់ខ្ពស់បានចូលរួមជាមួយក្រុមតូចរបស់យើង។
featured image - អ្នកសរសេរកម្មវិធីឆ្លាត
theMachine94 HackerNoon profile picture

ខ្ញុំកំពុងរស់នៅ និងធ្វើការនៅទីក្រុងតូចមួយនៅភាគពាយ័ព្យប្រទេសអាឡឺម៉ង់ មុនពេលជំងឺរាតត្បាតកូវីដបានវាយប្រហារ។ ខ្ញុំកំពុងធ្វើការនៅក្រុមហ៊ុនចាប់ផ្តើមតូចមួយ។ ខ្ញុំ​ជា​វិស្វករ​ម្នាក់​ក្នុង​ចំណោម​វិស្វករ​៧​នាក់​នៅ​ក្រុមហ៊ុន។ ទោះបីជាពួកយើងជាក្រុមតូចក៏ដោយ មិត្តរួមការងាររបស់ខ្ញុំគឺជាមនុស្សដែលឆ្លាតបំផុតដែលខ្ញុំធ្លាប់ធ្វើការជាមួយ។ យើងបានបង្កើតកម្មវិធីកុំព្យូទ័រដើមដែលប្រើដោយវិស្វករមេកានិក ដើម្បីរចនាផ្នែក។ ផ្នែកទាំងនេះគឺជាប្រភេទដែលចូលទៅក្នុងរថយន្ត និងយន្តហោះជាដើម។ វាជាកម្មវិធី 3d modeling (CAD) ដូច្នេះជាធម្មជាតិ នៅពេលណាដែលយើងជួលវិស្វករថ្មី ឬមានអ្នកហាត់ការ យើងចូលចិត្តមនុស្សដែលពូកែគណិតវិទ្យា ធរណីមាត្រ សរសេរកូដកម្រិតខ្ពស់កម្រិតទាប ជាដើម។ នៅពេលដែលយើងសម្ភាសន៍បេក្ខជន ខ្ញុំត្រូវបានគេផ្តល់ឱ្យ ទំនួលខុសត្រូវក្នុងការសម្ភាសន៍បច្ចេកទេស។ ខ្ញុំបានរៀបចំកិច្ចការសរសេរកម្មវិធីមួយចំនួន ដែលឆ្លុះបញ្ចាំងពីជំនាញដែលយើងចង់បាននៅក្នុងបេក្ខជន។ ខ្ញុំចង់សុំឱ្យបេក្ខជនដោះស្រាយបញ្ហា ហើយនិយាយតាមរយៈដំណើរការគិតរបស់ពួកគេ។ ទោះបីជាពួកគេមិនបានបញ្ចប់ដំណោះស្រាយក្នុងរយៈពេល 45 នាទីក៏ដោយ វាគឺជាវិធីដ៏មានប្រយោជន៍ក្នុងការរៀនពីអ្វីដែលពួកគេដឹង និងរបៀបដែលពួកគេគិត។ សមាជិកផ្សេងទៀតនៃក្រុមរបស់ខ្ញុំបានសម្ភាសបេក្ខជនសម្រាប់លក្ខណៈវិនិច្ឆ័យផ្សេងទៀតដូចជាបុគ្គលិកលក្ខណៈជាដើម។ ការងារនេះពិតជាដំណើរការល្អ ហើយយើងបានជួលវិស្វករដែលមានទេពកោសល្យ និងលើកទឹកចិត្តពិតប្រាកដមួយចំនួន។ យើងទាំងអស់គ្នាពិតជាល្អចំពោះអ្វីដែលយើងបានធ្វើ ហើយយើងគោរពគ្នាទៅវិញទៅមក។


នៅដើមឆ្នាំ 2020 យើងមាននិស្សិតឆ្នាំចុងក្រោយមកពីសកលវិទ្យាល័យក្នុងស្រុកបានទាក់ទងមកពួកយើងដើម្បីសុំកម្មសិក្សា។ ខ្ញុំបានចំណាយពេលវិស្សមកាលដែលត្រូវការច្រើន ហើយបានទៅទីក្រុងប៊ែរឡាំងពីរបីសប្តាហ៍។ ដូច្នេះ ខ្ញុំ​មិន​បាន​ទៅ​ធ្វើ​កិច្ច​សម្ភាសន៍​បច្ចេកទេស​ទេ។ អ្នកគ្រប់គ្រងរបស់ខ្ញុំ និងក្រុមការងារផ្សេងទៀតមានការចាប់អារម្មណ៍យ៉ាងខ្លាំងចំពោះសិស្សក្នុងអំឡុងពេលសម្ភាសន៍ ហើយប្រវត្តិរូបសង្ខេបរបស់គាត់គឺពិសេស។ យើងមិនធ្លាប់មានអ្នកហាត់ការពីមុនមកទេ។ អ្នកគ្រប់គ្រងរបស់ខ្ញុំបានគិតថាការសម្ភាសន៍បច្ចេកទេសប្រហែលជាមិនចាំបាច់សម្រាប់អ្នកហាត់ការទេ។ ដូច្នេះ​ហើយ​គាត់​សម្រេច​ចិត្ត​ឲ្យ​គាត់​ចាប់​ផ្ដើម​ធ្វើ​ការ​ជាមួយ​យើង​ដោយ​មិន​ចាំបាច់​សម្ភាសន៍​បច្ចេកទេស។ ខ្ញុំត្រលប់មកពីវិស្សមកាលរបស់ខ្ញុំ ហើយត្រូវបានគេប្រាប់អំពីអ្នកហាត់ការថ្មីដែលនឹងចាប់ផ្តើមនៅសប្តាហ៍ក្រោយ។ ខ្ញុំត្រូវត្រួតពិនិត្យការងាររបស់អ្នកហាត់ការនេះ។ ជាមូលដ្ឋាន ត្រូវប្រាកដថាគាត់យល់ពីអ្វីដែលត្រូវធ្វើ ឆ្លើយសំណួរណាមួយ ឈប់រារាំងគាត់តាមលទ្ធភាព។ យើងបានដាក់ចេញនូវសំណុំនៃបញ្ហាដែលយើងចង់ឱ្យអ្នកហាត់ការធ្វើការ។ ចាប់ពីពេលនេះតទៅ ខ្ញុំនឹងហៅអ្នកហាត់ការជា Stefan។ ជុំវិញ​ការ​លើក​ឡើង​នេះ មាន​ការ​និយាយ​ជា​ច្រើន​អំពី​មេរោគ Corona ដែល​រីក​រាល​ដាល​នៅ​ប្រទេស​អាល្លឺម៉ង់។ វាគឺនៅគ្រប់ទីកន្លែងនៅក្នុងព័ត៌មាន។ យើងជាក្រុមតូចមួយ ហើយយើងធ្លាប់ធ្វើការនៅក្នុងត្រីមាសជិតៗគ្នា សួរសំណួរគ្នាទៅវិញទៅមក គំនិតលើក្តារខៀនជាដើម។ ប៉ុន្តែ alas, មួយថ្ងៃមុនពេល Stefan ចូលរួមជាមួយយើង អាល្លឺម៉ង់បានជាប់គាំងទាំងស្រុង។ យើងទាំងអស់គ្នាចាប់ផ្តើមធ្វើការពីចម្ងាយពីផ្ទះ។ យើងបានតស៊ូជាមួយការងារពីចម្ងាយក្នុងអំឡុងពេលប៉ុន្មានសប្តាហ៍ដំបូង។ ខ្ញុំជាអ្នកមើលការខុសត្រូវលើគម្រោងរបស់ Stefan ខ្ញុំបានប្រាប់គាត់ថាគាត់អាចទាក់ទងមកខ្ញុំជាមួយនឹងអ្វីៗដែលគាត់ត្រូវការដើម្បីដំណើរការ។ ក្នុង​ករណី​ដែល​ខ្ញុំ​នៅ​ឆ្ងាយ ឬ​រវល់ សមាជិក​ក្រុម​ផ្សេង​ទៀត​សប្បាយ​ចិត្ត​ចូល​ទៅ​ជួយ Stefan ចេញ។


មូលដ្ឋានកូដរបស់យើងគឺជាល្បាយនៃ C# និង C++ ។ អ្នកប្រើប្រាស់របស់យើងទាំងអស់គឺនៅលើ Windows ដូច្នេះយើងសរសេរផ្នែកខាងមុខ និងអ្វីផ្សេងទៀតដែលមិនសំខាន់នៅក្នុង C# ។ រាល់ក្បួនដោះស្រាយលេខរបស់យើង ការបង្ហាញ 3d និងអ្វីដែលសំខាន់គឺដំណើរការត្រូវបានសរសេរនៅក្នុង C++។ សមាជិកក្រុមរបស់យើងភាគច្រើនបានស្ទាត់ជំនាញក្នុងភាសាទាំងពីរ ខ្លះមានជំនាញមួយ ឬផ្សេងទៀត។ Stefan បានអះអាងថាមានជំនាញ C# និង C++។ នៅថ្ងៃដំបូងរបស់គាត់ ខ្ញុំបានទូរស័ព្ទជាមួយ Stefan ជាច្រើនម៉ោងដើម្បីពន្យល់អំពីមូលដ្ឋានកូដរបស់យើងដល់គាត់ ដោយទទួលបានការដំឡើងអ្វីគ្រប់យ៉ាងនៅលើម៉ាស៊ីនក្នុងស្រុករបស់គាត់ ដូច្នេះគាត់អាចចាប់ផ្តើមបាន។ Stefan មាន​ការ​ភ័យ​ព្រួយ​បន្តិច ហើយ​បាន​និយាយ​ថា វា​បាន​មួយ​រយៈ​ហើយ​តាំង​ពី​គាត់​បាន​សរសេរ C++ ឬ​ប្រើ Windows។ Stefan ជារៀងរាល់ថ្ងៃបានបើកម៉ាស៊ីនលីនុច។ គាត់ហាក់ដូចជាពិបាកសរសេរ C++ ។ ខ្ញុំ​គិត​ថា​គាត់​ត្រូវ​បាន​គេ​បោះ​បង់​បន្តិច​ដោយ​ត្រូវ​ធ្វើ​ការ​ក្នុង​បរិយាកាស​ថ្មី មូលដ្ឋាន​កូដ​ថ្មី ហើយ​បាន​សម្រេច​ចិត្ត​ជួយ​គាត់​រហូត​ដល់​គាត់​ទៅ។ ដូច្នេះ យើង​គូរ​កម្មវិធី​សម្រាប់​ពីរ​បី​ម៉ោង​បន្ទាប់។ គាត់​ត្រូវ​ការ​ឱ្យ​ខ្ញុំ​ជួយ​គាត់​សរសេរ​កូដ​មួយ​ជួរ​ៗ។ គាត់​បាន​បន្ត​ធ្វើ​កំហុស​ឆ្កួតៗ​នៅ​ក្នុង​កូដ​របស់​គាត់ ហើយ​តម្រូវ​ឱ្យ​ខ្ញុំ​កែ​កំហុស​ទាំង​នោះ ហើយ​បង្ហាញ​គាត់​ពី​វិធី​ដ៏​ត្រឹម​ត្រូវ​ក្នុង​ការ​ធ្វើ​កិច្ចការ​ផ្សេងៗ។ ខ្ញុំ​គិត​ថា​នេះ​ជា​រឿង​ចម្លែក​បន្តិច ប៉ុន្តែ​បាន​សម្រេច​ផ្តល់​ឱកាស​ឲ្យ​គាត់​យ៉ាង​ណា​ក៏​ដោយ។ ខ្ញុំសង្ឃឹមថានៅចុងបញ្ចប់នៃការហៅទូរស័ព្ទរបស់យើង Stefan បានដឹងគ្រប់គ្រាន់ដើម្បីបន្តធ្វើការដោយខ្លួនឯង។


ជា​ការ​រីករាយ​របស់​ខ្ញុំ ថ្ងៃ​បន្ទាប់​ខ្ញុំ​មិន​បាន​ឮ​ពី Stefan ទេ។ ខ្ញុំ​បាន​ផ្ញើ​សារ​ទៅ​គាត់ ហើយ​គាត់​បាន​និយាយ​ថា​គាត់​កំពុង​តែ​រីកចម្រើន ហើយ​មិន​ត្រូវ​ការ​អ្វី​ពី​ខ្ញុំ​ទេ។ ខ្ញុំ​សប្បាយ​ចិត្ត​ពេល​បាន​ឮ​ដូច្នេះ។ ខ្ញុំអាចផ្តោតលើការងារផ្ទាល់ខ្លួនរបស់ខ្ញុំ។ ប៉ុន្តែ​ថ្ងៃ​បន្ទាប់ Stefan បាន​ទាក់​ទង​មក​ខ្ញុំ​ម្ដង​ទៀត​ដើម្បី​សុំ​ជំនួយ។ ដើម្បីចូលរួមចំណែកក្នុងកម្មវិធីរបស់យើង Stefan ត្រូវសរសេរទាំង C# និង C++ ។ គាត់​ត្រូវ​សរសេរ​ផ្នែក​លេខ​នៃ​ក្បួន​ដោះស្រាយ​ក្នុង C++ ហើយ​ភ្ជាប់​វា​ជាមួយ​ផ្នែក​ខាង​មុខ ហើយ​ធ្វើ​កិច្ចការ​មួយ​ចំនួន​ទៀត​ក្នុង C# ។ នៅពេលដែល Stefan បានទាក់ទងមកខ្ញុំនៅថ្ងៃទី 3 គាត់មិនមានដំណើរការណាមួយជាមួយនឹងលេខកូដ C++ របស់គាត់ទេ។ វាភាគច្រើនជាកន្លែងដែលយើងចាកចេញនៅចុងថ្ងៃទី 1។ ប៉ុន្តែគាត់បានរីកចម្រើនជាច្រើនជាមួយនឹងលេខកូដ C# របស់គាត់។ គាត់កំពុងវាយលុកកិច្ចការពីចុងទាំងពីរក្នុងពេលតែមួយ។ Stefan បានបង្ហាញខ្ញុំដោយមោទនភាពនូវអ្វីដែលគាត់បានសរសេរនៅក្នុង C# នៅថ្ងៃទី 2 ដោយគ្មានជំនួយពីខ្ញុំ។ ខ្ញុំ​បាន​អាន​កូដ​នោះ ហើយ​ត្រូវ​បាន​គេ​ផ្លុំ​ចោល។ លេខកូដពិតជាមានគុណភាពខ្ពស់។ វាមានភាពសង្ខេប ឆើតឆាយ និងមានប្រសិទ្ធភាព។ ខ្ញុំគិតថា Stefan ពិតជាមានទេពកោសល្យមែន។ ប្រហែលជាគាត់ពិតជាច្រេះបន្តិចជាមួយនឹងវាក្យសម្ព័ន្ធ C++ និងព័ត៌មានលម្អិតអំពីភាសា ប៉ុន្តែកូដ C# របស់គាត់បានបង្ហាញថាគាត់គឺជាអ្នកសរសេរកម្មវិធីដ៏ល្អម្នាក់។ ខ្ញុំ​គិត​ថា​នេះ​ជា​សញ្ញា​ល្អ ហើយ​ថា​គាត់​ទំនង​ជា​នឹង​ធ្វើ​ឱ្យ​កូដ C++ របស់​គាត់​ប្រសើរ​ឡើង​យ៉ាង​ឆាប់​រហ័ស។ នេះបានលើកទឹកចិត្តខ្ញុំឱ្យជួយគាត់ជាមួយ C++ របស់គាត់។ ជាថ្មីម្តងទៀតខ្ញុំបានចំណាយពេលជាច្រើនម៉ោងនៅថ្ងៃទី 3 ផ្គូផ្គងជាមួយ Stefan ដោយជួយគាត់ជាមួយនឹងលេខកូដ C++ របស់គាត់។ វដ្តនេះបានធ្វើម្តងទៀតម្តងទៀត។ Stefan បានចេញដោយខ្លួនឯង ហើយសរសេរកូដ C# នៅថ្ងៃទី 4 ហើយត្រលប់មកខ្ញុំវិញដើម្បីសុំជំនួយជាមួយ C++ នៅថ្ងៃទី 5។ នៅពេលនេះខ្ញុំចាប់ផ្តើមមានការសង្ស័យ។ កម្រិតដែលគាត់ត្រូវការជំនួយជាមួយកូដ C++ របស់គាត់គឺមិនស៊ីគ្នាជាមួយនឹងកូដ C# ដែលមានគុណភាពខ្ពស់ដែលគាត់បានសរសេរនោះទេ។ នៅក្នុង C++ គាត់ហាក់ដូចជាតស៊ូជាមួយនឹងគោលគំនិតជាមូលដ្ឋាន របៀបកុំព្យូទ័រដំណើរការ របៀបអង្គចងចាំដំណើរការ។ ដាក់ម្រាមដៃរបស់ខ្ញុំលើវា។


ពេញមួយសប្តាហ៍បានកន្លងផុតទៅ។ ជាក្រុមដែលធ្លាប់ធ្វើការក្នុងការិយាល័យ យើងទាំងអស់គ្នាស្អប់ការធ្វើការពីចម្ងាយ។ នៅ​ពេល​នេះ​ក្នុង​អំឡុង​ពេល​បិទ​ទ្វារ យើង​ត្រូវ​បាន​អនុញ្ញាត​ឱ្យ​ប្រមូល​ផ្តុំ​គ្នា​ជា​ក្រុម​ដែល​មាន​គ្នា 7 នាក់ ឬ​តិច​ជាង​នេះ។ មិត្តរួមការងារ ចូរហៅគាត់ថា ដេវីឌ ហើយបានអញ្ជើញខ្ញុំ និងមិត្តរួមការងារពីរបីនាក់ទៀតទៅផ្ទះរបស់គាត់ដើម្បីញ៉ាំសាច់អាំងកំឡុងចុងសប្តាហ៍។ គាត់រស់នៅមិនឆ្ងាយពីខ្ញុំទេ ហើយពួកយើងធ្លាប់ធ្វើរឿងបែបនេះពីមុន អាកាស​ធាតុ​ល្អ យើង​កំពុង​ដើរ​លេង​នៅ​សួន​ក្រោយ​ផ្ទះ​របស់ David ជាមួយ​ប្រពន្ធ និង​កូន​ស្រី​អាយុ 3 ឆ្នាំ។ យើង​បាន​អាំង និង​ញ៉ាំ​សាច់ និង​បន្លែ ញ៉ាំ​បៀរ​ពីរបី​គ្រាប់ ហើយ​អារម្មណ៍​គឺ​ឆ្ងាញ់​ណាស់។ កូនស្រីអាយុ 3 ឆ្នាំរបស់ David កំពុងបម្រើយើងនូវភាពកខ្វក់នៅក្នុងពែងប្លាស្ទិកតូចៗ ដោយធ្វើពុតជាការ៉េម។ មិនបាច់និយាយទេ ខ្ញុំមិនបានធ្លាក់សម្រាប់វាទេ។ David បានលើកយកប្រធានបទរបស់ Stefan ហើយការសន្ទនាបានកើតឡើងដូចនេះ៖


ដេវីដ៖ តើ​វា​ទៅ​ជា​យ៉ាង​ណា​ជាមួយ​ស្តេហ្វាន? គាត់​បាន​ទាក់​ទង​មក​ខ្ញុំ​ដើម្បី​សុំ​ជំនួយ​ពីរ​បី​ដង​ក្នុង​សប្តាហ៍​មុន។


ខ្ញុំ៖ បាទ ខ្ញុំក៏ជួយគាត់បន្តិចដែរ។ គាត់ទើបតែចាប់ផ្តើម ដូច្នេះខ្ញុំមិនខ្វល់នឹងការជួយគាត់ទេ។ តើ​អ្នក​យល់​យ៉ាង​ណា​ចំពោះ​គាត់?


ដាវីឌ៖ បាទ។ ខ្ញុំពិតជាចាប់អារម្មណ៍នឹងការងាររបស់គាត់។ គាត់​កំពុង​សរសេរ​កូដ​ដែល​មាន​គុណភាព​ខ្ពស់ ហើយ​ហាក់​ដូច​ជា​ដឹង​ពី​អ្វី​ដែល​គាត់​កំពុង​ធ្វើ​នៅ​ក្នុង C++ ប៉ុន្តែ​គាត់​ព្យាយាម​សរសេរ​កូដ C# ឲ្យ​បាន​ល្អ។ ខ្ញុំបានជួយគាត់សរសេរកូដ C# ។


ខ្ញុំ​បាន​សួរ​ដេវីឌ​ថា៖ "ចាំ​មើល តើ​អ្នក​ចង់​និយាយ​បែប​នេះ​ទេ? ព្រោះ​ខ្ញុំ​គិត​ថា C# របស់​គាត់​ល្អ​ណាស់ ប៉ុន្តែ​គាត់​ជក់​ចិត្ត​នឹង C++"។ ពេល​ខ្ញុំ​បញ្ចប់​ប្រយោគ​ភ្លាម យើង​ទាំង​ពីរ​យល់​ថា​មាន​អ្វី​កើត​ឡើង។ ខ្ញុំ​បាន​ស្លាបព្រា​ញ៉ាំ​កូដ Stefan C++ ដែល​គាត់​បង្ហាញ​ David ជា​របស់​គាត់។ ហើយជារៀងរាល់ថ្ងៃ ដេវីឌបានស្លាបព្រាដាក់លេខកូដ Stefan C# ដែលគាត់បង្ហាញខ្ញុំថាជារបស់គាត់ផ្ទាល់។ ខ្ញុំមានការចាប់អារម្មណ៍ចំពោះគុណភាពនៃលេខកូដ C# របស់ David ហើយ David មានការចាប់អារម្មណ៍ចំពោះលេខកូដ C++ របស់ខ្ញុំ។ ម៉្យាងវិញទៀត ដេវីឌ និងខ្ញុំ មានពេលដ៏ប្រពៃនេះ ដែលពួកយើងកោតសរសើរចំពោះកូដរបស់គ្នាទៅវិញទៅមក។ ប៉ុន្តែ​ពេល​នោះ​ត្រូវ​បាន​ស្រមោល​ដោយ​ការ​ពិត​ដែល​ថា​យើង​ទាំង​ពីរ​ត្រូវ​បាន Stefan បោកប្រាស់។ នេះ​គឺ​ចេញ​ពី​រឿង​ផ្ទាល់​តែ​កើត​ឡើង​ក្នុង​ជីវិត​ពិត។ វាដូចជារឿងរបស់បុរសម្នាក់នោះ ដែលមិនចេះលេងអុក ប៉ុន្តែចេះគូរហ្គេមជាមួយចៅហ្វាយនាយពីរនាក់ ដោយលេងទល់នឹងគ្នា។ Stefan បានទាញរឿងនេះចេញពីជីវិតពិត។ Stefan មិនដឹងរឿងអីទេ។ យើងស្អប់ខ្លួនឯងដែលចំណាយពេលមួយសប្តាហ៍ដើម្បីដឹងវា។ ដើម្បីយុត្តិធម៌ បើយើងនៅក្នុងការិយាល័យ ល្បិចនេះនឹងមិនដំណើរការទេ។ យើង​ធ្លាក់​ទៅ​លើ​រឿង​នេះ​ដោយ​សារ​តែ​យើង​មាន​ការ​ប្រាស្រ័យ​ទាក់ទង​គ្នា​យ៉ាង​អាក្រក់​ពេល​ធ្វើ​ការ​ពី​ផ្ទះ​របស់​យើង។


ពេល​យើង​ត្រឡប់​ទៅ​ធ្វើ​ការ​វិញ​នៅ​ថ្ងៃ​ចន្ទ​ក្រោយ ខ្ញុំ​បាន​ប្រាប់ Stefan កុំ​ឲ្យ​រំខាន David ហើយ​សុំ​តែ​ជំនួយ​ពី​ខ្ញុំ។ មិនយូរប៉ុន្មានវាច្បាស់ណាស់ថា Stefan មិនដឹងច្រើនអំពីកម្មវិធី គណិតវិទ្យា ឬធរណីមាត្រ។ វាច្បាស់ណាស់ថា ប្រវត្តិរូបសង្ខេបរបស់គាត់ពោរពេញទៅដោយការកុហក។ គាត់​គ្រាន់តែ​ជា​អ្នក​និយាយ​យ៉ាង​រលូន ហើយ​មាន​ទេព​កោសល្យ​នៃ​ការ​ស្តាប់​ដូចជា​ដឹង​ច្រើន​។ ជំនាញ​នោះ​បាន​ធ្វើ​ឱ្យ​គាត់​មាន​ការងារ​ធ្វើ ហើយ​បោកប្រាស់​យើង​ពេញ​មួយ​សប្តាហ៍។ កាលណាខ្ញុំធ្វើការជាមួយ Stefan កាន់តែច្រើន ខ្ញុំពិនិត្យមើលកូដរបស់គាត់កាន់តែច្រើន នោះគាត់កាន់តែអសមត្ថភាព។ ទីបំផុតខ្ញុំបានឃើញថាតើ Stefan ជានរណា ដែលជាជំនាញសរសេរកម្មវិធីពិតរបស់គាត់។ ខ្ញុំ​មិន​ប្រាកដ​ថា​អសមត្ថភាព​ជា​ពាក្យ​ត្រឹម​ត្រូវ​ទេ។ Stefan សរសេរកូដមិនល្អ ប៉ុន្តែវាអាក្រក់តាមរបៀបចម្លែក។ ពេល​ខ្ញុំ​សួរ​គាត់​ពី​រឿង​ហ្នឹង គាត់​បាន​ឆ្លើយ​ប្លែក។ នេះគឺជាឧទាហរណ៍មួយដែលពិតជាបានកើតឡើង។ ខ្ញុំធ្លាប់បានប្រាប់ Stefan នូវអ្វីមួយដូចជា៖ "... ដូច្នេះអ្នកចង់ទទួលបានតម្លៃចំនួនគត់នេះ ហើយប្រសិនបើតម្លៃនោះស្ថិតនៅចន្លោះព្រំដែនខាងក្រោម និងព្រំដែនខាងលើ អ្នកគួរតែហៅមុខងារផ្សេងទៀតនេះ… តើវាច្បាស់ទេ?"។ Stefan បានធានាខ្ញុំថាគាត់យល់ពីអ្វីដែលត្រូវធ្វើ។ នៅពេលខ្ញុំមើល PR របស់គាត់នៅថ្ងៃបន្ទាប់ខ្ញុំបានឃើញអ្វីមួយដូចនេះ:


 int value; // Assigned from somewhere. for (int i = lower_bound; i <= upper_bound; ++i) { if (value == i) { do_stuff(...); } }


ខ្ញុំត្រូវបានផ្លុំចេញ។ នេះមិនមែនគ្រាន់តែជាលេខកូដអាក្រក់នោះទេ វាជាអ្វីផ្សេងទៀត។ ខ្ញុំចាំថាខ្ញុំនៅក្មេង ហើយមិនល្អក្នុងការសរសេរកូដ ប៉ុន្តែលេខកូដអាក្រក់របស់ខ្ញុំមិនដែលដូចនេះទេ។ នេះ​ជា​ទិដ្ឋភាព​ដ៏​ចម្លែក​មួយ​ទៀត​។ ទោះ​ជា​អ្នក​សរសេរ​កម្មវិធី​ថ្មី​ថ្មោង​ក៏​ដោយ ខ្ញុំ​មិន​ដែល​គិត​ចង់​សរសេរ​កូដ​បែប​នេះ​ទេ។ ការជ្រើសរើសរង្វិលជុំលើចំនួនគត់នៅចន្លោះព្រំដែនគឺចម្លែកគ្រប់គ្រាន់ ប៉ុន្តែអ្វីដែលធ្វើឱ្យខ្ញុំចាប់អារម្មណ៍ខ្លាំងនោះគឺការពិតដែលថា សូម្បីតែនៅពេលដែលគាត់រកឃើញការប្រកួត និងហៅមុខងារក៏ដោយ គាត់មិនដែលបំបែកចេញពីរង្វិលជុំនោះទេ។ គាត់បន្តពិនិត្យមើលតម្លៃដែលនៅសល់។ យ៉ាងម៉េច? ខ្ញុំបានសួរ Stefan ថាហេតុអ្វីបានជាគាត់មិនធ្វើដោយសាមញ្ញ៖


 if (value <= upper_bound && value >= lower_bound) { do_stuff(...); }


នៅពេលទទួលបានសំណើរបស់ខ្ញុំឱ្យប្រើវិសមភាពសាមញ្ញជំនួសឱ្យការប្រៀបធៀបជាមួយនឹងចំនួនគត់ក្នុងជួរដែលអាចមាន 10s ឬសូម្បីតែ 100s នៃរាប់ពាន់ នោះ Stefan បានសរសើរខ្ញុំដែលបានបង្កើតគំនិតដ៏ល្អបែបនេះ ហើយបានជំរុញការផ្លាស់ប្តូរថ្មីទៅ PR ។ រាល់ពេលដែល Stefan ខំប្រឹងធ្វើអ្វីមួយ យើងនឹងផ្តល់ឱ្យគាត់នូវអ្វីដែលងាយស្រួលធ្វើ។ គួរឱ្យភ្ញាក់ផ្អើលគាត់ក៏បរាជ័យដែរ។ វា​ជា​កម្មសិក្សា​ខ្លី ដូច្នេះ​យើង​មិន​រំខាន Stefan ខ្លាំង​ពេក​ទេ។ បន្ទាប់ពីពេលខ្លះ គាត់បានបញ្ចប់ការងារដែលមិនមែនជាកម្មវិធី គ្រប់គ្រងអ្វីៗនៅក្នុងសៀវភៅបញ្ជី និងកិច្ចការពិសេសផ្សេងទៀតដែលត្រូវធ្វើ។ គម្រោង​ដើម​ដែល​គាត់​បាន​ដាក់​ចេញ​ដើម្បី​ធ្វើ​បាន​បង្ហាញ​ថា​វា​ហួស​ពី​ជំនាញ​របស់​គាត់​ទៅ​ទៀត។ ដូចម្ដេច Stefan បានបញ្ចប់កម្មសិក្សាក្រៅម៉ោង 3 ខែរបស់គាត់។ គាត់ចង់បន្តធ្វើការឱ្យយើងពេញមួយរដូវក្តៅ។ គាត់បានបង្កើតគម្រោងស្រាវជ្រាវថ្មីមួយ ដែលមានប្រយោជន៍សម្រាប់ក្រុមហ៊ុនរបស់យើង។ នៅពេលដែលអ្នកគ្រប់គ្រងរបស់ខ្ញុំបានសួរខ្ញុំថា តើខ្ញុំចង់បន្តធ្វើការជាមួយ Stefan រយៈពេល 3 ខែទៀតដែរឬទេ ខ្ញុំបាននិយាយថា ទេ ។ ខ្ញុំបានរំឮកដល់អ្នកគ្រប់គ្រងរបស់ខ្ញុំថា ការងាររបស់គាត់អាក្រក់ប៉ុណ្ណាក្នុងរយៈពេលបីខែចុងក្រោយនេះ។ ប៉ុន្តែអ្នកគ្រប់គ្រងរបស់ខ្ញុំគឺជាអ្នកសុទិដ្ឋិនិយម។ គាត់មានជំនឿលើមនុស្ស។ គាត់​បាន​សុំ​ឱ្យ​ខ្ញុំ​គិត​ពី​ខ្លួន​ខ្ញុំ​នៅ​ពេល​ដែល​ខ្ញុំ​អាយុ​របស់ Stefan នៅ​ក្នុង​មហាវិទ្យាល័យ និង​រៀន​អ្វី​ៗ​ជា​លើក​ដំបូង។


អ្នកគ្រប់គ្រងរបស់ខ្ញុំបានសុំឱ្យខ្ញុំគិតឡើងវិញ ហើយបានសុំឱ្យខ្ញុំពិចារណាផ្តល់ឱកាសឱ្យ Stefan ម្តងទៀត។ នៅក្នុងភាពស្មោះត្រង់ទាំងអស់ នៅពេលដែលខ្ញុំមានអាយុរបស់ Stefan ខ្ញុំកំពុងសរសេរហ្គេម 2D នៅក្នុង JavaScript ដោយប្រើផ្ទាំងក្រណាត់ HTML5 ថ្មី (នៅពេលនោះ)។ Stefan ពិតជាអសមត្ថភាព សូម្បីតែបន្ទាប់ពីកែសម្រួលអាយុ និងបទពិសោធន៍របស់គាត់ក៏ដោយ។ ប៉ុន្តែ​អាក្រក់​ជាង​អសមត្ថភាព​របស់​គាត់ គឺ​ភាព​មិន​ស្មោះត្រង់​របស់​គាត់។ ក្នុងករណីណាក៏ដោយ ខ្ញុំមិនចង់ទទួលយកការសម្រេចចិត្តនេះដោយស្រាលទេ។ ម្យ៉ាងវិញទៀត ប្រហែលជា Stefan អាចរៀនបាន ប៉ុន្តែម្យ៉ាងវិញទៀត គាត់ជាមនុស្សមិនស្មោះត្រង់។ ខ្ញុំបានអានតាមរយៈសំណើដែលគាត់បានសរសេរចុះសម្រាប់គម្រោងស្រាវជ្រាវថ្មី។ គំនិតនេះគឺប្រលោមលោកណាស់ ហើយប្រសិនបើវាដំណើរការ វានឹងមានប្រយោជន៍ខ្លាំងណាស់សម្រាប់ក្រុមហ៊ុនរបស់យើង។ វាពិតជាគួរអោយចាប់អារម្មណ៍ណាស់។ ប៉ុន្តែបន្ទាប់មក ខ្ញុំមានពេលមួយនៃភាពច្បាស់លាស់ ដែលការមើលងាយរបស់ខ្ញុំបានយកសុទិដ្ឋិនិយមដែលអ្នកគ្រប់គ្រងរបស់ខ្ញុំព្យាយាមដាក់បញ្ចូលក្នុងខ្ញុំ។ ខ្ញុំ​ត្រូវ​បាន​ជួសជុល​ពាក្យ​មួយ​ពី​សំណើ​ស្រាវជ្រាវ​របស់ Stefan: '2-manifolds'។


ដោយបានធ្វើការជាមួយគាត់ ខ្ញុំបានដឹងថា Stefan ពិតជាអសមត្ថភាពប៉ុណ្ណា ហើយគ្មានវិធីស្តេចដែលគាត់ដឹងថា 2-manifold មានន័យយ៉ាងណានោះទេ។ ខ្ញុំចម្លងបានបិទភ្ជាប់សំណើស្រាវជ្រាវរបស់ Stefan ទៅក្នុងកម្មវិធីត្រួតពិនិត្យការលួចចម្លងតាមអ៊ីនធឺណិត។ វា​ជា​ឆ្នាំ​មុន​ហើយ​ខ្ញុំ​ភ្លេច​ថា​វា​ជា​មួយ​។ ខ្ញុំទើបតែស្វែងរកនៅលើ Google ហើយប្រើលទ្ធផលកំពូលមួយ។ អ្នកត្រួតពិនិត្យការលួចចម្លងបានរកឃើញការផ្គូផ្គង 97% ជាមួយនឹងឯកសារស្រាវជ្រាវ និងផ្តល់នូវតំណភ្ជាប់ដើម។ Stefan បានចម្លងរឿងទាំងមូល។ នៅព្រឹកបន្ទាប់ខ្ញុំបាននិយាយជាមួយ Stefan អំពីសំណើស្រាវជ្រាវរបស់គាត់។ ពេលគាត់ចាប់ផ្តើមនិយាយ វាច្បាស់ណាស់ គាត់មិនយល់ពីអ្វីដែលគាត់កំពុងនិយាយនោះទេ ហើយវាគ្រាន់តែជាពាក្យសំដីប៉ុណ្ណោះ។ គាត់បានក្លាយជាមនុស្សល្ងីល្ងើម្តងទៀត។ ខ្ញុំ​ប្រាប់​អ្នក​គ្រប់​គ្រង​របស់​ខ្ញុំ​ឲ្យ​ដឹង ហើយ​ទី​បំផុត​នេះ​បាន​បំបាក់​ជំនឿ​របស់​គាត់​ទៅ​លើ Stefan។ Stefan មិនបានធ្វើការឱ្យយើងទៀតទេ។


រឿងតែមួយគត់ដែល Stefan ពូកែគឺលក់ខ្លួនគាត់ ហើយហាក់ដូចជាគាត់ដឹងថាគាត់កំពុងនិយាយអំពីអ្វី។ ខ្ញុំយល់ថាមានវិជ្ជាជីវៈដែលជំនាញទាំងនេះអាចនាំអ្នកទៅឆ្ងាយ ឧ. ផ្នែកលក់។ ប៉ុន្តែ​ខ្ញុំ​គិត​ថា​វា​ជា​រឿង​ចម្លែក​សម្រាប់​អ្នក​ណា​ម្នាក់​ដែល​ព្យាយាម​ធ្វើ​ឲ្យ​ពួកគេ​ធ្វើ​តាម​រយៈ​អាជីព​បច្ចេកទេស​ដូចជា​ការ​អភិវឌ្ឍ​កម្មវិធី។

L O A D I N G
. . . comments & more!

About Author

theMachine94 HackerNoon profile picture
theMachine94@themachine94
I am a Software Engineer. I have been writing C++ and Rust for almost a decade.

ព្យួរស្លាក

អត្ថបទនេះត្រូវបានបង្ហាញនៅក្នុង...