Have you ever met a mechanical engineer who's coding these days? How are they doing? How did they start?
Hi @abrahamEarls007 :) Short Answer: Yes a mechanical engineer can be a programmer , I am doing it, I am a mechanical engineer :), being good or not, that depends, I believe any programmer can be a good one if he wants to, by making enough effort to be good.
Long answer: I used to tell my engineer friends from other fields of engineering this quote:
A mechanical engineer can understand any aspect of engineering.
Well to be more honest with you, I invented that statement trying to impress my friends, never succeeded though (dunno why lol).
Talking more seriously, being an engineer( in general, not specifically mechanical) gave me the sense of problem solving, logical thinking, the ability to work under pressure, the ability to learn by myself, also an excellent base of mathematical knowledge.
I believe that the best programmers will come from computer science graduates, second to them from computer engineering graduates (mostly studying hardware, at least in my country), then from other fields of engineering.
If you love programming, you will have patience to learn it, if you learn it you will love it more, and if you love something that much, you will definitely excel in it..this is exactly what happened and still happening with me.
About 19 years ago I started developing my love for programming and computers in general, I made some small programs with Qbasic and Visual basic, but never took learning programming that serious, 4 years ago, I started trying again to learn Vbasic in my free time, but I stopped when I found the Object Oriented principles so hard to understand.
But one year ago, things changed dramatically, The company I am working in undergone many negative changes leading to employees' frustration, at the same time, I discovered that I have reached the top of the learning curve in my profession, that frustrated me more and more, I am a creative person who cannot live without learning new things on daily basis, I couldn't withstand this stagnant state.
So I started to take programming more seriously, I searched the internet a lot, I chose Python as the starting point because the internet said it was easy to learn!, and that was right , I fell in love with Python, And through Python I was able to understand the OOP principles. After a while, I decided to take a specific path to learn, e.g. desktop applications, web development, mobile applications...etc., I chose Android, because I have many ideas to implement as applications, as well as the freedom to work independently that is offered by the mobile applications' market. And that was the time to start learning Java.
To make it short, Last year only, I learned Python , made some simple desktop applications, some automation scripts, learned Java, Learned Android SDK, made 3 Android applications so far (free applications for my local church community) Learned Sql, Learned Linux (I fell in love with Linux while I was learning programming, no relation here, but this is what happened :D), learned UML, and now I am learning more advanced programming concepts like Clean coding, Design, Design Patterns, Algorithms, unit testing... In my short Journey I discovered the following encouraging facts, hope it will encourage you too :
The more I understand, The more I am able to understand more..
Before, OOP was hard to understand, now I am understanding things I didn't dream of understanding..
The more I put effort in learning programming, The more I am loving it ..
Don't believe the thought that you might loose your passion one day, on the contrary, your passion will multiply with time..
The more I exert effort, the more my ability to exert effort increases..
I started with one hour per day, I am now learning about 4-5 hours per day, not to mention learning while in transportation going to and from work, and this is NOT interfering with my personal life, on the contrary, Programming changed my life in a positive way, it gave me a way to disconnect mentally and emotionally from negative thoughts, a way to rebuild my confidence and my belief in myself, a way to clarify my vision towards my personal life problems, Off course time management is a key factor here.
I never quit my current work, on the contrary, I became more efficient in it, I found ways (inspired by Python) to automate the systematic tasks that consumes time.
I haven't paid a penny so far to learn programming, I have found everything free on the internet.
I am not a good programmer yet, but I am sure one day I will be one, not because I am genius, I am not, but because I have the passion to be, and the willing to invest effort in that.
So, If you are a mechanical engineer, or any type of engineer, or in any other profession, and you want to be a good programmer, you definitely can be, as long as you have passion, perseverance and patience.
Sorry for being long, But I just felt affinity with the question :) Good luck learning :)
Yes, of course, age or profession is not a limit for learning, you can be a good programmer. If you still don't believe my words read this article From Carpenter to Coder
Well, all mech. engineers, technicians and tech. engineers I know are bad at programming. Which does not mean that it's common. However, those guys do not focus on the programming part, but on the hardware part! That's why big companies usually have separated software and hardware teams :)
You could ask the same question the opther way around:
Do you think a software engineer can be a good mechatronic technician?
Yes, definitely, but that guy will try to do more stuff with software and probably screw any hardware optimizations (speaking out of personal experience :D)
Let alone engineering, someone with background in communication and journalism studies can be a programmer also.
So, I think someone with mechanical engineer background have a potential to be a better programmer than someone with communication studies.
They only have to keep learning, passion in what they do (coding) and have persistence.
Anuj Sharma
Co-founder at Appther.com | NodeJs | AngularJs | NoSql | MySql | Ionic |Next Generation APIs Developer.
It's doesn't mater.How did you in your past.Every one can be become a good programmer. In Banglaore ,read story Here.
And I am also come from management background (Bachelor in Business Administration). And now i am a programmer.And I enjoy it.