بایگانی برچسب: s

آموزش PHP – جلسه هشتم: توابع

در این جلسه از سری آموزش‌های پی‌اچ‌پی قصد داریم تا به یکی از مهم‌ترین و در عین حال لذت‌بخش‌ترین مباحث بپردازیم. توابع در هر زبان برنامه‌نویسی کاربرد بسیاری دارند و باعث می‌شوند تا در هنگام کدنویسی بتوانیم پروژه خود را منسجم‌تر تولید کنیم. در ادامه مطلب با ما همراه باشید.

توابع از جمله مهم‌ترین مباحثی است که در آموزش پی‌اچ‌پی باید یاد بگیرید. این مبحث علی‌رغم اهمیت بالا و کاربرد فراوان بسیار آسان و لذت‌بخش است. پس خود را برای یک سفر کوتاه اما به یادماندنی در دنیای PHP آماده کنید.

تابع (Function) چیست؟

اگر درس ریاضیات دوران دبیرستان خود را به‌یاد داشته باشید، تابع را به ماشینی تشبیه می‌کردیم که یک ورودی را گرفته و سپس عملیات خاصی را بر روی آن انجام داده و در نهایت یک خروجی را تولید می‌کند. در پی‌اچ‌پی نیز تعریف تابع همین است و توابع این زبان‌ برنامه‌نویسی یک داده ورودی را دریافت می‌کنند، عملیات موردنظر ما را بر روی آن داده یا داده‌ها انجام داده و نهایتا خروجی مورد نظرمان را تولید می‌‌کنند. در شکل زیر به ساده‌ترین حالت ممکن روش عملکرد تابع را برای شما رسم کرده‌ام:

۰aceda39-23c2-43ea-87c6-d98c6bef7bb2<?php
function MyFunc (){
//some oprates on code!
}
?>

