What Are The Best Skills To Have As a Programmer?

Asclepias

Diamond Member
Aug 3, 2013
114,820
18,662
2,195
Breathing rarified air.
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
 
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

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.
 
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
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
 
Last edited:
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

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.

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.
 
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

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.

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.
Ever use Python?
 
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

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.

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.
Ever use Python?

Sorry, not enough to give sound advice.
 
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?
 
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:
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.
 
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
Self lerner, I think is the most
 
If you want to be a programmer then you must know mostly all the programming language like - C, C++, Python and other languages and only then you will be called a pro programmer.
 

Forum List

Back
Top