حتما برای شما هم پیش آمده است که چیزی را جایی ببیند یا بشنوید و کمی بعد، از چپ و راست شاهد باشید که نشانههایی دارند آن چیز را به شما یادآوری میکنند. فکر میکنم خیلی مبهم گفتم. پس بگذارید با یک مثل برایتان توضیح دهم. مثلا دارید یک زبان جدید را یاد میگیرید و به یک کلمهی ناآشنا برمیخورید. معمولا در روزهای بعد، پشت سر هم این کلمه را در مجلات، سایتها، اخبار تلویزیون، فیلمهای سینمایی یا مکالمههایتان با دیگران خواهید شنید. تقریبا مطمئن هستم که اتفاقهایی از این دست برای شما هم افتادهاند.
همهی اینها رو برایتان گفتم تا به این موضوع برسم که چنین اتفاقی در رابطه با زبان SQL برای من رخ داد. یک دورهی آنلاین را گذراندم که به تحلیل دیجیتال (Digital Analytics) ربط داشت. در پایان آن دوره مدرس گفت که اگر میخواهید مسیرتان را ادامه دهید، از SQL (سیکوئل یا اس کیو ال) و پایتون (Python) غافل نشوید. پایتون که مسالهی مهمی است و هر فرد روشنی در دیجیتال به ضرورت دانستن آن واقف است. اما تاکید روی SQL برای چه بود؟ همانجا بود که این جرقه زده شد و البته من نادیدهاش گرفتم!
از چه زمانی SQL برای من جدی شد؟
راستاش خیلی طول نکشید تا با بیگ کوئری (BigQuery) آشنا شدم و ضرورت دانستن آن را درک کردم. آنجا بودم که متوجه شدم دستورات بیگ کوئری بر مبنای SQL هستند و برای استفاده از این ابزار Badass نیاز است که SQL بلد باشم. احساس نیاز قبلا در من شکل گرفته بود و حالا به لطف خلا ایجاد شده از سمت بیگ کوئری، بیشتر به نادانی خودم در این زمینه پی برده بودم. من برای دیتا ویژوالیزیشن (Data Viz) به یک کانکشن قوی بین بیگ کوئری و گوگل دیتا استودیو (Google Data Studio) نیاز داشتم و حالا یادگیری SQL برای منی که میخواستم یک تکنیکال مارکتر باشم ضروری شده بود.
دستورات بیگ کوئری بر مبنای SQL هستند
و این اتفاق چطور ادامه پیدا کرد؟
اگر بخواهم در راستای همان اصل اولیهای که در ابتدا به آن اشاره کردم حرکت کنم، طبعا باید مثال دیگری هم بیاورم. میدانید کی به این موضوع بیشتر پی بردم؟ زمانی که به یاد آوردم قبلا در دنیای گوگل دیتا استودیو (Google Data Studio) با دستورات CASE آشنا شدهام. کمی بعدتر فهمیدم این دستورات از دنیای SQL به دیتا استودیو راه پیدا کردهاند. دیگر اینجا بود که دیدم راه دیگری وجود ندارد. باید خیلی جدی دست به کار شوم و ببینم SQL را چطوری میتوان یاد گرفت.
این را هم درون پرانتز برایتان بگویم که دیتا استودیو از نظر ایجاد حس نیاز به یادگیری خیلی قوی عمل میکند. مثلا یکی از دلایلی که من به سمت یادگیری رجکس (RegEx) و قوانین آن رفتم همین دیتا استودیوی عزیز بود. کلا اینطور است که در حین ویژوالایز کردن دیتا کلی چیز جدید برای یاد گرفتن پیدا میکنید. پرانتز را همینجا میبندم.
آیا SQL یک زبان برنامهنویسی است؟
راستاش را بخواهید، من قبل از یادگیری SQL فکر میکردم قرار است با یادگیری این زبان یک زبان برنامهنویسی یاد بگیرم. ولی حالا که میدانم SQL دربارهی چیست، دیگر اینطور فکر نمیکنم. با استفاده از SQL قرار نیست متغیر تعریف کنیم و یک سری کارهای منطقی روی متغیرها انجام دهیم. درست است که با استفاده از SQL میتوانیم محاسبات منطقی روی دادهها پیاده کنیم؛ اما فکر نمیکنم بتوانیم اسم زبان برنامهنویسی روی آن بگذاریم. با استفاده از این زبان میتوان پایگاه داده یا همان دیتابیس (Database) ایجاد کنیم و درون دیتابیسها جداول داده (Table) بسازیم. همچنین میتوانیم دیتابیسها و جدولهای ساخته شده توسط دیگران را بخوانیم یا آنها را تغییر دهیم و حتی پاک کنیم. در کل با استفاده از SQL قرار است با تعداد زیادی جدول کار کنیم و از توی دل آنها کلی داده بیرون بکشیم.
با استفاده از SQL میتوانیم محاسبات منطقی روی دادهها پیاده کنیم؛ اما فکر نمیکنم بتوانیم اسم زبان برنامهنویسی روی آن بگذاریم.
اگر از من میپرسید، هر زمان که HTML و CSS زبان برنامهنویسی شدند میتوانیم به SQL هم به چشم یک زبان برنامهنویسی نگاه کنیم. من واقعا فکر نمیکنم SQL یک زبان برنامهنویسی باشد.
از کجا برای یادگیری SQL شروع کنم؟
من یکی دو روش را تست کردم تا نهایتا به یک روش درست رسیدم. ابتدا چند تایی از کانالهای یوتوبی را دنبال کردم تا ببینم کیفیت کارشان چطور است و آیا به درد من میخورد یا نه. کیفیت ویدیوها بد نبود؛ ولی حس اینکه دارم پیشرفت میکنم را هم از آنها نمیگرفتم و همین شد که بیخیال یادگیری SQL با یوتوب شدم.
کمی بعد، به یاد یکی از کورسهای معروف یودمی افتادم و سریع به کورس یادگیری SQL با کولت استیل (Colt Steele) رسیدم. کولت استیل خیلی خوب و روان SQL را یاد میدهد و طوری پیش میرود که ترس آدم از یادگیری یک مهارت جدید کلا از بین میرود. البته خوزه (هوزه) پورتیا (Jose Portilla) هم کورس کامل و جامعی دارد که آن هم از کورسهای محبوب یودمی است. ولی من تجربهی گذراندن آن را ندارم و دربارهاش نظر نمیدهم.
اما واقعا انتخاب کورس اهمیتی ندارد. مهم یادگیری اصل موضوع است. این است که هر دیجیتال مارکتر تکنیکال باید SQL را در سبد مهارتهایش داشته باشد.
راستی، من قبلا یک یادداشت کوتاه دربارهی یودمی نوشتهام. بد نیست نگاهی به آن بیندازید.
آیا شما هم به این زبان نیاز دارید؟
اگر بخواهم دربارهی خودم به این سوال جواب بدهم، قاطعانه میگویم بله؛ از نظر من یک دیجیتال مارکتر خوب، یک تکنیکال مارکتر (Technical Marketer) است. چنین فردی باید SQL بداند و حداقل با سینتکس آن آشنایی داشته باشد. اما اگر بخواهم برای دیگران نسخه بپیچم، کمی با احتیاط بیشتری عمل میکنم. لزوما تمام افراد نمیخواهند از دنیای تکنیکال سر دربیاورند و شاید هم بتوان گفت که همه افراد لزوما به دانستن مسائل فنی نیازی ندارند.
برای من داشتن مهارت تحلیل دیتا یک ضرورت است و باید میتوانستم این مهارت را در خودم پرورش بدهم. به همین دلیل هم بود که SQL را شروع کردم. بازار مارکتینگ در خارج از ایران هم صرفا به شغلهای کلی محدود نمیشود و خیلی از شغلها با عنوان دیتا آنالیست (Data Analyst) و مهندس دیتا یا دیتا انجنیر (Data Engineer) در دنیای مارکتینگ تعریف شدهاند. من فکر میکنم بهتر است خودمان را برای رویایی با دنیای خارج از ایران آماده کنیم. چرا که دیر یا زود به مهارتهای بیشتری نیاز خواهیم داشت.
تصمیم با خودتان است.
منبع عکس کاور این پست، سایت Freepik است.