I would suggest that you start by taking the diagnostic in the OG and determine your strengths and weaknesses. Quant vs. verbal, and which areas in quant (number properties, inequalities, probability, etc) and verbal (SC, critical reasoning, reading comprehension, etc). Keep in mind that even as a software engineer, your quant may need more practice than you think. I graduated from one of the best engineering programs in the country and I struggled with quant more than verbal. Just a thought.
As far as schedule goes, try to study at least a little everyday if you can - even if it's 1 or 2 hours a day. If you have 3 months, one way that has been suggested is practice quant in month 1, verbal in month 2 (unless you're significantly stronger in one area or another), and practice doing exams in month 3. Make sure you keep track of your errors and any questions you're slow with so you can go back and review them.
For books/resources:
I really like the Manhattan GMAT books for quant. I have all 5 strategy guides. They come with question banks online and you get 6 free CATs with the purchase of just one book.
For verbal, I personally benefited a lot from Powerscore's CR Bible for critical reasoning. A lot of people swear by the Manhattan GMAT Sentence Correction guide. I thought it was way too dense for GMAT purposes, but you can be your own judge.
I also used the OG quant and OG verbal in addition to the main OG for additional practice, since these were real past GMAT questions.
For CATs people say GMATPrep (that you download from mba.com) is the most representative of your actual GMAT performance. MGMAT CATs are a great way to practice too although I find them to be a bit more difficult than the actual test.