How do we learn multiple technologies at once?

Hi,

Technologies like Cloud, DevOps, Data bases, Data Enggineering, Deployment, etc… along with the core subjects like Python, Data Science, Machine Learning, Deep Learning, Version Control, Command Line etc… constitute the Full Stack of Data Science.

So, how do we learn all such multiple technologies at once??

Shud we try to learn them one after the other

Or

Multiple ones simultaneously??

Either ways I feel it’s gonna consume a loooooot of time…

So, can any one please suggest the most efficient strategy to learn them at a much faster pace & also retain them for long?

Truly appreciate the help.

2 Likes

Hey @Datom,

If I’m being honest, unless you’ve gotten a 1:1,000,000 ability to be able to pick up abstract concepts and run with them at some unbelievable pace where you become competent, I would probably hold off on learning too many things at once. While it’s true that what you listed are in the same sphere of one another, some of these require the understanding of more fundamental knowledge. Like going into deep learning isn’t going to do you much good without at least a fundamental knowledge of machine learning, which won’t help if you aren’t familiar with data science or statistics. Think of this as your first two years of undergraduate studies. How much of an understanding do you really have in each of those compulsatory fields of studies as a whole? Probably not. You’ll likely have one or two areas that you killed at and others that you don’t. So my best suggestion would be to probably focus on areas that you don’t totally suck at first.

Getting into data science and its various branches is sort of like getting into other major fields of science like engineering or medicine. It’s going to take a while, whether you like it or not. Sure it might be true that there are like a few people out there that can pick things up like nothing, there like hundreds of thousands that aren’t going to do that. So first thing first, to get good (or at least competent) is to have a healthy framework and expectation of realism without getting bogged down by possibilities.

After that, if you want to actually become competent in something, figure out what your end path-goal is. Like do you care more about making predictions to drive outcomes? Do you really care about developing software to serve some kind of end goal purpose that relies on data? Or is your interest in data mainly involved in just making storytelling a more enjoyable experience? Like a full-stack end goal is something that usually comes from necessity or situational circumstances that calls for it, but rarely is something that is sought out with no end goal in mind. Like most Full-Stack developers are usually in start-ups b/c of low funding to hire more engineers so they have to have someone do everything (and not that great in that other area, to begin with) or in major players in the industry after years of being a specialist in one area that they eventually pick up other stuff along the way and fall into that role. By figuring out that path, you will more or less narrow down that list to determine what’s a necessity for you as opposed to a want.

Once you have your path, pick the thing that would return the most return on your investment (i.e. time, energy, sanity), that you already don’t have a competent/working knowledge of that you can rely on, which I would imagine is some kind of programming language. In data science, the debate is either Python or R (but I’m guessing you’ll go with Python which is cool). Pick that up, focus on it, and set a REALISTIC outcome with a REALISTIC timeline. Give yourself something decent like 6 or 12 months to work up to doing your first-ever data analysis project to account for inevitable mind blocks and frustration that comes with it. Trust me, it took me like 4 months to just get comfortable with learning programming language without having to rely on Google for basic syntax. As a self-learner, this isn’t a race. You’re ultimately in charge of your learning experience, so why put unnecessary pressure or conditions on yourself that will make you burn out and not maximize your learning experience.

Now, during those stumbling blocks, there are many things that you can do to get out of it that varies based on your personality and what’s best for you. It could mean taking some time off to explore a bit of something else or review older stuff to get your mojo back (so to speak) and a renewed drive to get back on that path. It could also mean taking a big step and go outside your comfort zone with starting a project and force yourself to deal with challenges that you’ll likely face in real-life scenarios as a data scientist/engineer/analyst. These are things that I do to help get through these blocks as I progress in my understanding of data science, but yours may vary.

However, if you are really adamant about learning multiple things at once, pick things that are highly regarded as being foundational in your path and complementary to one another. So if I use web development as an example and the focus would likely be on front-end development, my focus would be primarily on HTML and CSS with some knowledge of Javascript to allow some function on the front-end stuff to work. If you got that as a foundation and get competent in that area within 6-12 months where you were able to make your first solid website or two, then it’s probably worthwhile to pick up something like React or whatever to move onto more advanced areas.

