AI: From ZERO to H...aving A Lot of Questions (Part I)
People are just like a Swiss Army Knife, but we are born with no tools on it. Everything we learn might become a new tool. With enough tools, we can accomplish everything. With the right tools, we can accomplish it faster, better and enjoy the endorphin rush.
About toolset and trying not to panic.
December 2016 is when I began to work sitting in front of a desk for the first time in my life. Before that I had spent some years teaching high school. The wages were not good though.
A bit about me on that day: 26 years old, a math degree from college and zero computer science and related fields experience. On my wildest days I had done some .bat code to move a few files around the Windows file system.
My Swiss Army Knife had: Math and lots of empty space.
I would never guess that I would be picked to join an AI team. After being told where to go, I met my boss and she asked me to join her for a cup of coffee; introduces herself; we talk about my background and what knowledge I have and... We agree that I know barely nothing that could be useful to the project/team/company/world/united federation of planets.
She then asked: "Are you a self-taught person?". Well, that I am indeed.
You are too, you may not know it yet, but you are!
(Let me emphasize how potato-level my IT skills were at that exact moment: All I knew about Linux is that it was an OS and "that penguin, right?!")
She gave me one month to learn Linux, dual boot my station, customize it as much as I could and write a complete tutorial for people like me to improve newcomers learning time. She loved it and I wasn't fired. YEAH!
I got two new tools: Linux and Git.
The next day she sat me sidekick to a senior developer to contribute on a NLP Big Data project. I just went for a break and panicked a little, just a little. No shame here! Actual coding was far away from me. And what on earth was NLP?! Hadoop-what?!
All I could do was the only thing that I could ever do: Buckle up, study, learn and have lots of questions.
Never be afraid of asking valid questions. Lots of time asking "What is it you just said? I never heard about it." may feel like wearing a stupid hat. IT IS NOT! Specially when the subject is related, somehow, to your field(s) of work/study. What are you guilty of? Wanting to learn more whenever you can? GREAT!
As a bonus, your questions, when well composed, are useful to check if that person really knows their stuff.
Once I saw someone talking about Apache Spark, like he owned it. Many keywords and concepts. I had never heard about it. One trip to the FAQ page was enough to notice that he didn't read it properly. Almost half of what he said was not correct.
It may be an individual opinion and might probably come from my days of teaching, but the most beautiful thing that comes from studying isn't the knowledge itself, I honestly think that the real reward are the doubts. Not just learning something, but having just enough to be able to ask the next question.
(I kid you not: Once I'd struggled for a week trying to solve a simple problem just because I couldn't ask the right question. Where is your Google now?!)
I do like to study and learn, even as a hobby. I try to keep spare time side projects. So it happens that sometimes learning can get stalled. What would you do on those moments? What is a good enough fuel for you? Maybe take a break? What works best for me is to deliver a project and pay my bills!
(SPOILER: Adulting is not easy, and we are not prepared!)
Another month went by, I could not code my way out of danger, but I contributed with what I could, however I could. I had some freedom of choice to pick my first programming language. I went with Python. There are countless online tutorials, guides, books and interpreters, and reasons why you should learn it.
New tool: Python.
Good enough. I was able to help on that NLP project. And we rocket shipped it.
That's two months in now. I had Linux, Python and Git. What could I do with it? Well, nothing really. I assure you that I was not the sharpest tool in the shed on neither of them. And I'm not a creative person. I really need a project to get my learning process going, else, that stall point will be on the next corner.
Part II - Coming soonReferences:
- Linux: https://www.edx.org/course/introduction-to-linux
- Git: https://git-scm.com/docs
- Python for data science: https://www.udemy.com/course/python-for-data-science-and-machine-learning-bootcamp/
- Raid: https://en.wikipedia.org/wiki/RAID,
- HDFS: https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html
- NLTK: http://www.nltk.org/book/
- Python graph gallery: https://python-graph-gallery.com/
- Apache Spark RDD: https://spark.apache.org/docs/latest/rdd-programming-guide.html
Subscribe to get your daily round-up of top tech stories!