Learn To Code? Visualizing The Decline Of American Software Developer Jobs

Source: https://www.zerohedge.com/technology/learn-code-visualizing-decline-american-software-developer-jobs
Published: Mar 15, 2025
Author: Tyler Durden
Post Date: 2025-03-15 07:55:30 by Horse
Views: 2777

by Tyler Durden

The surge in tech hiring in the U.S. in 2021 and 2022 represented one of the most aggressive talent grabs in industry history, only to be followed by widespread layoffs and hiring freezes as economic headwinds and post-pandemic corrections hit the sector.

This dramatic swing has reshaped the software development job market, leaving both companies and developers to navigate a new landscape of cautious growth and strategic hiring.

This graphic, via Visual Capitalist's Kayla Zhu, shows the percent change in software development job postings on Indeed U.S. since Feb. 1, 2020 to Feb. 28, 2025.


Poster Comment:

44 years ago I learned to program IBM computers in assembly language. When I entered 3rd grade, Harry Truman was President of the US.

Post Comment   Private Reply

#1: Pinguinite    To: Horse (#0)

Well, that would explain what I'm seeing in the job market right now.

I had an assembly programming course in college. But before that, I programmed in binary. My Dad bought me a computer on a circuit card. It had a row of red LEDs, 16 for the address, and 8 for data. That was the monitor. The keyboard consisted of two rows of electric contact pads next to each of the 24 LEDs so I could switch each LED to on or off.

I programmed it to multiply 2 numbers. I showed my achievement to my Mom, with the answer clearly shown in binary form on the LEDs. She wasn't very impressed.

I think going forward the programming profession is going to be wiped out by AI. Just ask an AI to make a program that flawlessly plays tic tak toe and it's done in seconds. All us programmers are and have ever been are intepreters between end users and computers, making them do what people want though the art & science of programming. But programming tools have evolved to increase efficiency and the end result of that will be no more need for human programmers. People just tell AI what they want a program or even a computer to do and it will do it.

Pinguinite posted on 2025-03-15 16:25:17   Reply   Private Reply


#2: Horse    To: Pinguinite (#1)

I saw Musk's AI, Grok, very impressed by it. Microsoft stopped their AI after Musk revealed his.

Horse posted on 2025-03-15 17:12:26   Reply   Private Reply


#3: Dakmar    To: Pinguinite (#1)

I had an assembly programming course in college. But before that, I programmed in binary.

That is hardcore Neil, it sounds like you were an enthuisiast very early on. I started out with BASIC on TRS80 in High School in 1982 or so. But it wasn't until 1987 that I was able to get real training, which started out in BASIC, but also was two semesters of COBOL, and an independent project, which I used to learn C. It was early on, during that late DOS period that I ever messed with assembler code. What I learned was I don't ever have to write in assembler.

My Dad bought me a computer on a circuit card. It had a row of red LEDs, 16 for the address, and 8 for data.

I remember the one my father gave me, like a 30 in 1 kit with resistors, capacicitors, and variable versions on both, along with lights, and a meter thing. All in a wooden tray, with springs to connect the wires as called for. This was before the LED ones came out, but one of my friends got the LED version a couple years later, probably as a Christmas present from his Dad.

Tandy/Radio Shack. They were sold as kits, with a booklet showing which spring hookups to wire together for different applications, although there were a lot that were just variations on a theme.

Dakmar posted on 2025-03-15 17:34:42   Reply   Private Reply


#4: ghostrider    To: Pinguinite (#1)

I think going forward the programming profession is going to be wiped out by AI. Just ask an AI to make a program that flawlessly plays tic tak toe and it's done in seconds. All us programmers are and have ever been are intepreters between end users and computers, making them do what people want though the art & science of programming. But programming tools have evolved to increase efficiency and the end result of that will be no more need for human programmers. People just tell AI what they want a program or even a computer to do and it will do it.

