When I was in high school I thought I wanted to be a physicist. I had taken AP Physics and I was good at it. I thought solving those canned free body diagram and charge-of-a-uniform-metal-sphere problems were neat. I had no idea what it meant to be a physicist or, really, a scientist in any other major. Moreover, aside from occasionally reading Dilbert comic strips, I had zero concept for what engineering was. There wasn't exactly an AP Engineering class where I could solve canned design-a-bridge problems. So I'm writing this for the high-school-me to read when contemplating such questions like "what do I want to do with my life?" Not that you ever stop asking these questions, but maybe this will help a little bit.
This the most distilled definition I can think of: Engineering is the discipline of designing something to a specification with specialized scientific, mathematical, or computational expertise.
Ok, that's a pretty dry description and not much more useful than wikipedia's definition. So what does an engineer actually do? What the heck is engineering?
Who are these engineers and what are they doing all the time?
If you look around you, an engineer was probably involved in the research, design, and manufacturing of literally everything you can see. If you are reading this on your smartphone, there were teams of engineers figuring out manufacturing processes for the glass surface, for the circuit boards and computer chips inside, for the massive facilities required to manufacture those computer chips, for the tools inside those chip manufacturing facilities, for the software that runs on your phone, for the cell tower that you're connected to, for the massive telecommunications network behind that cell tower, and so on. It's quite a rabbit hole. Plus, with so many different disciplines of engineering, capturing what an engineer does on a day-to-day basis is going to be a challenging task. I think there are at least common elements.
If you are tasked with engineering a widget, be it a bridge, a electronic circuit, or a piece of software, you will take a while to figure out what exactly the widget should do. How much weight should the bridge hold? How big is the bridge? What's the local weather? After figuring out all these details--the so-called "specification"--then you begin to figure out how to design something to that specification. Sometimes we skip the specification step. The more that is on the line, the more detailed the spec (short for specification) is going to be. If lives will be lost due to poor engineering, the spec will be extremely detailed. If all that happens is a couple people elsewhere in the company temporarily can't use your system due to a software bug, the specification is usually lighter in detail. You might work with a project manager, a product manager, a technical lead, a "solution architect," or a similarly titled person to figure out these details. In order to keep the specification grounded in reality, you will often use your technical skillset to make sure the specs are realistic (How much weight is it physically possible for a bridge of this size to hold?).
Usually you work in teams because, often, the thing you are going to try to make is too complicated for a single person to design. Getting a team of people together to figure out how to make something complicated is part of engineering. The discipline of handling complex projects is itself a whole discipline called systems engineering. Systems engineering principles are usually applied when a project involves hundreds or thousands of engineers. Often, you will just be working on a smaller team. Either way, nearly everything out there in the world needed multiple engineers to design it. Because of the need for teams, you will often attend meetings with your teammates. Some things you can resolve with chat messages. Some things take hours of drawing pictures on white boards to resolve. Often, it will be necessary to sit in the same room for an hour every week (or virtual room nowadays) and just say out loud what it is you are doing because it's really easy to misunderstand what your teammates are working on. Between all your meetings, you will do your engineering work.
In science, we sometimes use the action phrase "to engineer" something to mean to figure out ways of making something better. In context, this is usually meant to mean that the scientist has figured out the fundamental principles of why something works, and now they are going to use those principles to engineer something useful. If they engineer something a little bit, maybe the thing they are designing will work OK. If they instead engineer something aggressively, they will have pushed the design of the thing to the limit of how well it can work.
This is usually the fun part of engineering--the part where we say in conversation "to engineer" something. You get to be creative, but you also spend lots of time figuring out every last detail to make sure something works. Engineering something well often means understanding the thing you are designing and the context around it: not just how it works, but also how it will be used, how it will be made, where it will be used, and so on.
What makes a good engineer?
Of course, being good in your particular field of study helps, but it's not enough to be "the best." The best engineers are ones who can do more than solve equations really well, or are experts in how to use some particular piece of design or simulation software. The best engineers constantly ask questions: what happens if the temperature changes? What happens if someone uses it in the rain? How much time is it going to take to assemble during manufacturing? How long will the parts I'm using last in a desert environment? An OK engineer will use his technical skills to make something work. A good engineer will understand why the thing they are designing needs to work the way it does.
The best engineers also communicate the best. This is true in basically every field: the best (doctor/lawyer/salesperson/CEO) communicates the best. However, communicating well is often overlooked in engineering because of how much emphasis is placed on being good at math and science. If you do world-class work, but nobody knows what it is you did or why it works, it will be really hard to work with you. Since you are probably working on a team you won't be designing the entire thing yourself, and so it will be necessary to give your teammeates the thing you designed so that they can use it to help design the final product. Communicating well has many facets: writing well, being nice to your teammates, and being able to give and take criticism in a professional manner. If you are right 90% of the time, but start shouting at people in the 10% of cases where you are wrong, you might as well be wrong 100% of the time because your teammates will have to redo most of the work you did under the assumption it is the 10% case and they don't want to be shouted at.
Finally, the best engineers are not only asking questions and communicating, they are also constantly learning. I can guarantee you that an undergraduate education does not teach you everything you need to know in any particular field to be a good engineer in that field. This should be basically the same as any other subject (business, accounting, law, medicine, sales, ...), you will learn new things when you start actually trying to do something for real. You will be (or at least, you should be) learning new things every single year. If you aren't learning anything new, you have probably stalled in your career. Look around. There are probably things you don't know. You should go figure those things out not just because you want to advance in your career, but because progress marches on and there are constant innovations in how we as a society do anything. Sure, you can spend your entire life only knowing one programming language or one piece of software or one way to build a bridge, but in 10 or 20 years, your knowledge will be outdated. There will be better ways to do the things you used to do. Not that the way you used to do things would be wrong, or that you necessarily have to do things the new way, but understanding that new ways exist will make you a better engineer.
That's kind of it. If you have a great grasp of your field of study, if you understand what you are trying to design and why it needs to work the way it does, if you can communicate well, and if you are willing to learn new things, you will be among the best engineers there are.