Sponsored Content
The Lounge What is on Your Mind? I'll probably never be the best in the field... Post 303032107 by Neo on Monday 11th of March 2019 03:10:46 PM
Old 03-11-2019
Quote:
Originally Posted by bakunin
"CODE, CODE, CODE", as Neo suggested is very sound advice. Not because the world needs more code but because the world needs more good coders - especially to replace all the bad code that is already in place. The more you learn and exercise the application of the rules the faster your eye will develop that hard to describe "understanding of good versus bad" code.
Actually, coding is great for the human mind. Coding teaches people to think logically and is beneficial for human development in many ways and here are just a few examples:
  • Coding teaches people to think logically in a step-by-step way.
  • Coding teaches people to break large problems down into smaller components.
  • Coding teaches people how to organization large complex problems.
  • Coding teaches and reinforces math and language skills.
  • Coding facilitates creative thought.

Of course there are more benefits for coders than in the small bullet list above. I am talking about writing code to solve a real world problem, not just small exercises and theory. The skills developed by coding real-world projects are skills which can be used in every walk of life and in most all careers. Coding is just digital art, not very different than any art or literature. Coding is something to feel good about. Coders are modern day artists.

I want to push back strongly on any negative view of "coders" with a somewhat relevant (but maybe not, LOL) story from my past on Wall Street.

In and around 1997, I worked as a very senior cybersecurity consultant for many clients including banks on Wall Street. I lived in the Northern Virginia area and flew up and back from NY to the DC area a few times a week, sometimes in very scary seasonal weather.

One spring day as I recall, I was called to immediately fly up to NY because a major bank (one of my clients) was in the newspaper for a "fat client crypto breach" and I was called into the bank to help the bank address and fix the problem.

When I arrived, many people were yelling and the stress level was very high. The managers had assembled many department heads and team members into a smallish room and they were waiting for me around the table; and of course there were the normal "what took you so long to get here" comments from bank vice presidents so familiar when doing business in NYC.

At the whiteboard, I asked people around the table to describe the problem and I white-boarded the system architecture, step-by-step, as they all chimed in, some shy to speak up.

This brainstorming and analysis went on and on, with me at the whiteboard, for about 3 hours as I recall as we detailed the code and the various crypto algos on the board. There was some debate about how to proceed because of "the bad code" (as some people like to say), and so I asked the bank "Do you have the phone number of the original coder? If so, let's call and talk to him right now".

We got him on the speaker phone (he was no longer with the bank as I recall) and I asked him if he was under pressure to get the code out quickly and what was the process at that time and what would he do different if he had to do it over again. He told us he was under great pressure by management to get the code out and it was certainly far from perfect and could (and should) be better and he agreed with me that a new set of underlying crypto libs were the best solution. Everyone in the room was happy, understood the problem, their roles in the solution, and the tension and stress level went from a 10++ to a 3 and everyone then knew what they had to do.

After the meeting, one of the bank VPs pulled me aside in the hallway outside the meeting room door, and I thought he was going to compliment me on my great team building and problem solving skills. Wow! Surprise! I was wrong!

The VP told me that is was obvious that I knew early on what the solution was and he was very unhappy I wasted the banks precious time and money "team building" and "getting buy-in" and ripped me a new one.

However, I knew in my heart that they would call me back often, and they did, and they paid us big bucks. The bank quickly solved the crypto issue and all was good on Wall Street, at least for a few hours. The bank issued a press release, the fix was done by the next day. When they are yelling at you in NYC, that means they like you. It's when they don't talk to you or yell at you is when you should worry.

My point is, if there is a point to my word in a forum, as I mentioned in my earlier post, is that commercial code is generally written under heavy constraints. Sometimes it is a time constraint or a money constraint. Sometimes people are being yelled at by managers to get the app out ASAP and are being threatened to be fired if they don't get the code done yesterday. (I can tell stories about game programmers in Japan I knew personally living under their desks for months at a time because they could not go home or they would lose their job. They were not permitted to even shower.).

I learned a long, long time ago to never look at code before me and judge it as "bad code" because we generally do not know the constraints the prior coder was working under. In Japan, game programmers live under their desks for months to meet deadlines. They are exceptions of course, but few people create "bad code" on purpose with malicious intent (except the bad actors who write malicious code, of course).

Code is code and real commercial code is written for real applications in real commercial production systems where time and money rule, generally speaking. Very few coders have the luxury to write 'elegant code' which is 'pretty' and 'nice' or 'meeting perfect standards' and nor is most commercially code 'perfectly optimized' because businesses have time and resource constraints, and after getting one app out the door, they are directed or required to write another app, and have it done yesterday. Businesses do not code for the sake of coding

I have never considered myself a great coder but I have a lot of commercial code running over the years that solves real-world problems and some might call it all "bad code" but I could care less. I do not write code for theory or to please others, or to meet some standard set by others, I write code to solve real world problems and to create real applications. I don't write code for the sake of writing code.

If anyone wants to code, I have a lot of great project to work on but they all require modern software tools and libs like Vue. js and Javascript, GitHub and Postman, and even though I use VI every day of my life, most of my code is written in an IDE like Visual Studio Code (actually in VSC) and I test all API calls using tools like Postman; and tend to use modern tools because they make us very productive and very fast developers.

