What is best stratergy for a mechanical engineer new to programming to get IT Job


I answer this because I am a machine engineer and I use a significant amount of my time program (especially Python, JavaScript, HTML / CSS, but also MATLAB, C #, and VB .NET). I will not touch on the time frame for getting a job and instead I will focus on the use of the program as a performance engineer and which programming languages ​​are most helpful in mechanical engineering.


First, I will address the use of the system as a mechanical engineer. Planning skills can be very helpful, depending on what you want to focus on. You can focus on any number of things in your work, from machine construction, structural analysis, control systems, fluid flow, heat transfer, or others. Conducting analysis in any of these areas is entirely aided by a strong competence in the systems. However, it is also possible (and common) to have a successful career as a mechanical engineer without the knowledge of planning anything. I work with many reputable, respected engineers who can plan their way out of the box. Some areas within mechanical engineering require system knowledge over others, so while you may have areas such as machine design and structural analysis where systems are less common, there will be other areas such as control systems where every engineer knows how to plan other sizes. It is also possible that your work will not focus on analysis at all. I work with many engineers who specialize in production (making sure our parts are built on time and in a certain way), or testing, or those in the field who maintain equipment, or who lead small groups of other engineers. All of these engineers are able to perform their tasks successfully without any programming knowledge.


It is therefore possible to log in as an engineer without any programming knowledge. However, as an engineer you will probably spend most of your time in front of a computer, and being able to do programming gives you the ability to make the most of the computer you spend most of your time with. So I firmly believe that every engineer can benefit from knowing how to design.


Now, I’m going to deal with programming languages ​​that are widely used within mechanical engineering.


MATLAB is probably the most common language you will find for mechanical engineers using. It is intended for mathematical science and is based on matrices. Another advantage of MATLAB is that it is quick to start - it comes integrated with the development area, and you can burn it and start making plans faster. Another big disadvantage is the price. It is very expensive, and if you like to plan at home (as I do) then you may find that this is a roadblock. Your company may or may not pay for your license.


I found Python to be a great alternative to MATLAB. Python is open source, and you can access comparable functionality with MATLAB by installing NumPy, SciPy, and Matplotlib (there are other Pandas-like packages you might want as well). Python is a highly respected language and is widely followed in the scientific community. One of the great advantages of Python (other than the free price) is that it is a programmatic language (meaning that it is not specifically designed for scientific planning, although that is very good). This means you can use it to do many other things you would like to do, such as working with your file system or building a website. Because of this variety, Python will probably give you a "**** Deer" in value compared to the time you have invested.


HTML, CSS and JavaScript (you mentioned) are all mainly focused on web development, and as a machine engineer you may not need them in your work. However, I have found that my favorite way to extract data from a Python program is to extract from an HTML document. I will add data to <table> objects, as well as images from sites to <img> tags (If you use Matplotlib) or draw sites to <canvas> (if you are using a JavaScript library). Therefore, knowing this can also help as a mechanical engineer.


C # and VB .NET are ready to upgrade desktop applications with a good user environment. Visual Studio (IDE of these languages) provides a nice drag-and-drop GUI builder that makes the interface building process faster and easier. The advantage of building in these languages ​​is that you can get a completely good IDE for free (Visual Studio Express is free, and with the efforts of a single developer it will do the job), you can start editing quickly and you don't have to worry about setting up your environment, and you can communicate well * with other Microsoft products. such as MS Access and Excel. The big downside to these languages ​​is that they are languages ​​that are usually done without good (free) libraries, so if you want to use them for engineering analysis you will have to write your own libraries or buy them yourself. Basically, I will use these languages ​​when I make a database application or application to work with a file system, and if the app needs to have a good interface of colleagues that I will use. If I create something to do engineering analysis, then I will use MATLAB or Python instead.





Another language to be spoken is VBA. Clunky and awkward and I hate to use it, but it has the unique advantage of integrating directly into all MS Office products (so you can easily access it from MS Excel, Word, Outlook, etc. Just by tapping Alt + F11) . And any code you type inside the file will follow with the file, so you don't have to worry about posting - so you can just transfer the .xlsm Excel file to a colleague. Note that this is not a good solution for a distributed system - if you want more than one person using this, go to another solution. VBA is a respectable solution

Best Luck

Mechanical Programmer