Quite simply, this is a wonderful text. Coupling this with Boyd's course at Stanford (the lecture videos, HWs, etc. are all available for free online), you're bound to learn quite a lot about optimization. But most importantly, you'll have an idea of when you can actually apply convex optimization to solve a problem that comes up in your particular field.
My reasoning in giving it such praise is my preference for the rather unusual methodology it takes in introducing you to optimization. Most books I have seen on linear programming or non-linear programming tackle a few standard problems, introduce what is necessary in terms of definitions and proofs, and then focus on the algorithms that solve these standard problems (conjugate gradient et. al.), how they work, their pitfalls, etc. While this is undoubtedly useful material (which Boyd does cover for a good deal in the final chapters), the simple fact of the matter is these algorithms are available as standard methods in optimization packages (which are abstracted from the user), and unless you are actually going into developing, implementing and tweaking algorithms, this quite honestly is useless.
What this book attempts to do, and does very well in my opinion, is to teach you to recognize convexity that's present in problems that are first glance appear to be so incredibly removed from optimization that you might never consider it. This book spends the first 100 pages or so just devoted to building a "calculus" of convexity, if you will, so that you know through what operations convexity is preserved, and you develop intuition as to the potential to use convex optimization in problems in your particular field or application. As such, the first part of the books is focused on building up the skill set, the second part to applications of convex programming, and only the third to the actual algorithms.
A word of warning: some of the explanations (especially in Chapter 4 which focuses on types of convex programs and equivalence of programs) are very general, which won't be satisfying to certain readers who need solid examples to reinforce the concepts. Also, a lot of the material can be quite challenging, requiring a bit of mental gymnastics. However, if you are accompanying your study with the problems at the end of each chapter, you're certain to get practice and demystify the concepts.
In sum, all things considered, a great text.