For everyone who writes web-based code and apps, I recommend you download and install, at least:
  • Visual Studio Code
  • Postman

Most mornings I open the following workspaces with my fresh brewed coffee:
  • Virtual Desktop 1: Four command line terminals in a single screen in a 2 x 2 matrix.
  • Virtual Desktop 2: One large terminal window, full screen size.
  • Virtual Desktop 3: Visual Studio Code
  • Virtual Desktop 4: Postman
  • Virtual Desktop 5: Chrome (browser)
  • Virtual Desktop 6. GitHub

Well, I'm done talking for now... Smilie .

I might guess everything I just wrote is not very useful, but at least I remembered and told a story Wall Street story from 22 years ago.

Cheers.
These 2 Users Gave Thanks to Neo For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sort alpha on 1st field, numerical on 2nd field (sci notation)

I want to sort alphabetically on the first field and sort in descending numerical order on the 2nd field. With a normal "sort -r -n" it does this: abc ||| 5e-05 ||| bla abc ||| 3 ||| ble def ||| 1 ||| abc def ||| 0.2 ||| def As you can see it ignores the fact that 5e-05 is actually 0.00005... (1 Reply)
Discussion started by: FrancoisCN
1 Replies

2. Shell Programming and Scripting

awk, comma as field separator and text inside double quotes as a field.

Hi, all I need to get fields in a line that are separated by commas, some of the fields are enclosed with double quotes, and they are supposed to be treated as a single field even if there are commas inside the quotes. sample input: for this line, 5 fields are supposed to be extracted, they... (8 Replies)
Discussion started by: kevintse
8 Replies

3. Shell Programming and Scripting

AWK: Pattern match between 2 files, then compare a field in file1 as > or < field in file2

First, thanks for the help in previous posts... couldn't have gotten where I am now without it! So here is what I have, I use AWK to match $1 and $2 as 1 string in file1 to $1 and $2 as 1 string in file2. Now I'm wondering if I can extend this AWK command to incorporate the following: If $1... (4 Replies)
Discussion started by: right_coaster
4 Replies

4. Shell Programming and Scripting

Plz Help. Compare 2 files field by field and get the output in another file.

Hi Freinds, I have 2 files . one is source.txt and second one is target.txt. I want to keep source.txt as baseline and compare target.txt. please find the data in 2 files and Expected output. Source.txt 1|HYD|NAG|TRA|34.5|1234 2|CHE|ESW|DES|36.5|134 3|BAN|MEH|TRA|33.5|234... (5 Replies)
Discussion started by: i150371485
5 Replies

5. Linux

How do I format a Date field of a .CSV file with multiple commas in a string field?

I have a .CSV file (file.csv) whose data are all enclosed in double quotes. Sample format of the file is as below: column1,column2,column3,column4,column5,column6, column7, Column8, Column9, Column10 "12","B000QRIGJ4","4432","string with quotes, and with a comma, and colon: in... (3 Replies)
Discussion started by: dhruuv369
3 Replies

6. Shell Programming and Scripting

Command/script to match a field and print the next field of each line in a file.

Hello, I have a text file in the below format: Source Destination State Lag Status CQA02W2K12pl:D:\CAQA ... (10 Replies)
Discussion started by: pocodot
10 Replies

7. Shell Programming and Scripting

Display combination of 4 field uniqe record and along with concatenate 5th and 6th field.

Table ACN|NAME|CITY|CTY|NO1|NO2 115|AKKK|ASH|IND|10|15 115|AKKK|ASH|IND|20|20 115|AKKK|ASH|IND|30|35 115|AKKK|ASH|IND|30|35 112|ABC|FL|USA|15|15 112|ABC|FL|USA|25|20 112|ABC|FL|USA|25|45 i have written shell script using cut command and awk programming getting error correct it and add... (5 Replies)
Discussion started by: udhal
5 Replies

8. Shell Programming and Scripting

awk to adjust coordinates in field based on sequential numbers in another field

I am trying to output a tab-delimited result that uses the data from a tab-delimited file to combine and subtract specific lines. If $4 matches in each line then the first matching sequential $6 value is added to $2, unless the value is 1, then the original $2 is used (like in the case of line... (3 Replies)
Discussion started by: cmccabe
3 Replies

9. Shell Programming and Scripting

awk to update field using matching value in file1 and substring in field in file2

In the awk below I am trying to set/update the value of $14 in file2 in bold, using the matching NM_ in $12 or $9 in file2 with the NM_ in $2 of file1. The lengths of $9 and $12 can be variable but what is consistent is the start pattern will always be NM_ and the end pattern is always ;... (2 Replies)
Discussion started by: cmccabe
2 Replies

10. UNIX for Beginners Questions & Answers

Problem with getting awk to multiply a field by a value set based on condition of another field

Hi, So awk is driving me crazy on this one. I have searched everywhere and read man, docs and every related post Google can find and still no luck. The actual files I need to run this on are sensitive in nature, but it is the same thing as if I needed to calculate weighted grades for multiple... (15 Replies)
Discussion started by: cotilloe
15 Replies
All times are GMT -4. The time now is 06:33 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy