ඔව් පුළුවං
සහ මේක හිතන තරම් අමාරු වැඩක් නෙවෙයි තමගෙ උනන්දුව තියෙනව නන්. හැබැයි හොදටම මතක තියාගන්න ඕනි මේක එහෙන් මෙහෙන් පොඩ්ඩ පොඩ්ඩ කරල නන් කරන්න පුළුවන් දෙයක් නෙවෙයි. සමහර කොටස් තියෙනව මාරම කම්මැලියි ඉගෙන ගන්න ඒ කොටස් ඉගෙන ගන්නකොට හිතෙනව ඇයි මේක මොකටද Software Engineer කෙනෙක් වෙන්න මේකෙන් මොනවත් සම්බන්ධයක් නෑනෙ කියලත්. ඒ උනාට ඒක එහෙම නෑ.
Software engineer කෙනෙක් කියන්නෙ ප්රයෝගික ගැටලුවකට Software එකක් භාවිතයෙන් විසදුමක් නිර්මාණය කරන කෙනෙක්ට. ඔයාල දන්නව විසදුමක් නිර්මාණය කරන්න නන් අනිවායෙන්ම අපිට ඒ ගැටලු සම්බන්ධව හොද අවබෝධයක් තියෙන්න ඕනි සහ එම ගැටලුව විසදන්න භාවිතා කලයුතු තාක්ෂණික ක්රමවේද ගැන අවබෝධයක් තියෙන්න ඕනි කියල. එතකොට ගැටලුවක් එන වෙලාවට අපිට සමහර කොටස් අලුතෙන් ඉගෙන ගන්න බෑ. එතකොට අපි ඒව කලින් ඉගෙන ගෙන ඉන්න ඕනි. හැම එකම අපිට ඉගෙන ගන්න බෑ ඒ උනාට අපි ඉගෙන ගන්න වෙලාවට සමහර මූලික කාරණා ඉගෙන ගෙන ඉන්න එක වැදගත්. මේ ගැන ටිකක් දීර්ඝ ලිපියක් මම කලින් ලියල තිබ්බ මෙතනින් ඒකත් බලන්න පුළුවන්. (Link)
මේක බොහෝ විට ලිපි රාශියකට පළවෙනි ලිපිය වෙයි. ලැබෙන ප්රතිචාර ඉල්ලීම් එක්ක මම හිතාගෙන් ඉන්නවට වඩා ලිපිත් ලියන්න වෙයි. කොහොම උනත් මගෙ මෝටිවේශන් එක මේක කාට හරි වැදගත් වෙයි කියන එක. මුලින්ම අපේ මාර්තුකාව වෙන්නෙ “Software engineer කෙනෙක් කියන්නෙ කවුද කියන එක සහ එයාගෙ වගකීම් මොනවද කියන එක”. මේක කොටස් තුනකට තමා ලියන්න බලාපොරොත්තු වෙන්නෙ.
මුලින්ම අපි බලමු Software engineer කෙනෙක් කියන Position එකේදී Company එක පැත්තෙන් මොනවද බලපොරොත්තු වෙන්නෙ කියන එක. මේක අපිට Technical සහ Non Technical කියල කොටස් දෙකකට බෙදන්න පුලුවන්.
technical කියන්නෙ අපි Software එකක් හදන්න ගියාම අවශ්යය වන දේවල් සහ Non Technical කියන්නෙ Software එකක් හදන්න ඕනි කරන දේවල් එකතු කරගන්න කලයුතු වැඩ සම්බන්ධයෙන් තියෙන හැකියාව. ඕකෙන් Interview එකකින් බලන්න පුළුවන් වැඩි පුරම technical හැකියාව විතරයි. Non Technical ඒව ගැන අදහසක් ගන්න පුළුවන් උනාට හරියටම දැනගන්න වෙන්නෙ මාසයක් දෙකක් වැඩ කරලම තමා. මේක නිසා සමහර වෙලාවට Company වලින් ජොබ් එක ස්ථිර කරන්න මාස දෙක තුනක් ගන්නව.
මොනවද මේ Technical Responsibilities.
Design and Development
Software engineer කෙනෙක් විදියට මෙතනදි වෙන්නෙ ඔයා ගැටලුවට software වලින් විසදුමක් ඉදිරිපත් කරන එක. මේක හරියට කරන්න බැරි නන් අනික් දෙවල් ගැන කතා කරන එකත් තේරුමක් නෑ. Software එකක Code වලින් කරන්න තියෙන්නෙ ඇත්තටම 40%ක් වගේ ඉතුරු 60% වෙන්නෙ තමන් විසදුම නිර්මාණය කරන විදිය.
මුලින්ම අපි දැනගන්න ඕනි අපි මේ Software එක හදල දෙන්නෙ කාටද කියන එක සහ එයා මොනවටද මේක භාවිතා කරන්නෙ කියන එක. මේ දේවල් වලට ගොඩක් වෙලාවට මේ වෙනකොට Company ඇතුලෙ Job role එකක් තියෙනව Business Analyst (BA) කියල මෙතනදි වෙන්නෙ හරියටම Client ඉල්ලන දේවල් පිළුවලකට එකතු කරගෙන ඒව Software engineer කෙනෙක්ට ගැලපෙන විදියට හදාගන්න එක. ඊට පස්සෙ මේ එකතු කරගත්ත දේවල් වලින් තමා අපි හදන්න ඕනි මොකද්ද කියන එක ගැන අදහසක් ගන්නෙ.
අපි එකතු කරගත්ත Requirement එකත් එක්ක දැන් අපි බලන්න ඕනි හරියටම මේ කියන දේවල් කොහොමද හදන්නෙ කියන එක. අපි හදන software එකේ මොනවද inputs output වෙන්නෙ සහ Process එක මොකද්ද කියන එක හරියටම අපි තේරුම් ගත්තොත් අපිට මේ වැඩේ ලේසියි. මේක අපිට ෆීල්ඩ් එකට ආව ගමන්ම පුළුවන් වෙන දෙයක් නෙවෙයි. මේක හරියටම තේරුම් ගන්න නන් අඩුම අවුරුදු 3,4කවත් එක්ස්පීරියන්ස් එකක් ඕනි. ඒක හදිසි වෙලා ගන්න පුළුවන් එකකුත් නෙවෙයි වැඩ කරගෙන ගිහින්ම තමා ගන්න පුළුවන්. එතකොට මේ කොටසට ගොඩක් Company වල සම්බන්ධ වෙන්නෙ Software Architecture, Project Manage, Senior Software engineer වගේ Job Roles එකක් හෝ කිහිපයක්. ඔතනදි හැදෙනව Document ගොඩක් ඒව සමහර ඒව අපි ආපහු Client ට දීල එයාගෙ අවසර ගන්නව සමහර ඒව Client ට දෙන්නෙ නෑ ඒව අපි ඇතුලෙ Software එක Develop කරන අයට Software එක ටෙස්ට් කරන QA ලට වගේ දෙනව.
ඔය Stage එකෙන් පස්සෙ තමා අපිට හරියටම code කරන්න පටන් ගන්න පුළුවන් වෙන්නෙ මේ වෙනකොට අපි Software එක හදන්න ඕනි Language, Framework, Platform වගේ දෙවල් සාකච්චා කරල තීරණය කරගෙන ඉවරයි. දැන් තියෙන්නෙ ටික ටික අපි අපේ විසදුම හදාගෙන යන එක.
මේ කොටසෙදි මුලදි සමහරවිට අපිට කරන්න වෙන්නෙ ගොඩක් අය එකතු වෙලා හදපු විසදුමක Code එක ලියන කොටස විතරක් වෙන්න පුළුවන්. එහෙම වෙන්න හේතුව තමා මේ කොටස තමා තියෙන වැදගත්ම කොටස අපි දෙන Software Solution එකේ. ඉතින් ඒක හරියට කරන්න නන් අපිට ඕනිම වෙන දෙයක් තමා Experience. Industry එකට ගිය ගමන්ම අපිට නැත්තෙත් ඕකනෙ.
ඔයා ෆීල්ඩ් එකට අලුත් නන් මේ කොටසදි වෙන හැම දෙයක්ම හොදට සිහියෙන් බලාගෙන ඉන්න. නොදන්න දේවල් තිබ්බොත් මුලින්ම් Search කරල බලන්න ඊට පස්සෙත් තේරෙන්නෙ නැත්තන් ChatGPT/Google Gemini වගේ AI එකකින් බලන්න එත් තේරෙන්නෙ නැත්තන් තමන්ගෙ Senior කෙනෙක්ගෙන් අහන්න. මේ කියපු ෆ්ලෝ එක හරිම වැදගත් අපේ දියුණුවට.
අපිට ඉක්මනට ගැටලුවක් විසදගන්න පුළුවන් ඒ සම්බන්ධයෙන් අත්දැකීම් තියෙන කෙනෙක්ගෙන් ඒක ඇහුවම. හැබයි එයාට ඒ අත්දැකීම් ආපු විදිය ඔයාට ඉගෙන ගන්න බෑ. IT Field එකේ වැදගත්මක කොටස තමා ඔයා ඇයි ඒ විසදුමට ආවෙ කියන එක. ඔයාට ඕනි තැනක ගිහින් කියන්න පුළුවන් වෙන්න ඕනි ඇයි මම එහෙම කරේ මොකද්ද ඒ ගත්ත තීරණය පිටිපස්සෙ තියෙන Logic එක කියන එක. මේ කොටස අහල ඉගෙනගන්න බෑ ඒකට ඔයත් ඒ පාරෙම යන්න ඕනි. ඔය මම කිව්වෙ ඒක ඉගෙන ගන්න යන පාර. සමහර වෙලාවට අපිට ඉක්මනට විසදගන්න ඕනි වෙලාවට Senior කෙනෙක්ගෙන් අහන්නත් වෙලාව තියෙනව නන් ඔය කිව්ව විදියට කරන එකත් තීරණය කරන්න ඕනි තමන් තමා. හිර වෙලා තියෙන වැඩක් අස්සෙ ඕක තනියම කරන්න යනව කියන එක ටීම් එකටම බලපාන්න පුළුවන් දෙයක් නිසා ඒව ගැනත් සැලකිලිමත් වෙලා ඔය වැඩේ කරන්න.
ඇත්තටම ෆීලඩ් එකට අලුත් වෙන්න ඕනිම නෑ මම උනත් මේ කොටසෙදි තාම අලුත් දේවල් ඉගෙන ගන්නව අපි එක්ක වැඩ කරන Inten ලගෙන් පවා. බය නැතුව තමන්ට තේරුන් නැත්තන් මොන්ටිසෝරි බබෙක්ගෙන් උනත් කොහොමද ඒක කරේ කියන එක අහල ඉගෙන ගන්න. ප්රශ්නයක් අහල ඉගෙන ගන්න පුළුවන් වෙනව කියන එක හැම වෙලේම ලැබෙන අවස්ථාවක් නෙවෙයි ගොඩක් අයට. ඒ නිසා ලැබෙන චාන්ස් එකෙන් උපරිම ප්රයෝජන ගන්න.
Part 2
Post in thread 'තනියම ඉගෙන ගෙන Software engineer කෙනෙක් වෙන්න පුලුවන්ද?' https://elakiri.com/threads/තනියම-ඉ...r-කෙනෙක්-වෙන්න-පුලුවන්ද.2160365/post-29894279
සහ මේක හිතන තරම් අමාරු වැඩක් නෙවෙයි තමගෙ උනන්දුව තියෙනව නන්. හැබැයි හොදටම මතක තියාගන්න ඕනි මේක එහෙන් මෙහෙන් පොඩ්ඩ පොඩ්ඩ කරල නන් කරන්න පුළුවන් දෙයක් නෙවෙයි. සමහර කොටස් තියෙනව මාරම කම්මැලියි ඉගෙන ගන්න ඒ කොටස් ඉගෙන ගන්නකොට හිතෙනව ඇයි මේක මොකටද Software Engineer කෙනෙක් වෙන්න මේකෙන් මොනවත් සම්බන්ධයක් නෑනෙ කියලත්. ඒ උනාට ඒක එහෙම නෑ.
Software engineer කෙනෙක් කියන්නෙ ප්රයෝගික ගැටලුවකට Software එකක් භාවිතයෙන් විසදුමක් නිර්මාණය කරන කෙනෙක්ට. ඔයාල දන්නව විසදුමක් නිර්මාණය කරන්න නන් අනිවායෙන්ම අපිට ඒ ගැටලු සම්බන්ධව හොද අවබෝධයක් තියෙන්න ඕනි සහ එම ගැටලුව විසදන්න භාවිතා කලයුතු තාක්ෂණික ක්රමවේද ගැන අවබෝධයක් තියෙන්න ඕනි කියල. එතකොට ගැටලුවක් එන වෙලාවට අපිට සමහර කොටස් අලුතෙන් ඉගෙන ගන්න බෑ. එතකොට අපි ඒව කලින් ඉගෙන ගෙන ඉන්න ඕනි. හැම එකම අපිට ඉගෙන ගන්න බෑ ඒ උනාට අපි ඉගෙන ගන්න වෙලාවට සමහර මූලික කාරණා ඉගෙන ගෙන ඉන්න එක වැදගත්. මේ ගැන ටිකක් දීර්ඝ ලිපියක් මම කලින් ලියල තිබ්බ මෙතනින් ඒකත් බලන්න පුළුවන්. (Link)
මේක බොහෝ විට ලිපි රාශියකට පළවෙනි ලිපිය වෙයි. ලැබෙන ප්රතිචාර ඉල්ලීම් එක්ක මම හිතාගෙන් ඉන්නවට වඩා ලිපිත් ලියන්න වෙයි. කොහොම උනත් මගෙ මෝටිවේශන් එක මේක කාට හරි වැදගත් වෙයි කියන එක. මුලින්ම අපේ මාර්තුකාව වෙන්නෙ “Software engineer කෙනෙක් කියන්නෙ කවුද කියන එක සහ එයාගෙ වගකීම් මොනවද කියන එක”. මේක කොටස් තුනකට තමා ලියන්න බලාපොරොත්තු වෙන්නෙ.
මුලින්ම අපි බලමු Software engineer කෙනෙක් කියන Position එකේදී Company එක පැත්තෙන් මොනවද බලපොරොත්තු වෙන්නෙ කියන එක. මේක අපිට Technical සහ Non Technical කියල කොටස් දෙකකට බෙදන්න පුලුවන්.
technical කියන්නෙ අපි Software එකක් හදන්න ගියාම අවශ්යය වන දේවල් සහ Non Technical කියන්නෙ Software එකක් හදන්න ඕනි කරන දේවල් එකතු කරගන්න කලයුතු වැඩ සම්බන්ධයෙන් තියෙන හැකියාව. ඕකෙන් Interview එකකින් බලන්න පුළුවන් වැඩි පුරම technical හැකියාව විතරයි. Non Technical ඒව ගැන අදහසක් ගන්න පුළුවන් උනාට හරියටම දැනගන්න වෙන්නෙ මාසයක් දෙකක් වැඩ කරලම තමා. මේක නිසා සමහර වෙලාවට Company වලින් ජොබ් එක ස්ථිර කරන්න මාස දෙක තුනක් ගන්නව.
මොනවද මේ Technical Responsibilities.
Design and Development
Software engineer කෙනෙක් විදියට මෙතනදි වෙන්නෙ ඔයා ගැටලුවට software වලින් විසදුමක් ඉදිරිපත් කරන එක. මේක හරියට කරන්න බැරි නන් අනික් දෙවල් ගැන කතා කරන එකත් තේරුමක් නෑ. Software එකක Code වලින් කරන්න තියෙන්නෙ ඇත්තටම 40%ක් වගේ ඉතුරු 60% වෙන්නෙ තමන් විසදුම නිර්මාණය කරන විදිය.
මුලින්ම අපි දැනගන්න ඕනි අපි මේ Software එක හදල දෙන්නෙ කාටද කියන එක සහ එයා මොනවටද මේක භාවිතා කරන්නෙ කියන එක. මේ දේවල් වලට ගොඩක් වෙලාවට මේ වෙනකොට Company ඇතුලෙ Job role එකක් තියෙනව Business Analyst (BA) කියල මෙතනදි වෙන්නෙ හරියටම Client ඉල්ලන දේවල් පිළුවලකට එකතු කරගෙන ඒව Software engineer කෙනෙක්ට ගැලපෙන විදියට හදාගන්න එක. ඊට පස්සෙ මේ එකතු කරගත්ත දේවල් වලින් තමා අපි හදන්න ඕනි මොකද්ද කියන එක ගැන අදහසක් ගන්නෙ.
අපි එකතු කරගත්ත Requirement එකත් එක්ක දැන් අපි බලන්න ඕනි හරියටම මේ කියන දේවල් කොහොමද හදන්නෙ කියන එක. අපි හදන software එකේ මොනවද inputs output වෙන්නෙ සහ Process එක මොකද්ද කියන එක හරියටම අපි තේරුම් ගත්තොත් අපිට මේ වැඩේ ලේසියි. මේක අපිට ෆීල්ඩ් එකට ආව ගමන්ම පුළුවන් වෙන දෙයක් නෙවෙයි. මේක හරියටම තේරුම් ගන්න නන් අඩුම අවුරුදු 3,4කවත් එක්ස්පීරියන්ස් එකක් ඕනි. ඒක හදිසි වෙලා ගන්න පුළුවන් එකකුත් නෙවෙයි වැඩ කරගෙන ගිහින්ම තමා ගන්න පුළුවන්. එතකොට මේ කොටසට ගොඩක් Company වල සම්බන්ධ වෙන්නෙ Software Architecture, Project Manage, Senior Software engineer වගේ Job Roles එකක් හෝ කිහිපයක්. ඔතනදි හැදෙනව Document ගොඩක් ඒව සමහර ඒව අපි ආපහු Client ට දීල එයාගෙ අවසර ගන්නව සමහර ඒව Client ට දෙන්නෙ නෑ ඒව අපි ඇතුලෙ Software එක Develop කරන අයට Software එක ටෙස්ට් කරන QA ලට වගේ දෙනව.
ඔය Stage එකෙන් පස්සෙ තමා අපිට හරියටම code කරන්න පටන් ගන්න පුළුවන් වෙන්නෙ මේ වෙනකොට අපි Software එක හදන්න ඕනි Language, Framework, Platform වගේ දෙවල් සාකච්චා කරල තීරණය කරගෙන ඉවරයි. දැන් තියෙන්නෙ ටික ටික අපි අපේ විසදුම හදාගෙන යන එක.
මේ කොටසෙදි මුලදි සමහරවිට අපිට කරන්න වෙන්නෙ ගොඩක් අය එකතු වෙලා හදපු විසදුමක Code එක ලියන කොටස විතරක් වෙන්න පුළුවන්. එහෙම වෙන්න හේතුව තමා මේ කොටස තමා තියෙන වැදගත්ම කොටස අපි දෙන Software Solution එකේ. ඉතින් ඒක හරියට කරන්න නන් අපිට ඕනිම වෙන දෙයක් තමා Experience. Industry එකට ගිය ගමන්ම අපිට නැත්තෙත් ඕකනෙ.
ඔයා ෆීල්ඩ් එකට අලුත් නන් මේ කොටසදි වෙන හැම දෙයක්ම හොදට සිහියෙන් බලාගෙන ඉන්න. නොදන්න දේවල් තිබ්බොත් මුලින්ම් Search කරල බලන්න ඊට පස්සෙත් තේරෙන්නෙ නැත්තන් ChatGPT/Google Gemini වගේ AI එකකින් බලන්න එත් තේරෙන්නෙ නැත්තන් තමන්ගෙ Senior කෙනෙක්ගෙන් අහන්න. මේ කියපු ෆ්ලෝ එක හරිම වැදගත් අපේ දියුණුවට.
අපිට ඉක්මනට ගැටලුවක් විසදගන්න පුළුවන් ඒ සම්බන්ධයෙන් අත්දැකීම් තියෙන කෙනෙක්ගෙන් ඒක ඇහුවම. හැබයි එයාට ඒ අත්දැකීම් ආපු විදිය ඔයාට ඉගෙන ගන්න බෑ. IT Field එකේ වැදගත්මක කොටස තමා ඔයා ඇයි ඒ විසදුමට ආවෙ කියන එක. ඔයාට ඕනි තැනක ගිහින් කියන්න පුළුවන් වෙන්න ඕනි ඇයි මම එහෙම කරේ මොකද්ද ඒ ගත්ත තීරණය පිටිපස්සෙ තියෙන Logic එක කියන එක. මේ කොටස අහල ඉගෙනගන්න බෑ ඒකට ඔයත් ඒ පාරෙම යන්න ඕනි. ඔය මම කිව්වෙ ඒක ඉගෙන ගන්න යන පාර. සමහර වෙලාවට අපිට ඉක්මනට විසදගන්න ඕනි වෙලාවට Senior කෙනෙක්ගෙන් අහන්නත් වෙලාව තියෙනව නන් ඔය කිව්ව විදියට කරන එකත් තීරණය කරන්න ඕනි තමන් තමා. හිර වෙලා තියෙන වැඩක් අස්සෙ ඕක තනියම කරන්න යනව කියන එක ටීම් එකටම බලපාන්න පුළුවන් දෙයක් නිසා ඒව ගැනත් සැලකිලිමත් වෙලා ඔය වැඩේ කරන්න.
ඇත්තටම ෆීලඩ් එකට අලුත් වෙන්න ඕනිම නෑ මම උනත් මේ කොටසෙදි තාම අලුත් දේවල් ඉගෙන ගන්නව අපි එක්ක වැඩ කරන Inten ලගෙන් පවා. බය නැතුව තමන්ට තේරුන් නැත්තන් මොන්ටිසෝරි බබෙක්ගෙන් උනත් කොහොමද ඒක කරේ කියන එක අහල ඉගෙන ගන්න. ප්රශ්නයක් අහල ඉගෙන ගන්න පුළුවන් වෙනව කියන එක හැම වෙලේම ලැබෙන අවස්ථාවක් නෙවෙයි ගොඩක් අයට. ඒ නිසා ලැබෙන චාන්ස් එකෙන් උපරිම ප්රයෝජන ගන්න.
Part 2
Post in thread 'තනියම ඉගෙන ගෙන Software engineer කෙනෙක් වෙන්න පුලුවන්ද?' https://elakiri.com/threads/තනියම-ඉ...r-කෙනෙක්-වෙන්න-පුලුවන්ද.2160365/post-29894279
Last edited:


