Should I come up with a melody or a chord progression first when I write a song?
try both, and also there's another way which is a lyric first, but, either way, be prepared for it all to happen at exactly the same time, because all these elements always need each other so desperately, they can hardly survive apart. also another thing you might want to try is coming up with starting points for songs and then file them away, and then, as a separate task, choose  ones from the list to develop, and/or complete