If you don't have any weird issues like divorces, children from other marriages etc. to worry about then the process is quite straightforward and you may not require a lawyer if you just follow what the USCIS website asks you to do.
I had an excellent math education growing up (not in US) so programming did not seem intimidating to any of us as it looked a lot like math. For me the main motivation to code was to have my computer do the math and physics I was learning in school. US parents and teachers really need to push for better math skills rather than run away from it.