Development and rollout of a backend - best practices

Hey,

are there “best practices” from your experience for development and rolling out a backend that was implemented with Go?
You will certainly feel the same way that your backend has to be continuously expanded.

Does it make sense to develop on an environment that is very similar to the production environment?
Example: Development is carried out on a Mac (localhost) and the Golang application should be executable under Linux. Can this be a cause of error that could be prevented if development is carried out on a test server (Linux) and is rolled out on a production server, also Linux.

How would you conceptually design your development in this area?

I don’t know of anyone having troubles with cross platform development in Go. One thing to consider is to avoid cgo wherever possible. Because if you do, you link system dependend components to your app, which might vary per environment. Doesn’t mean it doesn’t work otherwise, but care has to be taken to make sure it works.