همان‌طور که در کد بالا می‌بینید برای تعریف یک تابع ابتدا باید کلمه کلیدی function را نوشته و سپس نام موردنظر را برای تابع تایپ کنیم. سپس در صورتی که تابع ما نیاز به ورودی داشته باشد باید آن‌ها را در پرانتز مقابل نام تابع تعریف کنیم. در نهایت نیز عملیاتی که باید بر روی داده‌ها انجام شود بین } و { قرار داده می‌شود. دقت کنید در کد بالا ما نام تابع را MyFunc قرار داده‌ایم و این نام دلخواه است. فقط باید توجه داشته باشید در نامگذاری توابعی که تعریف می‌کنید، کلمات کلیدی پی‌اچ‌پی نظیر دستورات پیش‌فرض را به عنوان نام تابع نمی‌توانید انتخاب کنید.

در پی‌اچ‌پی می‌توان توابعی تعریف کرد که نیاز به ورودی نداشته باشند و این نوع توابع در واقع ساده‌ترین نوع ممکن توابع به حساب می‌آیند. به مثال زیر دقت کنید:

<?php
//define func
function bigHello()
{
echo “<h1>hello!</h1>”;
}

//call or using func
bigHello();
?>

در کد بالا ابتدا یک تابع به نام bigHello را معرفی کردیم و کد داخل آن را چاپ عبارت hello در بین تگ h1 تعیین کرده‌ایم. اما همان‌طور که اشاره شد تا زمانی که تابع را فراخوانی نکنیم هیچ اتفاقی نخواهد افتاد و به همین دلیل در خط بعدی با نوشتن نام تابع به صورتی که مشاهده می‌کنید آن را فراخوانی کرده‌ایم. نتیجه کد بالا چاپ عبارت Hello! در بین تگ h1 خواهد بود. حال شما می‌توانید به هر تعداد که می‌خواهید این تابع را فراخوانی کنید و طبیعتا به ازای هر بار فراخوانی تابع، یکبار کد داخل آن اجرا می‌شود.

این یکی از دلایل شیرین بودن مبحث توابع است که در اول مطلب اشاره کردم. شما یک‌بار کد موردنظر را می‌نویسید و سپس می‌توانید هر چقدر که نیاز داشته باشید از آن در پروژه خود استفاده کنید. در پروژه‌های بزرگ‌تر استفاده از توابع باعث می‌شود تا کدنویسی شما به حداقل برسد.

پارامتر‌ها در توابع یا همان ورودی توابع

حالت استاندارد توابع همان‌طور که گفتیم این است که یک یا چند ورودی دریافت کند. ورودی‌ها را می‌توان از طریق پارامترها به تابع ارسال کرد. برای این منظور به ازای هر ورودی که نیاز داریم تابع آن‌ها را دریافت کند، یک متغیر به همان روشی که متغیرها را تعریف می‌کردیم در داخل پرانتز مقابل نام تابع، وارد کنیم. به مثال زیر توجه کنید:

<?php

function myFunc ($name, $age)
{

echo “your name is $name and your age is $age”;

}

myFunc(“mojtaba”, “25”);

?>

تابع بالا دو پارامتر ورودی دریافت می‌کند و مقدار آن‌ها را در متغیرهایی که خود تعریف کرده‌ایم قرار می‌دهد. در مثال بالا نام و سن کاربر توسط تابع ما دریافت می‌شود و سپس جمله موردنظر نام و سن کاربر را اعلام می‌کند. همان‌طور که مشاهده می‌کنید برای استفاده از این تابع ابتدا نام آن را نوشته و سپس ورودی‌های آن را در پرانتز مقابلش وارد می‌کنیم.  از آنجا که تابع ما نیاز به دو پارامتر ورودی دارد، پس هر پارامتر را با یک کاما از دیگری جدا می‌کنیم. اگر نیاز به تعداد ورودی بیشتر داشته باشیم باید به همین صورت آن‌ها را با کاما از هم جدا کنید.

اگر در کد بالا، به جای دو ورودی، یک ورودی را وارد کنید، با خطای پی‌اچ‌پی مواجه خواهید شد چرا که کامپایلر php در این شرایط نیاز دارد تا دو ورودی به تابع ما ارسال شود.

برای درک بهتر ورودی‌ها در توابع به مثال دیگری توجه کنید. قصد داریم یک تابع بنویسیم که دو عدد را از کاربر گرفته و آن‌ها را در هم ضرب و سپس نتیجه را چاپ کند.

<?php

function Zarb ($a, $b)
{
$c = $a * $b;
echo $c;
}

//using our Zarb Function
Zarb (3, 5);
?>

نتیجه اجرای کد بالا چاپ عدد ۱۵ در مروگر کاربر خواهد بود.  در مثال بالا ابتدا دو ورودی از کاربر گرفته و آن‌ها را در متغیرهایی به نام a و b ذخیره کرده‌ایم. سپس یک متغیر داخلی به نام c در تابع خود تعریف می‌کنیم و مقدار حاصل از ضرب a و b را در آن قرار می‌دهیم. سپس مقدار c را به عنوان خروجی تابع چاپ می‌کنیم.

استفاده از آرگومان‌های ورودی پیش‌فرض در توابع

در مثال‌های قبل همان‌طور که اشاره کردیم به تعداد پارامترهای ورودی که برای هر تابع تعریف می‌کنیم، باید در هنگام فراخوانی آن تابع، به همان تعداد ورودی برای آن تعریف کنیم. اما می‌توانید یک مقدار پیش‌فرض برای هر کدام از ورودی‌های تابع تعریف کنیم تا در صورتی که کاربر آن ورودی را تعریف نکرد، اسکریپت نوشته شده توسط ما با خطا مواجه نشود.

به مثال زیر دقت کنید:

<?php

function myFunc ($name = “mojtaba”)
{
echo $name;
}

myFunc();

?>

در کد بالا همان‌طور که می‌بینید ما یک آرگومان ورودی برای تابع خود تعریف کرده‌ایم. اما این‌بار یک مقدار پیش‌فرض را نیز به آن نسبت داده‌ایم. سپس تابع را فراخوانی کرده‌ایم ولی هیچ آرگومانی را به آن نسبت نداده‌ایم! در این حالت دیگر با خطای پی‌اچ‌پی مواجه نخواهیم شد چرا که مقدار پیش‌فرض متغیر name چاپ خواهد شد.

مقادیر بازگشتی در توابع

تا اینجای کار ما خروجی توابع موردنظرمان را چاپ می‌کردیم. اما گاهی در کدنویسی شرایطی پیش می‌آید که نیاز به مقدار بازگشتی یک تابع داریم. اما مقدار بازگشتی یعنی چه؟ در تعریف متغیرها اگر به یاد داشته باشید گفتیم که هر متغیر یک مقدار را در خود جای داده است. حال اگر بخواهیم خروجی یک تابع را در یک متغیر ذخیره کنیم تا بتوانیم بعدا اعمال دیگری را بر روی آن انجام دهیم، در این شرایط استفاده از روش‌های بالا به کارمان نمی‌آید.

در مثال زیر می‌خواهیم یک تابع تعریف کنیم که دو عدد را از ورودی گرفته و آن‌ها را در هم ضرب می‌کند. اما این‌بار به جای چاپ خروجی، مقدار نهایی حاصل‌ضرب دو عدد ورودی را به صورت یک متغیر خروجی بازگشت می‌دهد.

<?php
function Zarb($a, $b)
{
$c = $a * $b;
return $c;
}

echo Zarb(2,3);
?>

در مثال بالا برای روشن‌تر شدن موضوع ابتدا مقدار بازگشتی تابع Zarb را در متغیری به نام c ریخته‌ایم و سپس مقدار c را با دستور echo چاپ کرده‌ایم. نهایتا خروجی کد بالا عدد ۲۰ خواهد بود. حالا احتمالا به خوبی مفهوم مقدار بازگشتی در توابع را یاد گرفته‌اید.

مبحث توابع نیز در این لحظه به پایان رسید. برای تمرین این جلسه سعی کنید چند تابع با کاربردهای مختلف برای خود بنویسید و از آن‌ها در کدهای خود استفاده کنید. همچنین سعی کنید توابعی بنویسید که مقدار بازگشتی داشته باشند و سپس با مقادر بازگشتی همانند مثال بالا، عملیات‌ خاصی را انجام دهید.

در جلسه بعد اولین پروژه عملی این دوره آموزشی را با هم ایجاد خواهیم کرد و در هر جلسه علاوه بر یادگیری مباحث جدید و کاربردی، پروژه خود را کامل‌تر می‌کنیم. همچنین در صورتی که سوالی در مورد مباحث این جلسه دارید آن را در بخش نظرات اعلام کنید.

منبع: زومیت

آموزش PHP – جلسه هفتم: دستور Switch و آشنایی با Include و Require

در این جلسه از آموزش پی‌اچ‌پی  می‌خواهیم در مورد دستورات پایه‌ای نهایی صحبت کنیم. با فراگیری این درس می‌توان ساخت پروژه‌های ساده را آغاز کرد و سپس رفته رفته با ساخت پروژه‌های کاربردی‌تر پیش خواهیم رفت. دستور Switch یکی از دستورات کاربردی و بسیار خوب php است که عملکرد آن در واقع شبیه به if … else if است. در ادامه مطلب با ما همراه باشید.

اگر خاطرتان باشد در جلسات قبل مفصلا در مورد دستور if و نیز else if صحبت کردیم و گفتیم که برای بررسی چند شرط می‌توان از آن استفاده کرد. اما در پی‌اچ‌پی دستور دیگری به نام Switch وجود دارد که کار اصلی‌اش بررسی چندگانه شرط‌ها است. حالت استاندارد استفاده از Switch به صورت زیر است:

<?php
$a = 1;

switch ($a)
{
case “1”:
echo “moteqayer 1 ast”;
break;

case “2”:
echo “moteqayer 2 ast”;
break;

default:
echo “motaqyer 1 va 2 nist”;
break;

}
?>

اگر به کد بالا دقت کنید، ابتدا ما یک متغیر به نام a تعریف کرده‌ایم و مقدار ۱ را به آن نسبت داده‌ایم. سپس دستور Switch را نوشته و در پرانتز مقابل آن نام متغیری که تعریف کرده بودیم را قرار دادیم. سپس به ازای هر شرط از یک دستور case در داخل دستور Switch استفاده کرده‌ایم. تا اینجا ما به پی‌اچ‌پی می‌گوییم که هدف ما بررسی مقدار متغیر a است. سپس هر case مانند یک else if عمل می‌کند و ما به پی‌اچ‌پی اعلام کرده‌ایم در صورتی که مقدار متغیر ۱ باشد عبارت moteqayer 1 ast چاپ شود و اگر مقدار a عدد ۲ بود عبارت moteqayer 2 ast چاپ شود و اگر مقدار a هیچ کدام از مواردی که بررسی شده نبوده، عبارت motaqyer 1 va 2 nist در مرورگر چاپ شود.

اگر کمی در مورد این دستور سردرگم شده‌اید اصلا نگران نباشید. کافی است همان‌طور که اشاره کردیم مثل دستور else if به آن نگاه کنید با این تفاوت که در دستور switch بررسی شروط به صورتی است که در بالا مشاهده می‌کنید و از انسجام بهتری برخوردار است. بسیاری از توسعه‌دهندگان PHP پیشنهاد می‌کنند که اگر در کدنویسی نیاز به بررسی چندین شرط دارید، بهتر است از Switch استفاده کنید چراکه در چنین شرایطی، استفاده از else if برای بررسی شرط‌های زیاد، نسبت به Switch بهینه نیست.

خب پس اصول کلی استفاده از Switch را به صورت خلاصه اگر بخواهیم اعلام کنیم به صورت زیر خواهد بود:

  1. قرار دادن آنچه قصد بررسی مقدارش را داریم (متغیر یا دستوراتی که نهایتا یک خروجی داشته باشند) در پرانتز مقابل دستور Switch
  2. به ازای هر شرط یک دستور case را نوشته و علامت دو نقطه “:” را در مقابل آن می‌نویسیم.
  3. کد مورد نظر برای شرطی که در مرحله قبل نوشتیم را می‌نویسیم.
  4. با استفاده از عبارت break و سپس قرار دادن علامت نقطه ویرگول ; شرط یاد شده را پایان می‌دهیم.
  5. به ازای هر شرط دیگری که قصد بررسی آن را داریم مراحل ۲ تا ۴ را مجددا تکرار می‌کنیم.
  6. همانند مثال بالا، در نهایت شرط Case default را در پایین‌ترین بخش دستور switch می‌نویسیم تا در صورتی که هیچ کدام از شرط‌های نوشته شده برقرار نبود، این دستور اجرا شود.

برای درک بهتر این دستور یک مثال دیگر می‌زنیم. فرض کنید یک ورودی از کاربر گرفته‌ایم و فقط در صورتی می‌خواهیم به وی پیام خوشامد را نشان دهیم که او نام شهر خود را tehran اعلام کرده باشد.

<?php
$userCity = 20;

switch ($userCity)
{
case “tehran”:
echo “welcome you are from tehran!”;
break;

case default:
echo “you are not from tehran!”;
break;

}
?>

همان‌طور که مشاهده می‌کنید ابتدا متغیر userCity را تعریف و مقداردهی کرده‌ایم. در صورتی که مقدار این متغیر را tehran تعیین کنیم، شرطی اولی که در switch نوشته‌ایم برقرار خواهد بود و در نتیجه عبارت welcome you are from tehran! برای وی نمایش می‌یابد و در غیر این صورت you are not from tehran! را مشاهده می‌کنید. دقت کنید که نوشتن بخش default اجباری نیست ولی به شما پیشنهاد می‌کنیم که در پروژه‌های خود حتما این بخش را هم بکار ببرید چراکه باعث کنترل بهتر شرایط خواهد شد.

معرفی Include و require

هنگام نوشتن پروژه‌های بزرگ، معمولا بهترین کار این است که هر بخش از کد را در فایل جداگانه بنویسیم. روش درست و بهینه ایجاد ساختار پروژه‌ها را در مثال‌های عملی آینده به شما آموزش خواهیم داد. اما بهتر است از همین حالا با استفاده از دستورات include و require کمی به فایل‌های پروژه‌ها و کدهای خود سر و سامان بدهیم. از همین لحظه قصد داریم یک پروژه کوچک را با هم شروع کنیم. اما پیش از آن شما را با دو دستور یاد شده آشنا می‌کنیم.

با استفاده از include می‌توانید محتویات یک فایل دیگر را در فایل مورد نظر خود اضافه کنید. در پوشه htdocs نرم‌افزار سرور مجازی xampp یک پوشه جدید به نام mysite ایجاد کنید. در این پوشه سه فایل پی‌اچ‌‌پی به نام‌های head.php و index.php و footer.php ایجاد کنید. ساختار پروژه شما باید شبیه به زیر باشد:

fac133b1-73e4-4031-b779-b997fa825bb0

اگر دقت کرده باشید بخش هدر یا همان بالای وب‌سایت‌ها و نیز بخش پایینی یا همان فوتر آن‌ها همیشه در تمامی صفحات یکسان است. حالا فرض کنید تعداد فایل‌های یک پروژه برای وب‌سایتی که قصد ساختش را داریم زیاد شود و در چنین شرایطی بخواهیم برای هر صفحه یک فایل جداگانه ایجاد کنیم. اگر در این حالت بخشی در هدر یا فوتر نیاز به تغییر داشته باشد باید آن را در تک تک فایل‌ها اعمال کنیم و این کار معمولا خسته‌کننده و کم‌بازده است.

اما بهترین کار تکه‌تکه کردن کدها و فایل‌ها است و این فقط شامل مثال بالا نمی‌شود. فرض کنید پروژه ما رفته‌رفته در حال گسترش باشد. بهترین کار این است که برای هر بخش، فایل‌ها و نیز پوشه‌های خاص آن را ایجاد کنید. مثلا توابع نوشته شده را در یک فایل قرار دهیم، کدهای مربوط به ثبت نام کاربر را در یک فایل و ….

در این صورت ساختار پروژه ما از انسجام بیشتری برخوردار خواهد شد و توسعه و عیب‌یابی آن هم بسیار آسان‌تر می‌شود. اما برگردیم به سراغ پروژه mysite. پس از ایجاد سه فایل یاد شده، ابتدا فایل head.php را باز کنید و کد زیر را در آن قرار دهید:

<!DOCTYPE html>
<html>
<style>
#header {
background-color:black;
color:white;
text-align:center;
padding:5px;
}
#section {
padding:10px;
}
#footer {
background-color:black;
color:white;
clear:both;
text-align:center;
padding:5px;
}
</style>
</head>
<body>

