Good morning. I’m a newbie to this fine group. I’ll receive my MBA in March and I want to be a Business Analyst. I’m trying to gauge the level of SQL or Python I’ll need to be successful. Will a basic understanding do? Do I need to acquire certifications in one or both of these languages? I’d appreciate your input.
Thanks in Advance,
Our resident Python expert, @rawraw will have you sorted out in no time. Stand by.
Depends on what type of job and company you are trying to work for. In general, it takes just a couple days to get going with SQL. Python is going to take more effort, since it is going to require learning programming concepts in addition to the syntax. If your coworkers are going to exist in an Excel world, I would focus on SQL and then analyzing the data in Excel. And you can use some tools that allow Python in the Excel environment, to learn the language and super charge your workbooks
A basic understanding is fine for a job that doesn’t expect you to use the tools (for example, automating tasks the prior guy did manually). But if the job requires Python or SQL knowledge, then a basic understanding probably won’t cut it. But the easiest one to become moderately good at is SQL. For example, I have a buddy who went to work for Google where most of his job was in SQL but he never used it before. Within a few weeks, he was up and running. That would not be the case with Python requirement for a job.
Neither are too difficult, but Python will take dedicated effort over months. I personally wouldn’t go for certificates. I’d want to just know how to use the tool
But doesn’t a certificate demonstrate knowledge? I mean, anybody can say, “I know Python”. But a certificate means that you’ve at least paid a little attention.
For the record–I know nothing about Python. But if I were hiring, I’d like to see a little something to back it up. (Just my very ignorant .02)
I think that is correct in theory. But in reality, coding is judged more on your perceived skill and not a certificate. If python is required, they are going to ask you programing questions and may even do a coding task. Perhaps it helps with HR and other non tech people? But tech people tend to focus on things like your side projects, github profile, etc to determine if you can code. Whether you completed a coursera course or whatever is pretty meaningless
Another note/question - I don’t know anything about Python. I don’t even know what it is. I have never actually seen anybody use it in real life. So how does a person straight out of B-school know that they need to understand Python?
I guess I’m trying to say this–to an ignorant fool who knows nothing about this–is it a good idea to go get this training? I mean, do you know for a fact that you need it? Or is it just “Well, I’ll learn it and then hope that somebody someday might find a use for it.” If that’s the case, why not just wait until you need it? (Again–I’m not trying to argue. I know zero about it, but it seems like that time is better used for something than learning a computer program that very few people use.)
Python is useful, but as always, domain matters when we say that. To your point, I tire of hearing youngsters with zero business experience expect that it will be the be-all, end-all thing to have. Even in domains where Python is useful, that’s just getting to first base. The killer connection is made when one of these cookie-cutter coders can demonstrate how their coding solves real business problems, i.e., showing up at an interview with a substantial piece of already-built software ready to demo, and where the benefits are instantly recognizable to the “boomers” that will be signing their paychecks.
All of these nerds are running around out there looking to become “programmers” when what they really glamorize (even though they don’t even have the experience or understanding to know it yet) is that what they really want to be is “software designer” or “data architect.” Those are like the doctors, line programmers are like the nurses.
Yo @rawraw I’m OK with SQL but have pretty much zero knowledge of Python (max. 10 hours). I’m in risk management. How would you go about becoming at least passable? Correct if I’m wrong but doesn’t the same principle apply to Python as to Excel; there are so many tricks that one can master that there’s no reason to try to learn all of them, just the ones that are applicable to your job?
What I’d encourage you to do is take an inventory of things that you spend time on consistently. Perhaps you prepare a daily position report, or a weekly report on risk limits. I’d focus on the project that you spend the most time that seems like it is not that complicated (if you can do it in Excel, it is not that complicated).
In doing that, you’ll get a sense for loops, functions, etc. You may already have this with your 10 hours. But just getting some sloppy code to automate part of your work. Once you have that thing automated, then you can start seeing the power by learning some computer science concepts and leveraging that work elsewhere. This is a great talk (https://www.youtube.com/watch?v=MpFZUshKypk) and this is a great book (https://www.amazon.com/Pragmatic-Programmer-journey-mastery-Anniversary/dp/0135957052)
For example, say there is a report that relies on generating PowerPoint with graphs. Well once you get the prototype working, you spend a little extra time and make a Python module that takes any analysis you do and creates a PowerPoint deck. Now every report you do can be turned into a PowerPoint with just a few lines of code (there are lots of lines of code to generate the powerpoint, but you wrote that and now just rely on it like an Excel plugin. You only mess with it to add features or improve it)
I have a friend who works at a commercial bank with one of the lowest efficiency ratios in the country in risk management. That means that of all banks, they have among the lowest cost structure relative to their revenue. And even in his job, he has taken some reports (such as daily liquidity reporting) that used to take hours a day and automated them. And he hasn’t even learned what a loop or a function is.
I also started out hiring freelancers on Upwork. Sometimes I just didn’t have the time to figure out how to generate a PowerPoint slide myself, because I had other work tasks. So I’d pay some guy in Russia $20 to build me a prototype. I learn from his example, expand it, etc. I think it is a very affordable way to learn quickly and avoid spending hours trying to find how you should approach the problem. When starting out, it can be overwhelming since you can solve any problem 20 ways in code.
I’m two years in now and it’s amazing the progress I’ve made. I get reminded of it each time I open ancient code I wrote when I first started (yikes!)
Feel free to DM me if you have specific projects you want to talk about and I can let you know how easy or hard it would be.
I can’t speak for this guy, but in general more and more job ads I see request Python experience (or similar coding). Also given his question, he seems worried about certifications. Coding certifications seem quite common these days.
I think DoW is right. A lot of people, even computer science grads I’ve worked with, don’t really know how to create value with their code. Part of this comes through having domain experience and part comes from solving projects for yourself. In data science, all these people will do the Titanic or Iris data analysis to prove they can analyze stuff. But if you give them a dataset without tutorials online, they do not know how to think through how to approach the problem.
Ok. Thanks for your input. I have to admit that my Excel skills are rather subpar as well. Before diving in to the world of Python, would it be better to first become advanced in Excel? My goal is to become very proficient in Excel, Python and Sql but I’m just wondering about the marching order of things. It might be best to DM because my job is pretty ad hoc and very few of the standard risk management tools apply to my job.
Excel is a good tool, but it ultimately just depends on your long term goals. What type of work do you enjoy?