After that, just start doing projects (ideally simpler ones) and, you’ll eventually be put into a situation where you need to call on these skills and really push them to accomplish your given task. This is more or less a trial-by-fire situation but it really will allow you to practice those foundational skills in a repetitive manner, while also introducing some situations to call upon other higher-level concepts to solve a problem. Think about how many times you’re going to need to do exploratory analysis to see what your data looks like. I’m pretty sure by like the fifth project, you’ll know how to use the “generate a plot” syntax.

All in all, I think this will be the best course of action for you to make the most of your time in learning and understanding data science. If you’ve got other ideas or if circumstances are different in your case, that’s cool. However, I would say that this path is probably the best option if you don’t want to start feeling like you’ll want to pull all of your hair out and really suffer the mental anguish of imposter syndrome if you put those listed skills on a resume and end up with your first live-person interview.

-Mike

3 Likes

This isn’t Data Science domain, this is a separate and very complicated discipline - it’s impossible to know everything well theirs + Data Science.
Data bases (SQL query for extract data), Version Control, Command Line - it’s the auxiliary discipline that do not require a lot of time to study for base skills.
IMHO - the main thing is not to blur into several subjects at the same time, but to follow the course program.

1 Like

R learn after finishing learning Python - type of data practical are same

1 Like

Hi Mike,

Thanx a ton for such a valuable guidance.

I aim to start an AI Startup (something in the Computer Vision / Robotics space) & hence trying to learn all of them.

Till date I could finish the below at a decent level (retention is a problem though) :
Python, Data Prep, Stats, Prob & Maths, Machine Learning, SQL, Part of Deep Learning (NNs, ANNs, CNNs).

Currently learning the “Data Analysis & Visualization” part. (Yeah!! Sort of a non-linear learning path)
Would be marching towards Deep Learning next.

However, as you rightly pointed out I need to decide on my path first, which is what I am unable to decide.
B’coz every field in AI feels promising enough to explore its Starup space - be it NLP, COMPUTER VISION etc…

So, could you throw some light on the below :
i. How to decide/finalise on the right AI branch to start an AI Startup" ?
ii. How to come up with the right AI Starup idea?
iii. How to finalize an AI Startup idea amidst a sea of opportunities" ?
iv. How to retain already covered subjects, after moving ahead to learn a new subject/tech. ?

Once again, thank you so much for your detailed guidance.
Its a real life saver!! :pray: :bowing_man:

1 Like

Hey Vadim,

Thank you for the guidance.
Truly appreciate it!!

Hey @Datom,

No problem with helping you out. Outside of just being realistic with expectation, you’ll need to just pick up that one or two things that complement each other that you feel the strongest in terms of mastery that work on external projects that incrementally introduce new elements of complexity. Again, it’s trial by fire, but it ensures that you are forced to remember what you know over and over again through deliberate and focused practice. I won’t move onto anything else unless there is a reasonable and thoughtful understanding that the next subject will add to my understanding of what I currently know and will reliably call upon what I know to accomplish said task.

Now going by your response of wanting to get in the start-up space, you need to find out a niche that makes sense in the market space. Like I live in Toronto and it’s basically Canada’s capital for a bunch of tech startups (well start-ups in general) that have a lot of some really cool ideas for AI, AR, and the works. However, I do mean A LOT. Like so much so, that it’s hard for them to really market to anyone since a lot of their ideas are predicated on a particular shift in the industry or banking on some kind of event happening. Like if I’m an investor, which I do know a few, no one is going to touch the thing if the application is either too niche that the demand for its service is not there, have not had a single track record of working out within previous iterations (i.e. how did the last guy/gal’s idea pan out some time ago that did the exact same thing?), or that the execution of the vision has too many parts that it would clearly be outside the scope for most of the major players in the industry.