<div id=”header”>
<h1>My Site</h1>
</div>

سپس فایل index.php را باز کرده و کد زیر را هم در این فایل قرار دهید:

<?php
include (“head.php”);
?>
<div id=”section”>
<h2>Mehrastan PHP Tuts</h2>
<p>we learning php in mehrastan weblog. php is very powerful for developing any kind of web applications. so we love it!</p>
</div>
<?php
include (“footer.php”);
?>

همان‌طور که احتمالا متوجه شده‌اید ما در بالا و پایین کد فایل index.php دو دستور ساده پی‌اچ‌پی را بکار برده‌ایم. در بالا کد با دستور include فایل head.php را به ابتدای فایل اضافه کرده‌ایم. و در پایین نیز فایل footer.php را به کد اضافه می‌کنیم. در این صورت هر تغییری که در فایل‌های head.php یا footer.php اعمال کنید، در فایل index.php نیز همان تغییرات اعمال خواهد شد.

در نهایت کدهای زیر را در هم در فایل footer.php قرار دهید:

<div id=”footer”>
Copyright © mehrastan.ac.ir
</div>
</body>
</html>

حالا مرورگر خود را باز کرده و این پروژه را در مرورگر تست کنید. اگر طبق مراحل به‌درستی پیش رفته باشید آدرس این پروژه در سرور محلی Xampp شما http://127.0.0.1/mysite/index.php خواهد بود. اگر این آدرس را اجرا کنید می‌توانید نتیجه نهایی را که باید چیزی شبیه به عکس زیر باشد، مشاهده کنید:

۲۹a0da34-1929-4b11-8bee-3b1e5aa519feحالا در مرورگر خود روی صفحه راست کلیک کرده و View Source را انتخاب کنید. در این صورت کد سورس نهایی تولید شده توسط پی‌اچ‌پی در واقع ترکیبی از سه فایلی است که ما ایجاد کردیم. یعنی در فایل index.php به جای دستور include همان فایلی که فراخوانی کردیم به آن بخش از کد اضافه شده است.

و اما دستور require نیز کارکردی دقیقا مشابه با include دارد. تنها تفاوت این دو دستور در نوع بررسی خطاها است. در دستور require همان‌طور که از نامش هم پیداست، در شرایطی که فایل فراخوانی شده وجود نداشته باشد یا مسیر آن اشتباه باشد، پی‌اچ‌پی خطا نشان خواهد داد.

روش استفاده از این دستور دقیقا مشابه include است. به عنوان مثال در پروژه بالا اگر بخواهیم فایل head.php را با require به فایل index.php اضافه کنیم باید دستور را به شکل زیر بکار ببریم:

<?php
require (“head.php”);
?>

دقت کنید از آنجا که ما هر سه فایل را در یک پوشه قرار داده‌ایم هنگام فراخوانی آ‌ن‌ها مسیر فایل به شکل بالا خواهد بود. مسیردهی فایل‌ها و پی‌اچ‌پی بسیار آسان است و در کدهای علمی و پروژه‌هایی که از این پس با آن‌ها سروکار داریم به‌خوبی آن را فرا خواهید گرفت.

