Industrial Engineering

I have come to the striking realization that I need to understand other industries, and become acquainted with different aspects of industrial engineering.

What are the different industries? The following infographic from the Texas Higher Education Coordinating Board sums it up nicely. It is by no means comprehensive.


What are the different aspects of industrial engineering? The following infographic, again from the Texas Higher Education Coordinating Board, sums it up nicely.


Here’s a list of aspects, in no particular order or hierarchy, that any industry needs to ponder upon – environmental, tools and fixtures, safety and security, reliability, human factors and ergonomics, standards and certifications, quality, maintenance and support, waste and disposal, business and management, finance, supply chain, inventory, ordering, training, simulation, system dynamics, automation, robotics, planning, facilities and work-spaces, human resources, communications, health, laws and regulations, marketing and sales, travel, culture, intellectual property…

Doesn’t that look like a list of aspects that every reasonably-sized business needs to ponder?

Some other things I have learnt about programming

Inspired by and adding to the post by John Graham-Cumming on programming, I add a few of my own lessons learned.

1. Programming pays for your bread and butter

Those who pay you will want things from you in return.

You may be given impossible deadlines. Don’t let the pressure get to you, get things done. Don’t compromise on quality. Learn to say NO without burning bridges.

You may have to argue about requirements, software design, graphic design, usability, and other ities. You’ll have to defend your position, but it pays to be humble, listen or ask twice and speak once.

2. Know your Licenses

You’ll have to know not to mix GPL/LGPL code with proprietary code. You’ll need to know the subtle differences between GPL and LGPL, GPL V2 and V3, MIT and BSD. You’ll need to know what license that piece of code or component you’re borrowing from the internet uses.

3. Support and maintenance

Not everything on your plate will be new and shiny. You’ll have to fix problems in your code, fix problems caused by your code.

4. Give back

You’ll learn a lot from others. Deadlines will make you selfish, you’ll forget to give back. Make it a habit. Maintain a blog. Follow blogs of others. Help people with questions. Contribute bug reports and bug-fixes to community code.