Sounds like there is a good chance that "Deep Though" will work out the answer really is 42.

ghostrider posted on 2025-03-15 18:10:15   Reply   Private Reply


#5: Dakmar    To: ghostrider (#4)

Kamala running for POTUS came as close to ultimate improbability as I ever wish to experience.

Dakmar posted on 2025-03-15 18:19:07   Reply   Private Reply


#6: ghostrider    To: Dakmar (#5)

Real tricky part is coming up with a sitting bicranial president. Yes, what propulsion the Heart of Gold could muster. Even greater still the odds of her winning.

ghostrider posted on 2025-03-15 18:28:37   Reply   Private Reply


#7: Pinguinite    To: ghostrider (#4)

Just tested my theory out with Grok.

I asked this:

Give me a console based python program that will play tic tac toe flawlessly except for every 3rd game, which it can lose.

It replied:

===================================

Here's a Python program that implements a tic-tac-toe game where the computer plays perfectly except for every 3rd game, where it intentionally makes a suboptimal move to potentially lose: python

import random import os

class TicTacToe: def __init__(self): self.board = [' ' for _ in range(9)] self.game_count = 0

def print_board(self): os.system('cls' if os.name == 'nt' else 'clear') for i in range(0, 9, 3): print(f"{self.board[i]} | {self.board[i+1]} | {self.board[i+2]}") if i < 6: print("-" * 9)

def available_moves(self): return [i for i, spot in enumerate(self.board) if spot == ' ']

