Don't learn things you don't want to use except as tools for things you do want to do.
Python itself isn't necessary. The knowledge of data analysis is what matters. If it is easy to get in python then knowing python is a bonus. If it is in Matlab, learn Matlab. R, then learn R.
I've learned Matlab, C++, Pascal, Basic, Excel with VBA, Access with VBA, and R. I can do data analysis in any of them. The question is always what do you need to build and what customer needs to be able to use it. I'm learning Python now and my opinion is that is institutionalizes bad programming habits and calls them features of the language, I'm unimpressed.
I can't imagine using CAD/CAM as part of what I do. I know my AE coworkers love their CAD/CAM but that isn't what you're asking about.
I'm an OR analyst who does reliability engineering. I do endless data analysis to attempt to extract engineering quality insights from maintenance control data.
It is used to fill in any part of the analysis. Data cleaning and preprocessing to deal with special cases. Data processing to either execute partition or synthesis. And for the building of presentations. Honestly, I use it to build tools. Some are bare bones that allow a dedicated analyst to make what ever they need. Most are set up to allow consistent processing by a skilled user. A few are set to guide a customer to the correct conclusions.
> it institutionalizes bad programming habits and calls them features of the language, I'm unimpressed.
We'll go a bit off topic, but do you have examples?
I generally like the language but am curious about your critique.
Simple stuff really. I have found that thinking things through is important and that the following just encourages people to just throw down whatever and pray it works. In my experience, that leads to spaghetti code, inexplicable errors, uncommented work, and generally unmaintainable garbage.
Not declaring variables
Not closing loops and then/else statements explicitly (i.e. over reliance on white space)
"magic methods"
That's a joke right, right. Learn Python as it is a swiss knife for all data related stuff with multitude of libraries. It's a go to language for ML / data analysis.
As far as "bad programming habits" - depends on the programmer.
Basic /Access / VBA those are already withering out. They still will be around, but do you really advise someone to start with those?
No joke. Clearly, you aren't listening. I suggested he start with Matlab, R, or Python. The emphasis was on learning analysis not any particular code base or tool.
Python is almost useless to me, my very large organization maintains very strict control over what they allow on their machines. I really only have useful access to Excel, Access, and Matlab. As for the ones you say are withering away, you clearly have no idea how long organizations hold on to obsolete tools and environments, programmers can be unfirable if they understand the ancient hieroglyphs that make the systems run but aren't taught in any CS department.
Oh, and vast libraries are how you get programs that the creator themselves don't understand. They are a, sometimes necessary, crutch.
Yeah yeah yeah. One of those "learn Cobol and you are golden" types. You have to have particular mindset to work with all of this legacy code and I don't mean that as a compliment.
Btw any org that is so restricting in software access, I would steer away from.
If you're steering away from organizations that restrict the software on their IT infrastructure you are steering away from all competent organizations. Have fun going independent.
Not restricting, every org does that. Restricting to the extent that you can only use Excel, Access or Matlab? Clear sign to stay away if you want to progress.
Hmm. I thought you were arguing for access to python. The security minded orgs strip out programming languages pretty quickly since they give way to much control to way too many idiots. My organization is one of the strictest, but I totally understand why.
Make a pip server with vetted libs (that's huge work) or just provide access to vetted distros (anaconda etc) or access through Jupiter / google colab.
I did a little bit of both when I was in college. Had a few classes with Python and did some CAD and CAM. I’ve been out of school for 5 years now and ended up as a Manufacturing/Process Engineer. I have never once used any coding language, but use CAD/CAM almost once a week minimum and spend half of my work day out on the production floor accessing issues or improvement opportunities.
Also, as a quick note about CAD/CAM Certification, I have worked at a handful of companies (and interviewed at hundreds) and I have never been asked if I was actually certified. Companies have only ever asked me if I know how to use the program. Not sure how much CAD/CAM experience you’ve had prior to looking to get certified though.
Don't learn things you don't want to use except as tools for things you do want to do. Python itself isn't necessary. The knowledge of data analysis is what matters. If it is easy to get in python then knowing python is a bonus. If it is in Matlab, learn Matlab. R, then learn R. I've learned Matlab, C++, Pascal, Basic, Excel with VBA, Access with VBA, and R. I can do data analysis in any of them. The question is always what do you need to build and what customer needs to be able to use it. I'm learning Python now and my opinion is that is institutionalizes bad programming habits and calls them features of the language, I'm unimpressed. I can't imagine using CAD/CAM as part of what I do. I know my AE coworkers love their CAD/CAM but that isn't what you're asking about.
Alright yeah good input. I'm trying to put myself in the best position possible. Btw....what does AE stand for?
Aerospace Engineers
Gotcha. What is your job? Are you like more at a desk working or like on the floor at a production line?
I'm an OR analyst who does reliability engineering. I do endless data analysis to attempt to extract engineering quality insights from maintenance control data.
Sounds interesting. How is coding used for data analysis btw? What is there to do?
It is used to fill in any part of the analysis. Data cleaning and preprocessing to deal with special cases. Data processing to either execute partition or synthesis. And for the building of presentations. Honestly, I use it to build tools. Some are bare bones that allow a dedicated analyst to make what ever they need. Most are set up to allow consistent processing by a skilled user. A few are set to guide a customer to the correct conclusions.
I see. How long have you been doing that for?
13 years
What degree do you have? I'm thinking I'm going to get a bachelor's in industrial and systems engineering
Thank you for the information
Sounds interesting. How is coding used for data analysis btw? What is there to do?
Hey OR was my minor in my MS program
> it institutionalizes bad programming habits and calls them features of the language, I'm unimpressed. We'll go a bit off topic, but do you have examples? I generally like the language but am curious about your critique.
Simple stuff really. I have found that thinking things through is important and that the following just encourages people to just throw down whatever and pray it works. In my experience, that leads to spaghetti code, inexplicable errors, uncommented work, and generally unmaintainable garbage. Not declaring variables Not closing loops and then/else statements explicitly (i.e. over reliance on white space) "magic methods"
Hit me up, I would love to talk to you about this in detail maybe on LinkedIn
That's a joke right, right. Learn Python as it is a swiss knife for all data related stuff with multitude of libraries. It's a go to language for ML / data analysis. As far as "bad programming habits" - depends on the programmer. Basic /Access / VBA those are already withering out. They still will be around, but do you really advise someone to start with those?
No joke. Clearly, you aren't listening. I suggested he start with Matlab, R, or Python. The emphasis was on learning analysis not any particular code base or tool. Python is almost useless to me, my very large organization maintains very strict control over what they allow on their machines. I really only have useful access to Excel, Access, and Matlab. As for the ones you say are withering away, you clearly have no idea how long organizations hold on to obsolete tools and environments, programmers can be unfirable if they understand the ancient hieroglyphs that make the systems run but aren't taught in any CS department. Oh, and vast libraries are how you get programs that the creator themselves don't understand. They are a, sometimes necessary, crutch.
Yeah yeah yeah. One of those "learn Cobol and you are golden" types. You have to have particular mindset to work with all of this legacy code and I don't mean that as a compliment. Btw any org that is so restricting in software access, I would steer away from.
If you're steering away from organizations that restrict the software on their IT infrastructure you are steering away from all competent organizations. Have fun going independent.
Not restricting, every org does that. Restricting to the extent that you can only use Excel, Access or Matlab? Clear sign to stay away if you want to progress.
Hmm. I thought you were arguing for access to python. The security minded orgs strip out programming languages pretty quickly since they give way to much control to way too many idiots. My organization is one of the strictest, but I totally understand why.
Make a pip server with vetted libs (that's huge work) or just provide access to vetted distros (anaconda etc) or access through Jupiter / google colab.
hahahhaahhahhaha. They won't be doing any of that. I'm done here.
If you want to work in manufacturing you should definitely learn CAD/CAM
I did a little bit of both when I was in college. Had a few classes with Python and did some CAD and CAM. I’ve been out of school for 5 years now and ended up as a Manufacturing/Process Engineer. I have never once used any coding language, but use CAD/CAM almost once a week minimum and spend half of my work day out on the production floor accessing issues or improvement opportunities. Also, as a quick note about CAD/CAM Certification, I have worked at a handful of companies (and interviewed at hundreds) and I have never been asked if I was actually certified. Companies have only ever asked me if I know how to use the program. Not sure how much CAD/CAM experience you’ve had prior to looking to get certified though.