Should I join the NAVY as an enlisted with a BS degree in civil engineering?

I am interested in joining the NAVY and I have talked to a recruiter about joining the NAVY as an enlisted and I wasn’t know that with a BS degree I could join the NAVY as an officer (the OCS program) until I did some research online.

I am a permanent resident and I have already applied for U.S. citizenship. I am just waiting for the interview to become an U.S citizen. Should I wait till I get my citizenship or just join the navy as an enlisted?

I was told that there’s a GPA requirement for OCS and my GPA is way too low to compete with others. Is there anyway that I can off set the low GPA ?

I want to do something relative to civil engineering. If I joined the navy would I be guaranteed that I would stay in the field of civil engineering?

What are the differences between an officer and an enlisted for a 2 year contract.

Thank you for your time !

There are no two year contracts in the Navy. With your degree you could join with a guarantee of assignment to Navy Construction Battalions and Regiments, better known as Navy Seabees. Your entry could even speed up your citizenship quest as well. Once you obtain your citizenship you should apply for a commission in the Navy Civil Engineer Corps. I’m sure that B.S. in Civil Engineering will fit in quite nicely with that Corps.
The GPA requirement you cited is for those who wish to obtain a commission as a Navy Line Officer, via the OCS route. It does not apply to those seeking commissions in the various Staff Corps of the Navy.