Where to start:

As a developer you would be keenly looking to re-use your development skills into data science and that’s a good thing as development skills are important part of the Data Scientist’s toolbox.

Up-skill on Python/R : If you are already comfortable with Python/ R you saved yourself a lot of time and you should be ready to move to the next step. If you are new to Python / R you would need to get yourself comfortable with anyone of them to begin with. Python is great for beginners who especially those who are new to programming. As a C# developer I was immediately drawn to python and was amazed how easy it is to get things done in python. A great way to learn python is to start doing it, I would recommend HackerRank . Start doing the easy ones get comfortable with the syntax and then move onto medium and hard ones. It is completely fine if you are not able to solve all the problems, the idea here is get comfortable with the language and not to master it, our real goal is master machine learning.

Up-skilling SQL: If are new to SQL then you should spend time learning SQL as most of the data especially the enterprise data resides in relational databases, so it’s very important to understand how to query them and the best resource out there to practice SQL is https://sqlzoo.net/ .

Apply machine learning: This is the most interesting part of the journey as you acquire some new skills and concepts here. Make sure to select one online course from the plethora of the courses available out there and make sure to complete that. Luckily for us, the courses have been curated and listed here based on their popularity.

I personally like and enjoyed the course from udemy as it had lots of exercises to try and is very hands on. This course covers the underlying statistics and probability concepts as well.

Gamify the learning process:

Kaggle : The most fun way to make progress is to gamify the whole experience. Kaggle does that to some extent. Leader boards, points, progressing from novice to master, forums help you stay motivated and keep trying again and again.

Staying Connected(Community):

Listening to podcasts: I hear the below podcasts on a regular basis and the good thing about podcasts is that you can hear them while you are travelling or doing some boring stuff.

Ask for help: Make sure and feel free to ask for help from peers and managers if they can help you in this journey. Majority of the time they would be happy to help.

Follow people on twitter/ LinkedIn: I stay in touch with what’s happening around data science using mainly twitter and to a lesser extent LinkedIn. Twitter is a great source to connect to experts and learn. Here is a list where you can find who i follow. https://twitter.com/AnoojNair/lists/datascience-ml

Github: Make sure you commit all your code to github so that it’s easier to check back later if required.

Meetups : Meetups are a great place to meet people in your city working in the data science field. It can be a little scary to start networking and chatting to strangers, but give it some time things should improve over time.

Pet Projects:

Start doing some pet projects that you feel passionate about. Try to find the right datasets, perform the pre-processing and then start applying the machine learning models to uncover insights. I like sports and hence any dataset that is about sports gets me interested. You can find interesting datasets in the links below. just search for them and start exploring.

Create a online presence:

Blogging/Teach/Share your journey : Make sure you share your journey and your learnings with the data science community as it will help you keep motivated. Teaching is the best way to learn something so make sure you create content which helps the community. Start a blog and try to add value to the community.

Don’t forget the soft skills:

Uncovering insights from data using a fancy algorithm is an awesone skill to have but it’s of no use if those insights are not shared and presented well. Meetups and events like Toastmasters can be a great place to start and improve your presentation skills. Always start small with a presentation to a small group of people and get their feedback and then slowly progress towards a larger group.

Staying motivated:

It’s very to stay consistent with your goals. It’s very easy to over do it and then burn out , pace yourself so that you can sustain yourself in this journey. Optimize your life to help you reach your goals.

Iterate the above steps:

Data Science is ever evolving field so it’s always important to iterate , track your porgress, learn and unlearn concepts. The important bit is staying motivated and enjoying the journey.

Conclusion:

This blog post is a work in progress as i am myself taking this journey and these have been my findings. I will keep updating this post as and when i uncover great resources.

and got an exception “The email message cannot be sent .make sure the email has a valid recipient“.

The reason is the ClientContext, you are passing to the function. Make sure the sharepoint site with which you created the Client Context has the Mail Recipient listed in the All People Group. To check that,

Ever tried to set custom properties for the terms in your site navigation. Recently i tried the same but ended up searching for a while, after a lot of playing around , found a way to set custom properties. Following snippet will create a new term, set the target url , catalog target url and also set a custom shared property.

Ever tried to get tasks or emails from exchange using ews and faced this weird exception id is malformed. In my case, i had a http get to my ews method which accepted the id as a query string and id contains some special characters like +, / , = . and all the + characters were replaced by spaces during the http get call. a example id will look like this.

In simple terms, Interfaces provide code contracts which all classes that implement the interface have to follow.

Following is a simple example for a typescript interface and a class implementing the interface.

JavaScript

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

interfaceIAnimal

{

legs:number;

makeSound():string;

}

classDogimplementsIAnimal

{

legs:number;

makeSound()

{

return'Bow bow';

}

}

vardog=newDog();

dog.legs=4;

alert(dog.makeSound());

alert(dog.legs);

The above code sample creates an interface named IAnimal which has a property and a function which all animals have. The class Dog implements from this Interface and has to provide definition for the property and the function.