I am designing a user details page for an enterprise application for doctors.The requirement was that the user will come to this page to edit his/her details ( like password, email, etc) and to view his/her basic info. My question is whether to make the page editable to the user when s/he lands on the page or should we show the user a page which shows his/her details and it becomes editable only when s/he clicks an edit button.
Depends on how you want to approach it architecturally and what is your user's mental model. Also, keep consistency with rest of the design.
'By-default editable' fields are real world like (think paper forms) but miss a clear-cut sense of control (Save button). So, If the data is important like security/finance related then it makes sense to give user that extra psychological control and assurance otherwise, editable text fields are completely okay and saves users a lot of trouble of saving again and again given it is implied by design.
For ex- Google Material-esque model not only suggests but also visually implies that form fields are editable. And if you follow the same, you would have to keep the consistency throughout the text fields in forms and make sure your design visually conveys the same as well (Easy way would be to follow Material for that).
Also, consider Chunking frequently edited data (like People don't usually change Date of Birth, Gender etc) or inline editing like facebook if it fits your design. And make sure your user doesn't accidently edit important information.
It is better if you show the details editable in a different page. Any user who lands in the page, might not want to edit their details. So it is not mandatory. Make the edit button prominent.
If the page contains pictures of the user, make it editable on the information page itself, instead wanting them to land in the edit info page.