What Are The Best Skills To Have As a Programmer?

Discussion in 'Computers' started by Asclepias, Aug 1, 2018.

  1. Asclepias
    Offline

    Asclepias Diamond Member

    Joined:
    Aug 3, 2013
    Messages:
    89,350
    Thanks Received:
    7,791
    Trophy Points:
    1,830
    Location:
    Breathing rarified air.
    Ratings:
    +30,573
    Thinking of getting into programming seriously. I have dabbled in some programming but that was always a side skill to better assist me in my main skill. I think trouble shooting/debugging would be a major one. Discuss
     
  2. BuckToothMoron
    Offline

    BuckToothMoron Gold Member

    Joined:
    Apr 3, 2016
    Messages:
    7,040
    Thanks Received:
    1,276
    Trophy Points:
    290
    Ratings:
    +7,130
    I think you’re on target with troubleshooting for sure. The ability to think outside of the box or mental flexibility. Most problems have several solutions, so the ability to recognize alternative paths would be helpful. Good luck, plenty of well paying IT/programming gigs out there. You should do well.
     
    • Thank You! Thank You! x 1
    • Agree Agree x 1
  3. miketx
    Offline

    miketx Diamond Member

    Joined:
    Dec 25, 2015
    Messages:
    53,401
    Thanks Received:
    6,037
    Trophy Points:
    1,870
    Ratings:
    +60,970
    Excellent memory, plus be sure to use comments because when you write some code and look at it six months later you might not know what it does. Here's a simple on I wrote years ago that turns a word into a phone number. You know sometimes people translate their phone number into a name or word, for example the Fort Worth Star Telegram's number is 1-800-deliver. This was written as a DOS command line program.


    $COMPILE EXE

    DEFINT a-z

    clp$ = COMMAND$

    IF RTRIM$(clp$) = "" THEN

    CLS

    PRINT

    PRINT "USAGE:"

    PRINT "PHONLTR + The letters or words comprising the phone number."

    PRINT "EXAMPLE: PHONLTR deliver"

    PRINT

    END

    END IF


    strlen% = LEN(clp$)

    IF LEFT$(clp$,1) = "1" THEN clp$ = RIGHT$(clp$,strlen%-1)


    FOR j% = 1 TO LEN(clp$)

    letter$ = MID$(clp$,j%,1)

    get_number letter$

    NEXT


    result$ = RTRIM$(result$)


    SELECT CASE LEN(result$)

    CASE 7

    result$ = LEFT$(result$,3)+"-"+RIGHT$(result$,4)

    CASE 10

    result$ ="1-"+ LEFT$(result$,3)+"-"+MID$(result$,4,3)+"-"+RIGHT$(result$,4)

    CASE ELSE

    FOR j% = 1 TO LEN(result$)

    t$ = MID$(result$,j%,1)

    IF j% <> LEN(result$) THEN

    target$ = target$+t$+"-"

    ELSE

    target$ = target$+t$

    END IF

    NEXT

    result$ = target$

    PRINT "The phone letters used generate a non-standard phone number length."

    END SELECT


    PRINT

    PRINT "The number is ";result$

    PRINT "--------------"+STRING$(LEN(result$),"-")


    END


    SUB get_number(letter$)


    SHARED result$

    letter$ = UCASE$(letter$)


    SELECT CASE letter$

    CASE "-"

    EXIT SUB

    CASE "1","2","3","4","5","6","7","8","9","0"

    number$ = letter$

    CASE "A","B","C"

    number$ = "2"

    CASE "D","E","F"

    number$ = "3"

    CASE "G","H","I"

    number$ = "4"

    CASE "J","K","L"

    number$ = "5"

    CASE "M","N","O"

    number$ = "6"

    CASE "P","Q","R","S"

    number$ = "7"

    CASE "T","U","V"

    number$ = "8"

    CASE "W","X","Y","Z"

    number$ = "9"

    CASE ELSE

    number$ = number$

    END SELECT

    result$ = result$ + number$

    EXIT SUB


    END SUB
     
    • Informative Informative x 1
    Last edited: Aug 1, 2018
  4. night_son
    Offline

    night_son Gold Member

    Joined:
    Jun 12, 2018
    Messages:
    2,780
    Thanks Received:
    762
    Trophy Points:
    290
    Location:
    The Full Moon
    Ratings:
    +3,242
    Visualizing and brainstorming, particularly if you're going object oriented. The ability to map out what a client needs the software to do, and then organize/map a diagram. Memory usage. Not as much of a project constraining show killer as fifteen years ago with today's hardware, but efficient memory use will save you lots of problems downstream. That means if applicable get to know your pointers. Memory leaks are fun. Always search for potential Dynamically Linked Libraries, one, to learn how everything works together, and two, why write foundational or supporting code when someone open sourced something you can already use. If you're getting into C++ it pays to understand the power of the potential for user defining just about any layer of the language. Being a visual mathematician helps. Learn to write and reference efficient arrays. Lastly, always comment, always make the comments neat and readable.

    I also program as a support skill. Been doing it for about twenty years.
     
  5. CrusaderFrank
    Offline

    CrusaderFrank Diamond Member

    Joined:
    May 20, 2009
    Messages:
    98,601
    Thanks Received:
    18,063
    Trophy Points:
    2,220
    Location:
    NYC
    Ratings:
    +63,112
    Nunchuck skills
    Computer hacking skills
     
  6. Asclepias
    Offline

    Asclepias Diamond Member

    Joined:
    Aug 3, 2013
    Messages:
    89,350
    Thanks Received:
    7,791
    Trophy Points:
    1,830
    Location:
    Breathing rarified air.
    Ratings:
    +30,573
    Ever use Python?
     
  7. night_son
    Offline

    night_son Gold Member

    Joined:
    Jun 12, 2018
    Messages:
    2,780
    Thanks Received:
    762
    Trophy Points:
    290
    Location:
    The Full Moon
    Ratings:
    +3,242
    Sorry, not enough to give sound advice.
     
    • Informative Informative x 1
  8. Asclepias
    Offline

    Asclepias Diamond Member

    Joined:
    Aug 3, 2013
    Messages:
    89,350
    Thanks Received:
    7,791
    Trophy Points:
    1,830
    Location:
    Breathing rarified air.
    Ratings:
    +30,573
    I had a guy that claimed to be a programmer tell me you dont need to trouble shoot in programming. So I asked him how do you work out the bugs? His answer was that you write it perfect the first time. Does that make sense?
     
  9. my2¢
    Offline

    my2¢ So it goes.

    Joined:
    May 14, 2010
    Messages:
    6,762
    Thanks Received:
    901
    Trophy Points:
    275
    Location:
    State 48
    Ratings:
    +4,070
    Graduated with BS in Computer Science back in '76 and so I don't know how much this still longer applies. I'll try to make it general. Off the top of my head:

    #1 Did you enjoy high school geometry? I found the theorems and proofs a blast to solve, and a great exercise in logical thinking. The only things a computer knows are 0's and 1's and the programmer provides the logic.

    #2 Concerning bugs: Back in my mainframe COBOL days along with writing new programs I also provided maintenance to older programs. Spent many pre-dawn hours with a core dump at my desk while the operators in the computer room waited for a program fix. The inconvenient hours weren't bad because I was young and single, and I found the investigation fun but only if I knew the business side of the system involved (accounting, ordering, payroll, etc). Not knowing the business side didn't prevent me from fixing the error, just that knowing the role of the application system gave me clues about the purpose of the program and what it was trying to accomplish.

    #3 Business skills: As I just wrote, knowing the business side of what the program is meant to perform is a tremendous asset. So knowing what sort of corporate businesses you'd like to support would be very helpful. It will guide whether you hit the studies on general ledger accounting, payroll, industrial technology, gaming, insurance, utilities, etc.

    #4 Communication skills: At first it isn't so much speaking and giving presentations. In programming so much is dependent on listening and asking pertinent questions. Especially having patience with non-technical folks who can barely explain what they want but can only picture it.

    Out of college I got my first programming job which paid $10,700 a year. After a year-and-half on the job and a few raises in a one-one with my boss he said I was earning too much to program, explained they could hire kids out of college to do that (like they did with me). He then said he had me down to advance to an analyst position. #1 and #2 above will get you a job. #3 and #4 will help turn the job into a career. At least that's how it worked out for me.
     
    Last edited: Aug 2, 2018
  10. iamwhatiseem
    Offline

    iamwhatiseem Gold Member

    Joined:
    Aug 19, 2010
    Messages:
    19,863
    Thanks Received:
    4,152
    Trophy Points:
    280
    Location:
    On a hill
    Ratings:
    +11,570
    Enormous patience and willingness to sit in one spot for hours on end...only for something to not work...and keep going. And going.
    Above average intelligence.
    Having ADD is a major plus. Major. real ADD, not the over diagnosed pretend ADD.
     

Share This Page