این جلسه نیز در همین‌جا به پایان می‌رسد. شما اولین پروژه پی‌اچ‌پی را ایجاد کردید و با دستورات پایه‌ای و اساسی آن آشنا شده‌اید و می‌توان از این پس به سراغ مباحث پیشرفته‌تر برویم. ما همین پروژه را در جلسات آینده استفاده می‌کنیم پس بهتر است بخوبی آن را انجام دهید و مباحث را تا اینجا تمرین کرده و کاملا بر آن‌ها مسلط شوید تا در جلسات آینده بتوانید کار را ادامه دهید.

در صورتی که هرگونه سوال یا مشکلی در مورد مباحث این جلسه دارید مانند همیشه آن را در بخش دیدگاه‌ها اعلام کنید.
منبع: زومیت

 

 

بیشترین حقوق‌ها در گوگل را چه کسانی دریافت می‌کنند؟

گوگل که حالا به عنوان زیرمجموعه‌ی شرکت آلفابت فعالیت می‌کند، ارزش زیادی برای مهندسان خود قائل است و به این دلیل مهندسان این شرکت در صدر لیست گوگل از لحاظ درآمدی قرار دارند. در ادامه با ما همراه باشید تا به معرفی ۲۰ عنوان شغلی که بیشترین درآمد را در شرکت گوگل دارند، بپردازیم.

