Home Artificial Intelligence Wish to Be a Higher Data Scientist? Write Coding Tutorials!

Wish to Be a Higher Data Scientist? Write Coding Tutorials!

0
Wish to Be a Higher Data Scientist? Write Coding Tutorials!

Photo by Mimi Thian on Unsplash

After I first began writing, I could hardly code. My little Python experience got here from university projects. At the identical time, I believed I used to be an amazing author! Now looking back, I cringe at a few of my earlier articles.

This shows me that writing tutorials has improved each my technical and communication skills. Ultimately, it has made me a greater data scientist. I need to share my experience and discuss some specific advantages. This includes writing readable code and providing step one to writing about difficult topics.

Technical skills are obviously vital to developers and data scientists. At the identical time, we work in fields which might be continuously changing. This implies we want to maintain up with the newest tools. This might be difficult and time-consuming so it takes an actual commitment to learn repeatedly.

Writing has motivated me to consistently learn recent technical skills and to develope a deep knowledge on those topics.

Writing has been an amazing motivator. Not only can I learn recent things but I can share those lessons with the world. It’s addictive — having people read and interact along with your work. The need to consistently post recent articles has pushed me to consistently learn recent things.

Not only that but I find writing is the best method to learn. Often it’s only after I’ve tried to clarify something that I’ve realised I don’t actually understand it. On top of this, I at all times aim so as to add value to a subject. Introducing novelty requires an excellent understanding. In this fashion, writing has been a check on my knowledge. It has pushed me to really understand the technical concepts I write about.

Writing readable code

A related skill is writing readable code. Good code should explain itself. Similarly, a tutorial based on readable code is less complicated to write down. I spend less time explaining what the code does and infrequently you haven’t got to clarify it in any respect. I’ve found this profit extends to collaborating in industry.

Any idiot can write code that a pc can understand. Good programmers write code that humans can understand.

— Martin Fowler

An example comes from a recent article of mine — Using SHAP to Debug a PyTorch Image Regression Model. Within the tutorial, I worked with SHAP values given in a 5-dimensional array. I desired to visualise this array using considered one of the package’s functions. To do that, the array first needed to be reordered. Originally, the code looked like this:

# Reshape shap values for plotting
shap_numpy = [np.swapaxes(np.swapaxes(s, 1, -1), 1, 2) for s in shap_values]

The nested swapaxes functions weren’t fun to clarify. The TLDR is that the code transposed the array’s third dimension with the fifth dimension. I discovered myself writing a lengthy paragraph about how the code was doing this. So, as an alternative, I rewrote the code:

# Reshape shap values for plotting
shap_numpy = list(np.array(shap_values).transpose(0,1,3,4,2))

The transpose function is more intuitive and the code was easier to clarify. When writing code for tutorials, I’m at all times searching for examples like these. Readable code makes the writing process smoother and the tutorial more digestible.

I’ve found this skill particularly useful when collaborating with other professionals. You may never get away from handovers and code reviews. Explaining code during these processes is not any different to explaining it in an internet tutorial. Ultimately, writing readable code means I’ve spent less time explaining that code to colleagues.

After I first began working, I quickly realised that non-technical skills were also critical. You not only have to get results but in addition explain them and your process. I had to supply emails, presentations or technical documents on a every day basis. There was no getting away from writing!

…traditionally, different people follow different paths of their careers―some are more technical, others are more creative and communicative. A knowledge scientist has to have each.

―Monica Rogati

Writing coding tutorials is great practice for this. The more I wrote the higher I used to be at communicating at work. Complex evaluation became easier to clarify and I needed to make clear my work less. I quickly saw the tangible advantages. Yet, this was just the beginning.

Using tutorials as a place to begin in your writing

In comparison with other articles, coding tutorials are easy to write down. There are not any deep thoughts or nuanced arguments. You only explain the code. This implies they is usually a method to get into tougher writing.

Writing is something you could practise to get good at. Tutorials helped me take my first steps. I began to experiment by adding catchy stories to the instructions and conclusions. Stumbling through these helped me to maneuver into various kinds of articles.

Taking more confident strides, I moved onto pieces based on my experience as an information scientist. These were articles based on more abstract concepts, my personal experience and feelings. I discovered these far harder to write down than any coding tutorial. Yet, I’d not be at this point if not for those first tutorials.

Looking back, there have been many advantages from writing coding tutorials. I’ve improved my technical knowledge and learned to write down readable code. Writing tutorials has also brought me to the purpose where I feel confident to write down about nearly anything. I haven’t even mentioned the advantages for my status and the financial compensation.

So, when you are excited about writing, coding tutorials are an amazing method to start. In case you are scuffling with ideas, you could find this text useful:

LEAVE A REPLY

Please enter your comment!
Please enter your name here