If I’m going to do a tech start-up, I would be figuring out the thing that would be plaguing a particular industry that directly impacts their quality of service or their overhead in some fashion. Off the top of my head, the one tech start-up that I know that directly uses AI is for the law sector that uses machine learning to aid in taking in and interpreting documents that eliminate the need for many junior lawyers, which overall saves on the overhead of firms. It’s nothing too sexy in terms of AI or data science, but it serves a real big need or problem (the ability to trim down staff like junior lawyers for grunt work since each is being paid like $75000/yr). The most successful people that have startups that I now recognize this and essentially find a reasonable low-IQ solution to those problems and not waste the time of hypothetical or pick the craziest idea within the sea of possibilities that you mention if there’s not a direct need for it. The only exception is if you have some kind of a once-in-a-century concept that leads to the advancement of society as a whole (i.e. the OS, Tesla, etc.), which I’m going to guess, you probably don’t really have in your back pocket.

If you are adamant about starting a tech startup, I can’t really say AI is your best bet. There’s been a ton of talks about its implementation into any industry, but you have to understand that a lot of it comes down to the quality of data and the sheer amount of it where you can reliably draw from in formulating your models for whatever your purpose is. I can tell you first hand, that if you are intending to do anything that involves human behavior or complex data (i.e. too many factors play an influential role in outcomes), it’s probably best that you focus on getting work with either a large firm or companies like Google that have the resources (i.e. manpower, money, space, networking connections) to run things like that as opposed to setting up a start up. Like if you’ve ever had to do any sort of population-level research, you’ll realize real quick that this will be an almost impossible hurdle to try to overcome. Ranging from potential issues with data quality, handling of missingness, the quality of test used in collecting the data where things like UX design plays a surprising role, etc. This is something that you’ll literally need a team of highly skilled specialists that basically wrote the book/ tons of papers on each individual component topic that is going to be involved in the application. This won’t be something that would be available for a start-up without some crazy influx of cash. In fact, most of these specialists are often head-hunted and brought into major firms or corporations for R&D already. As such, the need for an external source for an AI solution within these sorts of sectors is often not needed since they have people who can do it already.

Even if you were going to downscale your clientele to the mom & pop shops or local entrepreneurs, a lot of them will get by with very simple machine learning algorithms or data analysis when guiding their business decisions to succeed in their space. This means that the justification for an AI-based service outside of just looking at weekly/monthly trends isn’t worth it. These clients will be better served if you can bring in some form of software service that augments their current day-to-day operations that either (1) eliminates a notable expenditure that impacts their overhead (i.e. marketing services or payments), (2) increases their presence in the market share in some way, (3) provide augmentation to their usual revenue sources.

Now, I’m not going to try to ■■■■ on your parade by venturing out into the start-up space with an AI idea. Like it’s great that you want to pursue it. However, I think you really need a bit more introspection toward the purpose of wanting to pursue a start-up since it seems like you just want to set up a start-up just for the sake of using AI. This isn’t how a successful and long-standing start-up or any business is built at all. It’s always built on a desire to serve some sort of societal need rather than its implementation. Like Uber was started because transportation cost was crazy high, not because they thought wanted to use AI. It was just a means to an end.

Hope this helps you out.

-Mike

2 Likes

Helps a lot Mike!!

Can’t thank you enough!!

1 Like

@Datom: Just wanted to add on some stuff @michael.hoang17 and @vadim.maklakov mentioned.

The process of learning all the domains you mentioned in a short period of time is unrealistic. Rather, as they say–with age comes experience, so slowly picking them up gradually, which working on your foundation, in DS case is Math (Statistics, Linear Algebra, Calculus etc.), code (basic syntax of a language, OOP, using APIs, manipulating, filtering and cleaning data), understanding business needs to create a robust and in demand data application is the bare minimum to enable you to enhance yourself with these skills.

I also experienced such when I got into tech–but if you think about it you will get stretched in all directions, its really easy to lose focus for what matters and is important for you to learn, as opposed to what you can learn, might be helpful in the future, but you need not use in the immediate future --which you should instead focus on.

Good that you identified these areas that you are interested in/you want to explore using your startup. It is very difficult to be a master at all these technologies, instead, why not work with people/ hire others with these expertise and I’m sure they will add value to your company in these areas?

