Translation:Es un buen techo.
You can say "Es un buen techo" or you can say "Es un techo bueno." Similarly, you could say "Es un grand techo" or "Es un techo grande."
Bueno, and a few other adjectives, are shortened ONLY when used BEFORE the noun.
In Spanish, an adjective before a noun merely expresses an opinion, so ‘Es un buen techo.’ implies that the speaker approves of the roof.
An adjective after a noun, though, restricts the set referred to by the noun, so ‘un techo bueno’ implies a contrast with other non-good roofs, as in ‘Esto es un techo bueno’ = “This is a good roof.”, as opposed to, say, that roof. But in isolation, without a determiner like ‘esto’=“this” to specify what's being contrasted, ‘Es un techo bueno.’ doesn't make much sense.
The noun is always ‘el techo’=“the roof”, never *‘la techa’.
‘techa’ is the 3rd-person singular (él, ella, usted) present indicative form of ‘techar’=“to roof”, so it could be used like ‘Con qué techa él la la casita?’ — “La techa con paja.’ = “He's roofing it with straw.”.
[Note that the Spanish ‘techo’ is cognate with the English “thatch”.]
My Spanish dictionary told me "roof" was "tejado", and this was accepted. What's the difference between this and "techo"?
‘tejado’ literally means “[roof-]tiled”, the past participle of the verb ‘tejar’=“to tile [a roof]”, from the noun ‘teja’=“[terracotta] roofing tile”, so it usually implies a Spanish-style terracotta-tiled roof.
‘techo’ is more general, and can refer either to a roof or a ceiling.
This may be a dumb question, but what is the difference between "buen" and "bien". It seems like I always end up putting the wrong one in and I can't figure out the pattern.
Mary, below is a link to explain the differences. In short if you're explaining a masculine noun: the adjective is "buen" and placed before the noun or the adjective is "bueno" if placed after the noun. But describing a verb requires an adverb which is "bien" ! Ex: Sentirse bien. I feel well. Another tip is bueno=good and bien=well. Hope this helps a little.
Curious why techo bonito wouldn't work. Bonito has been used in previous examples as "good" instead of "pretty" especially when referring to inanimate objects.