Engineering Preparation in High School

<br>

<br>

<p>There are free programming course materials on the web offered by some
of the best schools in the world. You might give MIT’s Python course a
try between now and when you start college.</p>

<br>

<br>

<p>I work in a very large software engineering organization. Our product
cycle goes as follows:</p>

<ul>
<li><p>Gather requirements from customers and potential customers as to
what they want in a proposed product. This is often done by marketing
and engineering. The marketing guys should figure out what the proposed
product should be priced at and make projections on profits from the
product.</p></li>
<li><p>Look at the requirements and determine what functionality the product
will have. You will generally get a ton of requirements and then prune
that down to what you want to do in terms of your resources, and what
your business goals are.</p></li>
<li><p>Create a functional specification that the business, marketing and
technical folks agree on.</p></li>
<li><p>Take the functional specification and turn it into a high-level
technical design. Create rough estimates for doing the detailed
technical design, coding, testing, training and documentation. Work
on a rough schedule.</p></li>
<li><p>Do the detail design. Then the coding. Then the testing.</p></li>
<li><p>Launch the product.</p></li>
</ul>

<p>Software engineering is a little different in that you don’t make an
actual physical product. For physical products, you have to know that
you can manufacture the products that you design so you may have to
design manufacturing equipment or contract it out.</p>

<p>This is just one aspect of engineering - there are many other models
out there for different kinds of engineering that I can’t tell you
about. If you want to learn more, you could try asking a variety of
engineers as to what they and their organizations do.</p>