Friday, October 21, 2016

It was the last day of attending my current company



I am so glad to be part of the new company.  

I've read part of the codes provided as open source, and these were really sophisticated, smart, intellectually stimulative,  and makes me excited.

Probably I am weird in my own country for indigenous language often looks nothing but contraption, for instance, I had to convert each indigenous documents or conversations into international one for it is really hard to process logically in my cranium originally.

Sometimes I encountered with a sort of culture shock in Japanese technical community, for they have their own indigenous customs. They loved excel. Verbose coding. Verbose document handling.

Auto-testing or regression test never existed. They wrote each test cases and corresponding dataSets, expectations, and commands in excel spread sheets. It was totally insane for me so I personally implemented regression test in Python. (terminal-base development is worthy because it is easy to be automated).

If you have thousand test cases, these have to be examined with a single hit of Enter button, nothing more, nothing less. If the labor or academic approach to eliminate the repetitive manual operations is spared, and if the expert guy who is so good at handling bulk of manual repetitions would be regarded as "bonus est", the workplace is never gonna be an ecosystem attractive to highly-skilled or well-sophisticated developers/engineers, in my arrogant opinion.

I am sloppy guy, my cranium forgets details often. But because of this biological facts, my development and coding never trust human memory. It always take the possibilities of human errors into account. This is my belief in coding.

Productivity is correlated with the laziness. You do not want to repeat something, then you make something as script. You do not want checking errors, then you simulate the review process with coding.

If you are not lazy, you never question what you are doing. You never question the repetition and bulk of operations and information which you keep in your cranium.

Code syntax have to be precisely written because you are lazy enough not want to memorize these.
If you gonna memorize these bulk of information, you are bureaucratic Japanese Software Engineer.

If there is the following database (example):

Table : SALES
Column1: BALANCE
Column2:  INCOME
Column3:  EXPENSE
Column4: TRANSACTION_ID

methodName
  getEmployeeName()
  getLastDateUpdated()
  isDateTimeBeforeChristmas()

In Japan, you see the following syntax:

Tables: URIAGE
Column1: URIAGE_BLNC
Column2: URIAGE_INC
Column3: URIAGE_EXPNS
Column4: URIAGE_TRNS_ID

methodName
  getEmpName()
  getLstDateUpd()
  isDtChrm()


... This occurs everywhere and the reason why thousands of failures and unnecessary extra work hours of my people happens is this indigenous way of syntax. (I know the abbreviation required sometimes, but the flood of Japanese abbreviations collapses everything)

Excel, Excel, Excel... Many Japanese Engineers are totally religious to excel.  Often misspelled and misused English terms are found anywhere and allows verbose coding, on the other hand, their mindsets are very precise and detail-nazi (but write the same code everywhere at the same time). It is one of the biggest problem in our indigenous technical society.

No comments:

Post a Comment