ab111111111
For a lot of teaching jobs, mathematical skills really aren't necessary. You don't need to be able to do long division to teach Shakespeare. You don't need to know algebra to teach French. For those professions, mathematical skills are indeed a "nice to have".
I think the individuals taking time out from their highly paid days of not bothering to add doc-strings to functions, skipping adding READMEs to new projects and not bothering to name their variables anything more informative than "data" should take consideration of these facts before posting here to say that overworked and underpaid teachers are lazy and stupid and should be required to jump through a bureaucratic hoop to confirm that they have a skill they don't need.
4) Changes to the replacement format should be human-readable in a diff
If counting the instances of a particular string is all you need to do (and it quite often is) then de facto all data is "clean", as you can get the job done with grep. If, on the other hand, you require a relational database with strict primary and foreign key definitions and NULL limitations, then you're gonna have to put a lot more work into scrubbing.
Added to that, the more stringent the defition of "clean" you're working with, the more you're going to have to deal with trade-offs. E.g. what do you do with missing required data field values? Loosen the requirement? Add defaults? Dump those rows? And what do you do with data that makes no sense, e.g. where end dates come before start dates? What if you need to anonymize the data to meet data privacy requirements? Is rounding dates to the nearest month or year fine, or will it render the data useless?
There are recurrent problems, and recurrent solutions, and the author is absolutely right to say that more open source work should be done in that area. But due to complexity and inconsistency of the definitions of "clean" and "dirty", we will unfortunately never get to the point where we just feed some library the path to an arbitrary dirty data directory, press enter, go off to grab a coffee and come back to find our freshly cleaned data waiting for us.
Imagine you came up with a technically superior version of email, and it functioned technically perfectly, but you were unable to convince anyone else to use it. Sure, it would "work" technically in a narrow functional sense, but it wouldn't "work" in terms of doing what it was actually designed to do. My taking LSD isn't really affected by other people doing so or not: it's a private thing. But my sending an email is: it's a network interaction.
The author's claim is correct in the sense that, if you hold a party and no-one comes, the party didn't really work.
When you learn a new language, particularly as an adult, you learn that you have limitations in its use and to be able to accept and work around them. You learn that that's nothing to be ashamed of, because you put in a hell of a lot of work and can now function in what used to sound like complete nonsense to you. You learn to prioritize keeping things short and simple to minimize the chance of your being miss understood.
In your native language, amongst native speakers, everyone's so skillful at communication that there's often more of a focus on how something is said than what is said. I.e. it's so clear that other speakers will understand a speaker's basic "I want to have this done by tomorrow" message - however they formulate it - that they often put more focus on other issues, such adding jokes or word-play, ensuring the correct level of politeness is used or communicating the nuisances of their current emotional situation. To other native speakers, that results in a richer signal, one containing more information which costs them no effort to understand and which they can filter out or pay attention to as they wish. To a non-native speaker, that additional information is just noise: like listening to a message over a bad radio signal. It costs them a lot of effort to attempt to understand it, they often fail in doing so and it gets in the way of their comprehendig the core message. They just want to hear "I need it by tomorrow morning", not "If it isn't too much trouble, is there any chance we could get this done by tomorrow?"
A monolingual can get this in the abstract, but it's easy for them to forget. Someone who's gone through the millions of minor embarrassments, humiliations and triumphs it takes to master a second language is far better disposed to remember it and act on it in practice.
- Your commute is sufficiently short (I managed a 30k round trip every day at my last job. Took about 45 minutes each way.)
- You have facilities to shower and dress at work (I was lucky enough to have this, but some people who don't use e-bikes to avoid arriving as a sweaty mess)
- You have sufficient time to shower and dress at work (Say 15 minutes? Is that really a major issue? Just think of all the time you're saving by exercising and commuting at the same time.)
- You don't have to bring kids or sizable cargo (I've got a kid's bike trailer and a kid's bike seat to take my kids to Kindergarten on the way to work)
- Weather is sufficiently good (I live in Germany. I get by. When there's deep fresh snow I don't cycle, the rest of the time it's fine.)
- You're sufficiently healthy (Cycling's a great way to get sufficiently healthy.)
I've also recently found that using the sqlite3 command line tool increases my productivity when doing data sciency stuff a lot. It's a super fast, super simple way of making sense of CSV data, especially for the selecting an joining operations that are so unintuitive in pandas. Once that's done, I can dump the results into Jupyter or RStudio for transformation and/or visualization.
Another personal productivity win I've discovered is using two-line python scripts to write really long and repetitive SQL commands (select count a, b, c... from huge_table where d... and e... and f...; etc.) and then running them in SQLite.