For programmers day, I want to create an encrypted message for colleagues. It should be easily decryptable by the most part without much experience in encryption. Can you tell me an algorithm which is easily guessed and the message revealed?
A substitution cipher (A -> K, B -> C...) should yield rather quickly to frequency analysis, if the plaintext is a natural language text of sufficient length. It helps if they can guess a partial plaintext (the message starts with "Hello", or ends with "glory to arstotzka" oslt.). Leaving the spaces between words intact would be an instant giveaway for shorter words.
You mentioned programmers, so I wonder if you can expect your solvers to create a program to e.g. brute-force a limited keyspace. They'd need to know or find out the algorithm, though. Also, natural language text ciphered with a stream cipher (xor) using a repeating keystream is rather easily solvable since the binary representations of spaces and letters give away parts of the plaintext when looking at ciphertext bytes enciphered with the same keystream byte. Though that may require some background knowledge to get the right insight.
All in all, a good puzzle would depend on accurately guessing the level of the solvers. One possibility would be to build the problem in parts, starting with easier systems and progressing to harder ones. Any book/source on historical ciphers would likely have many examples on what to use.
a rather simple, but resilient encryption, is Vigenere. It earned the name "the indecipherable cipher" and does some shifting on each letter.