In describing a piece of computer code, I called it both "straightforward" and "roundabout", with the intention of communicating that although the code was more verbose than necessary, it was still easily understandable. However, my friend called me out on it, stating that these two words are obvious antonyms, because they both derive from the idea of travelling on a path: one is a straight path, and one is a path that moves around an obstacle. Are these two words antonyms, and is it appropriate to use them simultaneously to describe the same thing?
Yes, they are.
You can see it here, in Merriam-Webster, that "straightforward" is listed as an antonym of "roundabout."
By combining these two contradictory terms, you should be consciously employing an oxymoron, as mentioned by J.R. and David above.
But based on what I gather from your post, the two qualities may not be calling for equal representation. It's more like: the code is roundabout but it still manages to be fairly straightforward.
Using only one of the two adjectives and then elaborating on/ phrasing the opposite "roundaboutness" or "straightforwardness" would be clearer.
If stated unconditionally, they are antonyms.
When sufficient context exists to explain the use of each of the words, such as what the author implies by them in the given context, then they can co-exist without conflict of meaning.
Though stated in a rather roundabout way, this is the best of a straightforward answer that can be given.