def is_winner(self, player): win_conditions = [ [0, 1, 2], [3, 4, 5], [6, 7, 8], # Rows [0, 3, 6], [1, 4, 7], [2, 5, 8], # Columns [0, 4, 8], [2, 4, 6] # Diagonals ] return any(all(self.board[i] == player for i in condition) for condition in win_conditions)

def is_board_full(self): return ' ' not in self.board

def minimax(self, is_maximizing, depth=0): if self.is_winner('X'): return -10 + depth if self.is_winner('O'): return 10 - depth if self.is_board_full(): return 0

if is_maximizing: best_score = -float('inf') for move in self.available_moves(): self.board[move] = 'O' score = self.minimax(False, depth + 1) self.board[move] = ' ' best_score = max(score, best_score) return best_score else: best_score = float('inf') for move in self.available_moves(): self.board[move] = 'X' score = self.minimax(True, depth + 1) self.board[move] = ' ' best_score = min(score, best_score) return best_score

def best_move(self, lose_mode=False): if lose_mode and self.available_moves(): # Make a suboptimal move by choosing randomly from non- winning moves moves = self.available_moves() return random.choice(moves)

best_score = -float('inf') best_move = None for move in self.available_moves(): self.board[move] = 'O' score = self.minimax(False) self.board[move] = ' ' if score > best_score: best_score = score best_move = move return best_move

def play_game(self): self.game_count += 1 self.board = [' ' for _ in range(9)] lose_mode = (self.game_count % 3 == 0)

while True: # Player's turn self.print_board() while True: try: move = int(input("Enter your move (0-8): ")) if 0 <= move <= 8 and self.board[move] == ' ': break print("Invalid move!") except ValueError: print("Please enter a number!")

self.board[move] = 'X'

if self.is_winner('X'): self.print_board() print("You win!") break if self.is_board_full(): self.print_board() print("It's a tie!") break

# Computer's turn computer_move = self.best_move(lose_mode) self.board[computer_move] = 'O'

if self.is_winner('O'): self.print_board() print("Computer wins!") break if self.is_board_full(): self.print_board() print("It's a tie!") break

def main(): game = TicTacToe() while True: game.play_game() play_again = input("Play again? (y/n): ").lower() if play_again != 'y': break print(f"Games played: {game.game_count}")

if __name__ == "__main__": main()

===================================

Pinguinite posted on 2025-03-15 18:38:05   Reply   Private Reply


#8: Pinguinite    To: All (#7)

And I ran it and played 3 games. Won the 3rd.

Pinguinite posted on 2025-03-15 18:41:30   Reply   Private Reply


#9: Pinguinite    To: Dakmar (#3)

Yes, the TRS-80. Affectionately called "Trash 80" computers.

I remember programming basic on one and getting half way done and then having my entire program wiped out. Apparently the button called "New" would reset the programming environment! And that very convenient button was located right beside the "Enter" button. And I kid you not!

Later versions improved on that. I also remember saving programs on a cassette tape.

Pinguinite posted on 2025-03-15 18:45:29   Reply   Private Reply


#10: Dakmar    To: Pinguinite (#9)

having my entire program wiped out.

We were recording our classwork on cassettes, but even that was iffy and forget about trying to do any sort of search.

Dakmar posted on 2025-03-15 18:50:37   Reply   Private Reply


#11: Dakmar    To: Pinguinite (#7)

I get the gist of what that code is doing.

I've never really had any reason to write gaming software, so the inner iterations hurt my brain.

Dakmar posted on 2025-03-15 19:03:06   Reply   Private Reply


#12: Pinguinite    To: Dakmar (#11)

Well, now you don't have to read the code any more. I didn't. I just asked for a program as anyone would a programmer and it spit this right out.

Pinguinite posted on 2025-03-15 19:13:37   Reply   Private Reply


#13: Dakmar    To: Pinguinite (#7)

def is_winner(self, player): win_conditions = [ [0, 1, 2], [3, 4, 5], [6, 7, 8], # Rows [0, 3, 6], [1, 4, 7], [2, 5, 8], # Columns [0, 4, 8], [2, 4, 6] # Diagonals ] return any(all(self.board[i] == player for i in condition) for condition in win_conditions)

With a little effort, that could be re-used as part of a teaching course on writing VBA macros in Excel.

It's all just 0 and 1, after all :)

Dakmar posted on 2025-03-15 19:14:02   Reply   Private Reply


#14: Dakmar    To: Pinguinite (#12)

I just asked for a program as anyone would a programmer and it spit this right out.

That funny. I usually start hairy VBA macros with "record macro" and see what's there once I hit Stop. Sometimes it's as simple as replacing hardcoded ranges with .cell coordinates.

Dakmar posted on 2025-03-15 19:18:07   Reply   Private Reply


#15: Pinguinite    To: Dakmar (#10)

I know this is kind of old news these days, as there's so much AI imagery on social media. But to actually have AI do what YOU ask for is a bit of an experience.

Pinguinite posted on 2025-03-15 19:22:45   Reply   Private Reply


#16: Dakmar    To: ghostrider, Esso (#13)

def is_winner(self, player): win_conditions = [ [0, 1, 2], [3, 4, 5], [6, 7, 8], # Rows [0, 3, 6], [1, 4, 7], [2, 5, 8], # Columns [0, 4, 8], [2, 4, 6] # Diagonals ] return any(all(self.board[i] == player for i in condition) for condition in win_conditions)

TikTikTik, still waiting on that USAID grant to teach horrible old women to use staple guns.

Dakmar posted on 2025-03-15 19:24:06   Reply   Private Reply


#17: Dakmar    To: Pinguinite (#15)

But to actually have AI do what YOU ask for is a bit of an experience.

See if you can get it graft a 1970 Torino Sportroof rear window/decklid onto a 1970 Mercury Cyclone without destroying the character of the Merc.

Dakmar posted on 2025-03-15 19:27:35   Reply   Private Reply


#18: Pinguinite    To: Dakmar (#17)

So far, AI is dealing only with digital information. When it can start assembling cars, it can also start assembling T-1000 units.

Pinguinite posted on 2025-03-15 19:29:14   Reply   Private Reply


#19: Dakmar    To: Pinguinite (#18)

As good as the cars are, I'll take my chances with the T-1000s :)

Dakmar posted on 2025-03-15 19:31:59   Reply   Private Reply


#20: Dakmar    To: Pinguinite, Esso, ghostrider, Horse, TommyMadArtist (#18)

Dakmar posted on 2025-03-15 19:42:42   Reply   Private Reply


#21: Dakmar    To: ghostrider (#20)

Bonus points if you post the KISS float :)

Dakmar posted on 2025-03-15 19:49:22   Reply   Private Reply


#22: Dakmar    To: Dr Kimmy (#21)

Beth what can I how diddly do?

Dakmar posted on 2025-03-15 19:51:43   Reply   Private Reply


#23: Dakmar    To: All (#20)

How much should the average american spend on bagpipes each year?

Dakmar posted on 2025-03-15 20:01:25   Reply   Private Reply


#24: Dakmar    To: Pinguinite, Esso (#18)

they put the last clean shirt
On my brother bill

Dakmar posted on 2025-03-15 20:12:48   Reply   Private Reply


#25: Dakmar    To: All (#24)

It's like Sesame Street on shrooms, lol

Dakmar posted on 2025-03-15 20:15:33   Reply   Private Reply


#26: titorite    To: Pinguinite (#8)

Neat. To heck with it. How about a nice game of global thermal nuclear warfare. Or chess?

titorite posted on 2025-03-15 20:59:17   Reply   Private Reply


#27: Dakmar    To: titorite (#26)

I'm still trying to figure out what is wrong with beating interlopers to death and moving on. :)

Dakmar posted on 2025-03-15 21:09:35   Reply   Private Reply


#28: ghostrider    To: Pinguinite (#7)

So, the answer to life the universe and everything is indeed 42. I was hoping to sleep in tomorrow.

ghostrider posted on 2025-03-15 22:14:04   Reply   Private Reply


#29: Dakmar    To: ghostrider (#28)

Dream well, my friend.

damn this song is boring...:)

Dakmar posted on 2025-03-15 22:19:05   Reply   Private Reply


#30: Dakmar    To: ghostrider (#28)

"...patent their hair, their eyes, their dance shoes..."

Dakmar posted on 2025-03-15 22:28:17   Reply   Private Reply


#31: ghostrider    To: Dakmar (#21)

A guy met a gal in one of those online thingies at first just texting and then phoning, their friendship grew until they set a time and place for an in-person date. At that date they knew they loved each other and wanted to be together from that day on. The guy says, "I must confess I am addicted to golf; I play it, I eat it, I watch it, I read it, I dream it". The gal says "I too have a confession; I've been a hooker for the past five years". The guy replies "it's probably because you don't keep your wrists straight".

ghostrider posted on 2025-03-15 22:29:03   Reply   Private Reply


#32: Dakmar    To: ghostrider (#31)

How dare you?

Whenever I try to play this on my guitar it just sound like sad Don Ho crap, but I can still do pretty good on the vocals.

Dakmar posted on 2025-03-15 22:34:03   Reply   Private Reply


#33: Dakmar    To: All (#32)

that was Ron Reyes on vocals, who was soon after fired from the band and known ever after as Chavo Pederast.

Dakmar posted on 2025-03-15 22:46:15   Reply   Private Reply


#34: Dakmar    To: ghostrider, Esso (#31)

The guy replies "it's probably because you don't keep your wrists straight"

Never give up on the wrist bra movement, flexibility with restraint! Is there a wink emoticon?

Dakmar posted on 2025-03-15 22:51:18   Reply   Private Reply


#35: Pinguinite    To: Dakmar (#17)

See if you can get it graft a 1970 Torino Sportroof rear window/decklid onto a 1970 Mercury Cyclone without destroying the character of the Merc.

Decided to give it a shot. You'll have to tell me how good a job it did. If any.

Pinguinite posted on 2025-03-16 02:13:19   Reply   Private Reply