Question back to you: Have you considered what specific problem you want to address (in which industry, country, age group etc.) with your data skills and resources?

Its ok to take up some bits of different technologies. You might find value in applying different ideas to new problems by scratching the surface. For me, being a cybersecurity student, fundamentals are important (like networking, OS administration, linux command line, windows active directory, learning how to read and write code, use various security-related python modules etc.), before I get into the “real” stuff like doing a reverse shell or analyse malware.

I try my best to work on one area at a time to gain as much experience (now I’m working on binary exploitation) now that my basics are somewhat consolidated.

While basics are sometimes rather dry and boring, they are critical for understanding more advanced topics, not just in data, security, but also in other tech fields. So you can go plan a timeline some what like this:

  • Basics: Math (Statistics, Linear Algebra, Calculus etc.), code (basic syntax of a language, OOP, using APIs, manipulating, filtering and cleaning data, numpy, pandas, matplotlib), understanding business needs – 1 year
  • Common ML algos (Decision Tree, kNN, kmeans, regression, clustering, classification, using different metrics) – 4 - 6 Months
  • Foundational Deep Learning (PyTorch/TF (choose 1), using different hyperparams, building DNNs, CNNs, RCNNs, RNNs, using bounding boxes, NLP evaluation etc.) – 6 Months - 1 year
  • Full Stack/Production ML/DL – 6 months

Do projects, apply the old to the new and vice versa. Go back to your old projects (i.e. add graphs to tyour first guided project on DQ etc).

Hope this helps!

1 Like

Start off with learning how to use editor on the terminal.

Only use the terminal.

Never use conda package manager.

Most of your listed topics falls within the terminal.

1 Like

If you will immediately chase after seven hares - you will not catch a single one.
Only step by step from simple to complex.

1 Like

IMHO, terminal using only Linux / OS shell.
For programming and scripting database terminal its are redundant and complicated way for useless yours time consumption - modern IDE and tools like Spyder, pgaadmin and etc. strongly save yours time for development and debugging. Spyder is a good choice for quick prototyping , Eclipse PyDev - for clean large programs and their documenting. For working in console you must have know Vim.
I begin learn SQL in the console Postgresql /MySql - but DBeaver or pgadmin reduce development and debugging time for scripting.

Also, remember that 95% of startups company in all industries go broke within the first two years - its general statistics, unless, of course, you can find a moron with money from whom you can pull money forever under beaty stories about high technologies.

1 Like

Also, remember that 95% of startups company in all industries go broke within the first two years - its general statistics, unless, of course, you can find a moron with money from whom you can pull money forever under beaty stories about high technologies.

This is something that needs to be reminded over and over again. Not to crush dreams, but be realistic about what it actually takes to be successful. A start-up needs the right team of people to make it work. There are so many groups with nothing but engineers all working together on development but no one who can really help with the business development side and end up failing because they can’t convince a single investor to pitch in. Or vice versa, a bunch of business-centric folks with an idea and hire some mediocre-at-best developers to make their pie-in-the-sky idea a reality. Sure they might last a few years b/c of wheeling and dealing but when clients realize how bad the product really is, their fall is pretty hard.

1 Like

And successful startup must have the right idea and business or financial or state administrative resource and resources and contact))
It’s 90% of successful, all big corporation begin from it - there weren’t garages with a couple of student- dropouts, were mother and father how Bill Gates giving lovely son on a silver platter ready to execution big contracts or products)))

1 Like

I refused Conda distro…
Using GitHub - pyenv/pyenv: Simple Python version management and https://pypi.org/ you can all necessary data science package after only careful reading hardware and software requirements for packages.

1 Like

Yes. I also use pyenv

1 Like

@masterryan.prof

Hey Ryan,

Thank you so much for such a detailed road map!!
Really helpful.

1 Like

Totally agree Mike!! :100:

@michael.hoang17
@vadim.maklakov ,
@masterryan.prof ,
@alvinctk

Thanx a ton guys!!! :pray: :pray:

Thank you sooo much for such an incredible support & guidance!! :bowing_man: :bowing_man:

Helps me see things much clearer now!! :nerd_face:

1 Like