گوگل اهمیت زیادی به مهندسان خود می‌دهد؛ اما نگاهی به لیست پردرآمدترین کارمندان این شرکت نشان می‌دهد که گوگل تنها به فکر برنامه‌نویسی و موارد مشابه نیست. در ادامه به مرور لیست پردرآمدترین کارکنان گوگل خواهیم پرداخت. توجه کنید که این لیست براساس اظهارنظر کارکنان فعلی و گذشته‌ی گوگل ساخته شده و به صورت رسمی توسط گوگل تایید نشده است. در ضمن مقادیر حقوق سالیانه هستند.

۲۰. مهندس سخت‌افزار

حقوق: ۱۸۳۹۴۸دلار

20_1600x1200

گوگل گجت‌هایی مانند تبلت‌ها و گوشی‌های نکسوس و روترهای OnHub را می‌سازد و برای رقابت با رقیبان سرسخت خود باید حقوق خوبی پرداخت کند تا بهترین‌ها را به سمت خود بکشد.

۱۹. مدیر فنی برنامه‌ها

حقوق: ۱۸۸۲۲۹ دلار

19-technical-program-manager-iv_1600x1200

مدیران فنی برنامه‌ها در گوگل وظیفه‌ی تحت‌نظرگیری پروژه‌ها در طی چرخه‌ی فعالیت آن‌ها را برعهده دارند و باید زمان‌بندی‌ها را مدیریت و ریسک‌ها را شناسایی کرده و هدف از پروژه‌های مختلف را به سهام‌داران شرح دهند.

