Thoughts on the Engineering Industry

A blog covering engineering, technology and business topics

Archive for the category “Education”

Should Engineering Departments Offer an Engineering History Course?

     Hello everyone. I hope your week went well. Today I want to pose an interesting question that has to do with engineering education.  It is common for most colleges to have an architectural history course and most architects would argue that there are some valid benefits in having a course like that.  I recently read an article in Structural Engineer Magazine – “Is Engineering History Missing in Our Education?”, pg 26, – that made me wonder if we need a course like that.

The article says “Ask an architecture student to list who they believe to be the most influential and iconic architects to have ever lived and the list will surely be lengthy.” I would also have to agree with that statement.  Architects definitely get a better education in the history of their profession and critical advancements in its practice.  And one can argue that the public knows more about the profession’s history as well, even if they might not know much about the technical advances.  The same cannot be said about structural engineering.  Look at this list from the article and see how many architects you recognize: Michelangelo, Antoni Gaudi, Frank Gehry, and Frank Lloyd Wright.  Now look at this list from the article and see how many structural engineers you recognize: James Buchanan Eads, Theodore Cooper, the Roeblings, John Alexander Low Wadell, Gustav Lindenthal, Othmar Hermann Ammann, Joseph Strauss, Robert Mailart, David Bernard Steinman, and Santiago Calatrava.  I recognize more of the architects and I’m a structural engineering student.

