If you’re a data scientist, there’s a skill set you can learn that is transformational.

It will open doors for you, wherever you go. Doors your colleagues can’t even see.

It will rocket you to a new level, where what you accomplish with ease makes others drool with envy.

And the best part: once you really learn it, you have it working for life.

What is this skill set? you wonder anxiously from the edge of your seat.

Software engineering skills.

Add this to your almighty data science skill set and nothing will stop you. I don’t mean just becoming a data engineer or a type B DS. Even if you want to remain a normal A-for-analyst type data scientist, learning this skill set allows you to run emoji-happy laps around scientists. of data with crying emojis that do not.

So how do you do that? Some of the keys to this kingdom:

1) Escape from the notebook

You’re going to hate this one:

You need to get EXCELLENT at writing code OUTSIDE of notebooks.

Yes, I know you love Jupyter. He is fantastic. Nothing against.

But you can only go so far in that park.

If you want to write functions, classes and modules that OTHER data scientists import into THEIR notebooks…

Build systems that take advantage of the work other data scientists are doing, at a higher level…

Or even make your brilliant ideas usable by people who don’t read math books for fun…

You can’t do any of these things in notebooks. Not in any remotely effective way.

It’s time to equip yourself with more sophisticated software engineering tools and practices.

2) Master object-oriented programming

It’s weird how bad most data scientists are at this.

OOP is much more important than you think. It is the foundation for everything else you do when writing powerful and complex software systems.

When you import a DataFrame from Pandas… that’s a class.

When you create a LogisticRegression classifier in scikit-learn… that’s also a class.

You are USING classes all day, every day. Type B data scientists created them for you to use.

But that only scratches the surface. NOTHING will level you up and set you apart from other data analysts like learning to write good object-oriented code.

3) Learn to write unit tests

Well, except maybe writing unit tests.

This is a BIG deal. The libraries you rely on every day use automated tests. They use a lot of them. That should tell you something.

Writing automated tests and doing test-driven development…it’s a SUPERPOWER. It completely changes what you are capable of doing. When you learn to write tests, suddenly you can achieve things that you couldn’t even touch before. Especially when combined with your object-oriented programming skills. See how they build on each other?

Leave a Reply

Your email address will not be published. Required fields are marked *