۱۸. مشاوران حقوقی

حقوق: ۱۸۹۲۶۲ دلار

18corporate-counsel

مشاوران حقوقی در مسائل مختلف حقوقی بوجود آمده در داخل و بیرون دادگاه به گوگل مشاوره می‌دهند.

۱۷. مدیر ارشد استراتژی فروش

حقوق: ۱۹۰۷۲۷ دلار

17-senior-sales-strategy-manager_1600x1200با توجه به فعالیت‌های گوگل برای این شرکت، بسیار مهم است تا بهترین راه‌ها را برای فروش محصولات خود بیابد. اینجا است که مدیر ارشد استراتژی فروش باید وظیفه‌ی خود را به بهترین نحو ممکن انجام دهد.

۱۶. مدیر ارتباطات

حقوق: ۱۹۰۸۴۶ دلار

16-communications-manager_1600x1200

زمانی که شرکتی به بزرگی گوگل دارید، باید اطمینان داشته باشید که ماموریت‌ها و مواضع شما بسیار واضح و آشکار باشند. به این دلیل است که مدیر ارتباطات نقشی اساسی در گوگل ایفا می‌کند.

۱۵. مدیریت مهندسی

حقوق: ۱۹۱۵۵۲ دلار

اغلب مواقع، مهندسان پایه‌ریز مهم‌ترین محصولات گوگل هستند. مدیر مهندسی باید گروه مهندسان را مدیریت کند تا مراحل توسعه، تست و ساخت محصولات جدید به نحو احسن انجام بگیرد.

۱۴. طراحان رابط کاربری محصولات

حقوق: ۱۹۱۸۸۱ دلار

14

طراحی رابط کاربری مناسب برای هر محصولی یکی از مهم‌ترین بخش‌های طراحی به حساب می‌آید و به این دلیل گوگل حقوق بالایی به طراحان رابط کاربری خود پرداخت می‌کند. وظیفه‌ی این افراد این است که از زیبایی و راحت بودن نحوه‌ی استفاده از محصولات گوگل اطمینان حاصل کنند.

۱۳. مدیر ارشد فروش

حقوق: ۱۹۳۶۸۰ دلار

13-senior-sales-manager_1600x1200

منبع اصلی درآمد گوگل تبلیغات است و برای حفظ این روند گوگل نیاز به جذب بهترین‌ها در این پست دارد.

۱۲. مدیر ارشد عملیات و فروش آنلاین

حقوق: ۱۹۲۹۱۵ دلار

12-senior-online-sales-and-operations-manager_1600x1200

وظیفه‌ی این افراد پیش‌بینی آینده‌ی فروش و محقق کردن افزایش درآمد خالص است. در شرکتی که سرویس‌های آن همگی آنلاین هستند، این مدیران نقشی اساسی در گوگل ایفا می‌کنند.

۱۱. مدیر فنی سایت

حقوق: ۱۹۳۴۲۳ دلار

11-site-reliability-engineer_1600x1200

همان طور که از نام شغل پیدا است، این افراد باید توانایی شناسایی ایرادات را داشته باشند. ایرادات بوجود آمده در سرویس‌های آنلاین گوگل باید توسط مدیران فنی به سرعت رفع شوند تا خدشه‌ای به نام این شرکت وارد نشود.

۱۰. مدیر ارشد محصولات

حقوق: ۱۹۷۲۵۲ دلار

10-senior-product-manager_1600x1200

یک مدیر ارشد محصولات باتجربه می‌تواند نقشی اساسی در گوگل ایفا کند. آن‌ها گروه‌های مختلف مهندسان را به سمت یک هدف مشخص هدایت می‌کنند.