The author of the article believes that it is important to know the history of the engineering profession and of our past failures/advancements.  I would also have to agree.  But more than just that, I think that it is important that the public in general know about our history and advancements.  One of the more annoying questions that I get asked by people when I explain what I do is “So you want to do architecture?”, and they honestly don’t realize that they are two completely different fields of building design.  I recently read an article by Fast Company Magazine online ( which had an article about high wind load design for buildings that only used architects as their references.  It is my honest opinion that if we did more as structural engineers to have a basic elective course in college covering this topic, and educate the public in general, there would be more understanding about what we do.

Do you think that there should be a structural engineering history course?  Would you take that course instead of something like architectural history?  Have you also experienced a misunderstanding of what you do as part of your profession by non-engineering types?  Please share this post if you find it interesting and follow me if you want to read more of my blog posts.  Thanks for your time and have a good week!

Personal Book Recommendations for Engineers

Hello everyone.  I hope y’all have been doing well.  Nothing new has happened with me – I’m still just looking for work and trying to keep up with my engineering skills.  I will start substitute teaching again, but it’s only going to be a day job.  Today, I want to take a break from writing about engineering topics to share some books that I would recommend reading.  They will focus on career and also some personal finance; along with that, they will vary from history/documentary type narratives to lighter, anecdotal narratives.

Books for Engineering/Business

These are books that apply to engineering or teach lessons that can applied in the practice of engineering.

“Don’t Throw This Away! The Civil Engineering Life” by Brian Brenner, PE

This is a book that most civil engineers would enjoy.  It’s pretty much all stories of the authors experience as a civil engineer.  There is a fun aspect to the book which makes it a very enjoyable read.  It also does a good job of have a relevant moral to each story.  Some morals are just a humorous observation of the engineering practice and some pertain to practical lessons he has learned.  It manages to strike a good balance between educational, informative, anecdotal, and fun.

“The Quest: Energy, Security, and the Remaking of the Modern World” by Daniel Yergin

This book is the opposite of the previous in tone, writing style and length.  This will be slow read and at times very dry.  However, if I were to recommend a book that could answer almost any current question on energy sources and production this would be it.  It pretty much is a history and analysis with a bit of trend prediction for all areas of the energy sector; be warned – it can feel monotonous at times.  However, my recommendation is that you break it up into pieces – that’s how I did it.  By the end, you should have a basic picture of how the energy sector works, why that is, and the likely future of the market.  As a civil engineer, I am glad I have read this book and have that knowledge because I feel like it affects our industry a lot.

“Standout” and “Go Put Your Strengths to Work” by Marcus Buckingham

These two books are recommended for different reasons.  I grouped them together because they are written by the same author and essentially complete the same goal – find your ideal job and position within a company.  And I recommend you read both because they address different aspects of finding the right position.  The first one called “Standout” is much shorter than the second and focuses on the role within your specific position you would be best at.  For example, my standout traits are stimulator, advisor, and innovator; this means that what ever I feel called to do I like being the resident expert that stimulates thoughts and ideas and my preference is to always breaking new ground or trying something new.  And then there is “Go Put Your Strengths to Work” which focuses on skills.  So my skills are that I am good at analytically thinking through a problem and coming up with a practical solution – not surprising, engineer lol.  These two combined should help you find the skills you are good at doing along with the role you like to fill in applying those skills.  There are others he has written too but I haven’t read them.  Based on these two, it probably wouldn’t be a complete waste of time but I can tell you for a fact that I found these two very beneficial.

“Success Through Failure: The Paradox of Design” by Henry Petroski

This is a book that outlines several basic examples of how design is improved through the correction of failures.  It starts kind of slow but once you get past the first couple of chapters it picks up.  It doesn’t try and advertise itself as a book that makes some epic or life changing assertions.  However, it does a good job of showing some examples of how you can improve a design after analyzing a failure and the similar lessons that you can apply in regards to preventing failure before it happens.

“Crush It: Why Now is the Now is the Time to Cash in on Your Passion” and “The Thank You Ecoonomy” by Gary Vaynerchuck

I recommend both of these books because they will teach you how to use social media to build your personal, company, and apply hometown style customer service principals.  From the initial perspective of the civil engineering practice it may seem like these concepts may not be applicable. However, if you look at engineering entrepreneurs like Elon Musk, it seems like there ways these concepts can be applied.  And not only that, his energetic personality comes through when he tells his stories and describes the takeaway message which makes it a fun read.

Books for Finance:

These aren’t engineering or business books; however, these are some recommendations for money management which is knowledge everyone should have in my opinion.

“Million Dollar Portfolio” by the Motley Fool

I recommend this book because it teaches you how to pick stocks and maintain a solid portfolio.  This does have one glaring hole in that it doesn’t talk about mutual funds, but the techniques it explains for picking stocks and managing a stock portfolio can be applied to mutual funds.  I don’t recommend using this as your only source if you’re investing on your own; however, it will educate you on the basic principles an investment advisor would discuss with you.

Any decent book on personal and estate finance

I don’t have specific book to recommend on this.  I read a book that my friend had on this but can’t remember the name.  It covered the basics of a stock portfolio, money saving rule of thumbs, and the different types of wills/trusts.  The reason I recommend this is that having this knowledge when it comes time to plan for your future finances and estates will help a lot.  That way, when it comes time to start discussing personal finance and plan for your future with your advisor, you can understand what he is trying to achieve and the financial mechanisms involved.

Those are some of my recommendations.  Have you read any of these books and what are your thoughts? Also, are there any books that you think should be added to this list?  Thanks for your time and have a good week!

Matlab Commands for Creating Different Plots (part 2)

Hello everyone! I hope y’all are doing well.  Today I’m going to go into more detail about Matlab commands that can be used to label plots and change the format.  These are commands that aren’t focused on the act of opening figures or plotting data – instead these commands focus on making the plots look pretty.

xlabel(‘name’) – This command provides a label for the x axis of the chart.

ylabel(‘name’) – This command provides a label for the y axis of the chart.

title(‘name’) – This command provides a title for the plot.

Legend(‘name’,’name’,…) – This command provides labels for all the different lines plotted on the graph.  It goes in order of the plotting commands as performed – line plot 1 is the first, line plot 2 is the second, etc.

axis([xmin xmax ymin ymax]) – This command specifies a range for the x and y axis.  The data is specified in the form of a vector as shown.  There are other functions that can be done using the axis command, type ‘help axis’ to see the various functions.

These are the common labeling functions I use on a regular basis.  For details on commands that might not have been mentioned here, check out this link.  I hope these Matlab posts have been helpful.  I’m going to try and find different type topic to talk about next week.  Have a good week!

Question of the week:  How do you label your Matlab plots?  Do you have any preferences in how you do it?

Matlab Commands for Creating Different Plots

Hello everyone! I hope y’all are doing well.  Today I want to talk about some common plotting commands I use to generate sharp looking plots and save them.  I will keep it to a short length in this post and if there are more that I feel are necessary I will do it another post next weekend.  Along with that, I will do them in order that I use them in most cases.

function – This command is very simple in that it creates a new figure.  This isn’t always needed, but it is good habit to always use this command since it would leave all your figures open that you have created.

subplot(m,n,p)  –  This command allows you to place multiple plots on a single figure.  The m variable specifies the number of rows, the n variable specifies the number of columns, and the p variable specifies the location to place the following plot.  Placement goes from left to right in the top row, then down next row and from left to right, and continues in that pattern.

hold on/off – This command allows you to plot on the same figure and subplot(if used) as the previous plot without replacing the previous plot.  Use hold on to start overlay process and hold off to stop it.

plot(x,y,’a’,’b’) – This command plots a line graph.  x is the matrix that represent the horizontal variable and y is the matrix that represents the vertical variable.  The ‘a’ variable is where the code to define the color is placed.  The b variable is where the code to define the line type is placed.   Go to help plot and all the codes for the color and line type are provided.

bar(x,y) – This command creates a bar graph.  x is the matrix representing the values or labels on the horizontal axis.  y is the matrix representing the values on the vertical axis.  barh(x,y) executes the same command for a horizontal bar graph, bar3(x,y) for a 3-d bar graph, and bar3h(x,y) for a 3-d horizontal bar graph.  I am less familiar with the details of these plot commands, however, the help command should give you some more information.

pie(x) – This command creates of pie chart of the data in matrix x.  This is another command I haven’t used often; like with the bar command, the help command should give the specific details of it.

These are the commands I want to cover for today.  Next Saturday I will continue this topic with commands that can be used to label the plots and specify other details of an individual plot.  Have a good weekend!

Question of the week: Which plotting methods do you prefer?  Subplots, Layered Plots, Individual Plots or a combination of them all?  Are there certain situations you find yourself requiring use of one over another?

Different Types of Matlab Files and How to Use Them

Hello everyone, I hope y’all are doing well.  Today I wanted to talk about all the different types of files available in Matlab and the most efficient way of using them.  There a two standard program files that can be used in Matlab: the script file and the function file.  Along with that, there is a variable file which can be used to save the variables in the workspace.    And finally, to save the results there are figure files for any figures that have been created and text files for any results that have been shown in the command window.

Script file:  (.m) This is a program file to run a unique calculation for any data or process.  My preference is to individually create these for each new problem or set of calculations I need to perform in Matlab.  This doesn’t mean I always have to start from scratch; and if I am is lucky enough, there is minimal changing required if it’s a common issue/calculation.  The best way to think about this in my mind is that this is the unique framework of the problem and anything repetitive, common, or extraneous can be performed using one of the following methods.

Function file:  (.m) This is a specific type of program file which takes some given inputs, runs some standard calculations/processes, and provides the necessary outputs.  All the calculations are considered separate from the script program itself; as a result, the variables and data internally used aren’t saved in the workspace unless specified as an output.  This is a great tool to run a repetitive calculation or clean up a script program if it is running very slowly.  These can be user defined or standard Matlab functions.

Variable file:  (.mat) This file is basically a saved set of variables for the workspace.  These can be loaded fairly quickly with one or two command lines at most and are great for introducing the initial data in a clean and efficient manner.  I’m assuming there is also a way to save a variable file in the program as well which may be beneficial if a method for saving the data for the workspace in the future is desired.

Figure file: (.fig) This file is used to save any figures that have been created.  This is a very simple concept in that its sole purpose is to save figures so that the program does not need to be run to create them every time.  A great time saver for a long running script or function file.

Text file:  (.txt) This is similar to a figure file.  To use this efficiently, create a diary using the diary command and save it as a text file.  This creates a file that shows everything done in the command window while running the script file.  It pretty much serves the same purpose for the command window as the figure file does for any figures.

Synopsis:  This is the combined usage of the files in most of my matlab programs.  I write a script file to accomplish the unique calculations/process necessary.  I set up a text file using the diary function so that all the calculations in the command window are saved.  I use a variable file to bring in the initial data.  I use and/or create function files to perform any extraneous or repetitive calculations if necessary.  I could use a variable file to save the resulting data in the workspace, but I haven’t had to do that yet.  I save any figure files that have been created.  If possible, I do all of this with commands in the script file itself so that all I have to do is click run to get the results and files.

That is how I personally use those files and I find it to be the most efficient so far.  Like I have mentioned before, there are different methods and every programmer has their own voice so to speak.  As long as everything is properly commented and nothing too crazy is done, everything should work out fine.  I just wanted to let you know my process in case any of it might help you.  Have a good week!

Question of the Week:

How do you use the different Matlab files and why?  If it is different from mine, do you think is better or worse than my method and why?

Four Basic Types of Loops and Conditionals in Matlab

Hello everyone.  I’ve been enjoying my spring break from school.  I’ve looked over material for a school project and plan on applying for jobs this weekend.  I hope your week is going well.  Today I wanted to describe two types of functions in Matlab, the loop and conditional, as it is used in coding for Matlab.  A loop is a function used to repeat a cycle.  A conditional is used to decide which calculation or function to perform based on a set of criteria.  Matlab has four types of loops and conditionals available by default: if conditional, while loop, for loop, and switch conditional.  In this post, I will describe to you each type, how to use them, and give a basic example.

If conditional

Description: The if conditional is a function that takes a piece of data, checks for a mathematical condition, and then uses that to apply the desired function.

Standard Usage: This function is commonly used to perform calculations that accurately account for large quantities of diverse data.

Example: In this case, y=-2+2*4=6



if x < 0


elseif x < 2






While Loop

Description: The while loop executes a function as long as a mathematical condition is true.

Standard Usage: This is commonly used to iterate a process until a specific criterion is met.

Example: In this case, y=1+2+3+4+5+6+7+8+9=45


y=0; x=0;

while x < 10





For Loop

Description: This is a loop that executes a function for a set number times.

Standard Usage: This is commonly used to perform calculations on a specific set of data for each individual data element.  This can also be used to perform calculations for cases where a specific number of iterations are used.

Example: y=[2,4,6,8]


x=1:1:4; y=zeros(4);

for i = 1:length(x)




Switch Conditional

Description: This is a conditional that takes a value or string variable and uses it choose which calculation to perform.

Standard Usage: This is commonly used to write a program to execute a variety of calculations depending on a user specified situation.

Example: In this case, y=4




switch lower(calc)

case {‘linear’}


case {‘square’}


case {‘cubic’}



disp(‘y is unknown’)



These are the four types of loops expressed in a very basic way.  This information can also be found by typing help and the name of the function, ie ‘help if’.  However, I thought this would be helpful because this shows them in their simplest form while also telling you when and how they are used.  When learning to program in Matlab, the issues I found when using loops and conditionals were not always how to find the information but figuring what function to use and how to use it in a specific circumstance.  Hopefully, this post will help with that if you are initially learning this language and get stuck with these types of functions.

If you a learning how to use loops in Matlab right now, what do you find difficult and easy?  If you already have experience using this, what did you find difficult and easy when you first learned this?  Is there still anything specific about these loops and conditionals that cause issues?  Let me know if you have any questions and have a good week!

Technical or General Engineering Courses in Your College Education

Hello, I hope everyone is doing well.  Today, I wanted to discuss a personal dilemma I have had during my studies in my Masters of Engineering degree program.  The concern is whether I should take courses that expand my general knowledge or focus on one specialty of structural engineering.  At first, I was trying to get a general base of knowledge with the intention of gaining a detailed skill set once I got a job.  However, due to the availability of courses, I have shifted to the second approach in the last two semesters – a concrete bridge design course last semester and structural dynamics this semester.  The concern I have is which would be better in the long run.  I really don’t see any true negative concerns to either course of action; however, there are different possibilities depending on which focus is taken.

There a several good things about a general base of knowledge:

Gain more practical and hands on knowledge quicker – a large general base of knowledge would help you gain more knowledge about general engineering practice quicker.  It would also not tie you into one specific or focused position straight off either, which should theoretically give you a lot of career options.

Allow yourself to see the methods of the company with an unbiased mind – By learning the advanced structural methods through the company, you don’t have to unlearn old habits.  You could also learn only the advanced methods that are applicable in practice and not have to worry about something being too academic or idealistic.

Start your career earlier – An early start in your career could get you a high position faster – assuming you do your job well.

There are also several good things about a specific knowledge base in your education:

Gain focused technical expertise quicker – By doing more technical course work, you could theoretically get a more focused or better job due to the increased expertise.  This knowledge could still be learned in practice but it would take longer.  A good example would be the construction worker who works his way up to being a construction manager vs. a college graduate who got a degree in construction management.

Higher position/more responsibility earlier – Your increased technical expertise could allow to start in a higher position as well.  There would still be things you need to learn to do your job if you are a new employee, but the in this case the question would be when and not if.

Knowledge of more up to date techniques – By learning more technical practices in school, you could learn practices that might not be fully implemented at an engineering firm.  One would hope that the firm isn’t too far behind, but the delay in implementing ASD in structural design in the last 10 to 20 years is a good example of how it could happen.

In my education, I have gone straight through with my coursework and pursued my Masters of Engineering while working part time.  However, I wish I had been more determined to pursue my original plan – get a job after I got my Bachelor’s Degree and pursue my Masters of Engineering while doing that.

What did you do in your education?  Would you do it that way again?  Are there any positive or negative consequences that you can directly attribute to this?

Alternative methods for teaching core curriculum

Hello everyone, I hope your week is going well.  Nothing much has happened since I posted last – still doing the tutoring and enjoying the break from school.  Today, I want to share an article I read a couple weeks ago about college education.  The concept is that, instead of a traditional core curriculum, students would take a set of entrepreneurship courses that combine the core curriculum skills in the first year.  Then the second year students would use those skills in practice while working with a company/charity that addresses a social issue of interest.

I find this to be an interesting idea if executed well.  The traditional core curriculum could be applied in ways to be more useful for your future career.  Along with that, valuable experience in the field can be gained in the second year; not to mention there is already a system like that in place for the second year if you consider the concept of internships.  There are some possible draw backs however.  When applied on a large scale, would the effectiveness advertised in the article be possible?  On a small scale, there is a lot of opportunity for a unique learning opportunities, but on a large scale the cost and complexity of scaling it could decrease it’s impact.

What is your opinion of programs like this?  Do you think that it is a necessary change?  Is it scale-able for larger universities?  Would be something that would increase your interest in elective course work?  Let me know if you have any thoughts and have a good week.

Discussion of Methods for Continuing your Engineering Education

Hello everyone, I just want to apologize in advance for the less researched post this week, but I won’t be able to do much writing the day of the posting due a Judo tournament.  This week I want to discuss the methods of continuing education in the engineering field.  Just off the top of my head I can think of several methods and I want to discuss the positive and negative characteristics of each.  These are the three that come to mind: formal college courses, continuing education seminars, and personal reading outside of work.

In my previous post, my opinion of formal college courses was discussed in detail so I won’t say too much about that.  To sum up the negatives, I feel like the exam –homework concept is not the best way to learn engineering.  But that being said, there are some positives I didn’t mention.  For the most part, even if the teaching methods aren’t always the best, the overall knowledge of the professors is amazing.  There is no better source for extremely technical, theoretical, or “academic” expertise.  If the goal is to really drill down and learn every minor detail of a subject or field I can’t think of a better source.

As for continuing education seminars, I see this as an in between method that applies the expertise of formal college courses through the lecture format while skipping the college course process.  The positive is that there is a live person there to explain the subject and provide examples to explain the methods and related materials provided.  The negative is that it is difficult to strike a good balance in my opinion.  If an expert tries to present too much material or can’t explain his topic well, the learning process will be hindered.   And if the material is not of interest to the person or does not have enough substance to it, the listeners won’t retain or use any of it.  Err too far from the natural balance in either direction and the seminar will start to be ineffective.

As for personal reading, this is the one method I prefer doing the most because I enjoy learning through reading in any form.  Some things I read quicker than others due to the heaviness of the material and the style of writing, but I almost always will be more preferential to reading and learning on my own.  That beings said, there are still definite positives and negatives.  The positive is that it can be done on your own.  It may seem like a minor thing compared to the other positive characteristics mentioned above; but if you really think about it, it is a simply stated yet very good positive characteristic.  How busy are we in our lives?  And what about access at any time you want?  You can get both with personal reading.  It would require more independence in the learning process, but if that can be coped with this is a great positive.  This leads us to our negative – what happens if we can’t understand the material?  The truth is that learning anything on your own will take some effort and sometimes you working on your own is not enough.  You will need some guidance and help.  And if this something you are doing purely on your own you won’t have it.  On a side note, a mentor or fellow engineer may fill this gap; but this argument is assuming that this is an unavailable resource.

So all that being said, my preference is definitely personal reading and learning.  What is your preferred method of these three and why?  Is there another method that I haven’t discussed that you prefer?  If so, what is it and why do you prefer that method?  Thank you and have a good week.

Educational Methods vs. Professional Practices in Engineering


Today, the topic I want to discuss is whether or not the teaching methods used in obtaining your degree will help you in the professional practice of engineering.  Before I start, I want to say that I don’t have any true engineering experience.  I did work a couple summers in construction so I some related experience in the onsite building design/construction process, but a lot of this will be based on second hand knowledge from my friends who work in the field.

My experience in school has generally been that the work you do to learn the technical engineering knowledge is homework.  The exams are meant to test whether you know the material, and it is assumed that if you truly understood the homework the test should be easy to do.  The truth of this assumption will depend on your professor, or whoever is teaching you.  There are a plenty of times I have wondered what a professor was thinking when he made an exam.  And there are plenty of times I have failed an exam all on my own accord because, for whatever reason, I just wasn’t ready.  In grad school and more advanced undergraduate courses there would be projects of varying degrees of difficulty but they didn’t seem to be the main focus of the course.  Along with that, they seemed to be the smallest portion of the work as compared to the weight of the grade in the completion of the course.

As for work, I’ve always heard in the engineering field, and experienced in the construction field, that the focus is the project.  There are times where I’ve only had to do quick tasks for a project because there wasn’t much work required for that task.  But there was always a realistic and practical reason for doing the work.  Along with that, the point was to get the work done and help/guidance from a more experienced worker was generally provided.  The point was not to test or challenge you to an excessive amount, but to make sure you can do the work required and learn how to do it on your own eventually through hands on practice.  I know there will be times when tests are also need in engineering practice – for example, the PE Exam.  But for the most part it isn’t the point of going to work, as it was in school.

I realize that learning the material will be different than the practice of engineering in the real world.  But part of me wonders if there is a better way to teach at the university level.  I’ve always wondered if it would be possible to make the projects count for more credit.  Or what if, instead of having homework, there is just the project.  It is supposed to be worked on in pieces in the same way that homework is split into different assignments.  Then you could still have exams with the same percentage of the grade if you want.  My preference would be to have fewer exams too though, but that’s just me.  I feel like I learn more by having a goal to work towards than by having me learn something with the only stated goal being to prove I learned the material.  What is your opinion on the university education system?  Should it be project based learning or is the homework-exam model the better teaching method?  Are there any alternatives to testing knowledge or are exams the only way?

Post Navigation