Hapo kwenye red, em naomba uniambie huo utofauti mkubwa kati ya hivyo vitu vitatu, hizo ni titles zimewekwa na enterprise tu, watu wa Human resources kujaribu kutofautisha mishahara ya watu tu ila any programmer anafanya yote anayofanya software developer na software engineer, they all make software, hakuna tofauti hapo. Wote wanafanya kitu kilekile wote wamejifunza tools zilezile.
Katika hizi kampuni zetu ndogo au project zetu ndogo mara nyingi hakuna tofauti kati ya programer na Software Engineer au Developer, na kwa jinsi hiyo nakubaliana nawe kwa 90% tofauti inakuwa kama majina tu. Lakini kwa large Software Firm Programmer ni tofauti sana na Software Engineer. Kwanza tafuta vizuri maana ya Engineer, S/W Engineer anaweza kuwa Programmer lakini Programmer anaweza kuwa hana sifa au qualification ya kuwa S/W enginneer by definition of engineer. Ipo hivi kwa kampuni zinzo fuata weledi wa kazi:
Software Engineer: Anafanya design zote, ana forecast system failure zote, ana minimize hizo mapungufu, Anatafuta Algorithms ambazo ni efficient in terms of System Memory, Execution Time, Storage space, in general system resources zitumike vizuri and safely. Eg. Kama system inafanya kazi za file manipulations sasa atachagua atumie Buffered reader au Stream reader? he will make decission depending on the available H/W and S/W resources. Sasa hizi sio kazi za Programmer. You can take just a form 4 leaver and train to be a programmer (coder) within few months but he will not qualify to be an engineer for that period. You can even take someone with social science e.g HGL and train to be a programmer. A matter of memorizing the syntax and some few routines of "HOW TO .."
Programmer: Yeye atachukua kazi Engineer (yaani zile designs) kisha ataenda kufanya design implementations. He doesn't have to spend much of his time trying to figure out all the details mentioned above in the S/W engineer section. Sometimes or very often these guys are the best in coding than software engineers. Just best in Coding/programming. They are fluent in specific Programming languages. You just show them the designs may be in Use case, ERD, Pseudo codes of the algorithms, or Interfaces (Not GUI) of the classes to be implemented they just hit a road right away!!!.
Developer: Some where between S/W and Programmer. But these guys are good at coding too. Nikipata muda nitaleta articles hapa za tofauti ya hawa jamaa.
NOTE: Naweza kuwa nimekosea lakini naomba nirekebishwe tu maana hapa hatubishani ila tunaelimishana na kujifunza. Sio kwamba mimi nipo vizuri au najua sana.
Mimi sijasomea Software Engineering nimesoma Degree ya Computer Science. Kwa hivyo maoni yangu hayaja egemea ktk ego ya kuona S/W Enginner ndio best kuliko wengine japo interms of Designs Patterns ukweli ndio huo hawa jamaa kama yupo vizuri upstairs and professionally anatakiwa awe the best.