۹. مهندس نرم‌افزار

حقوق: ۲۰۱۵۶۵ دلار

9-staff-software-engineer

مهندسان گوگل باید در حل مشکلات پیچیده استاد باشند. به این دلیل گوگل به داشتن موقعیت‌های شغلی چالش‌برانگیز مشهور است. البته گوگل این سختی را در حقوق جبران می کند و به مهندسان نرم‌افزار خود بیش از ۶۰ درصد نسبت به میانگین کشور آمریکا، حقوق بیشتری می‌دهد.

۸. مهندس ارشد نرم‌افزار

حقوق: ۲۰۷۲۱۱ دلار

8-lead-software-engineer_1600x1200

مهندس ارشد نرم‌افزار وظیفه‌ی پایه‌ریزی معماری برنامه‌های جدید را بر عهده دارد. به علاوه مهندس ارشد، سایر مهندسان نرم‌افزار را نیز سرپرستی می‌کند.

۷. سرپرست مهندسان نرم‌افزار

حقوق: ۲۱۰۴۶۲ دلار

7-senior-staff-software-engineer

مهندسان ارشد نرم‌افزار در گوگل جزء پردرآمدترین افراد هستند؛ چرا که وظیفه‌ی سرپرستی مهم‌ترین سرویس‌های گوگل مانند یوتیوب را بر عهده دارند.

۶. مدیر ارشد مهندسی نرم‌افزار

senior-software-engineering-manager_1600x1200

مدیر ارشد مهندسی نرم‌افزار، باتجربه‌ترین برنامه‌نویس و مهندس نرم‌افزار گروه است و وظیفه‌ی رهبری گروه کدنویسان را بر عهده دارد.

۵. مدیر تمامی محصولات

حقوق: ۲۴۳۲۹۹ دلار

4-group-product-manager_1600x1200

مدیر تمامی محصولات گوگل در واقع نقشی کلیدی در هر پروژه‌ی گوگل دارد. او وظیفه‌ی ایجاد هماهنگی بین بخش‌های فروش، مهندسی نرم‌افزار، مدیریت فروش و هر بخش درگیر دیگر را دارد.

برخی محصولات گوگل بدون داشتن یک مدیر محصول خوب، هیچ‌گاه نمی‌توانستند موفق شوند.

۴. مدیر عملیات کسب و کار

حقوق: ۲۵۲۴۲۳ دلار

3-business-operations-principal_1600x1200

فردی که در این پست مشغول به کار است باید تمامی پروژه‌ها را به بهترین نحو مدیریت کند و مدام در حال تعامل با مدیران ارشد باشد. بنابر گفته‌ی گوگل، فردی که برای این پست در نظر گرفته می‌شود حداقل ۶ سال سابقه‌ی کار دارد.

۳. مدیر بازاریابی

حقوق: ۲۶۸۹۳۶ دلار

marketing-director_1600x1200

وظیفه‌ی مدیر بازاریابی آشنا کردن عموم مردم با تمامی محصولات گوگل است. مدیریت تبلیغات از وبلاگ‌ها تا تبلیغات‌تلویزیونی بر عهده‌ی مدیر بازاریابی است.

۲. مدیر مهندسان

حقوق: ۲۷۲۳۷۰ دلار

2-engineering-director_1600x1200

این فرد مدیریت تمامی بخش‌های مرتبط با مهندسی در گوگل را بر عهده دارد. بنابر گفته‌ی گوگل انجام این کار نیاز به ده سال سابقه‌ی شغلی دارد.

۱. مدیر مالی

حقوق: ۳۳۹۸۲۵ دلار

1-finance-director_1600x1200

این پست یکی از پر درآمدترین شغل‌ها در گوگل است. مدیر مالی تمامی جنبه‌های اقتصادی شرکت را تحت نظر داشته و اطمینان حاصل می‌کند که بخش‌های مختلف در چهارچوب‌های اقتصادی تعیین شده قدم برمی‌دارند.

منبع: زومیت