קנאה במקום העבודה

אני חושב שמשכורות זה משהו שצריך להיות פומבי במקום העבודה. בדרך כלל, התגובה שאני מקבל היא שזה יגרום לאנשים לקנא. לדעתי, זה דבר טוב. כי רוב האנשים לא חושבים על זה אבל יש שני סוגים של קנאה. השפה העברית פשוט לא מכילה את המילים בשביל זה.

באנגלית, אפשר להבדיל בין Jealousy ל-Envy (למרות שגם דוברי אנגלית לרוב לא יתייחסו להבדל הזה). כשאומרים קנאה, רוב האנשים חושבים על Jealousy. זאת המחשבה שלמישהו לא צריך להיות משהו בגלל שלך אין אותו. זאת מחשבה מאוד שלילית ועוינת ואני מבין למה עדיף להימנע ממנה, במיוחד בין אנשים שאמורים לעבוד ביחד. אבל זאת הגישה הנמוכה והשלילית ואני מעדיף לנקוט בתער של האנלון. Envy היא הרצון גם להשיג משהו שלמישהו אחר יש. ואלא אם כן מדובר במשהו ייחודי (כמו בן זוג של מישהו), רוב הזמן לא מדובר בלקחת לאותו מישהו את מה שיש לו.

איך שאני רואה את זה, אם אני רואה שלמישהו יש משהו מגניב שאני אוהב, אני אחפש איפה אני גם יכול להשיג כזה. אם למישהו באותו תפקיד כמו שלי יש זכויות מסוימות או משכורת טובה יותר ממני, אני אבדוק מה אני יכול לעשות כדי שגם יגיע לי, אני ארצה להשתפר. ומה רע בזה? בכלל, מה רע בלשאול את הבוסים ישירות, “מה אני יכול לעשות כדי שיעריכו אותי יותר? מה המדדים פה? תפוקת קוד גבוהה יותר, יותר יוזמה, הצעות ייעול, הדרכה של חדשים? אני רק רוצה לדעת מה חשוב פה כדי לדעת איפה לרכז מאמצים.”

אז תזכרו להבדיל, קנאה (Jealousy) זה לא דבר טוב אבל קנאה (Envy) זה סבבה אם זה גורם לכם לרצות להשתפר בעצמכם ולא להוריד אנשים אחרים.


Posted in Humanity, Thinking Out Loud by with no comments yet.

How to Make a Unity Package (For the Unity Package Manager)

Let’s say you have a bunch of code you want to drag around with you to every new Unity project, or maybe just the next project you’re doing for the same company. Don’t just copy and paste the same directory over and over again forcing you to also copy changes and updates. Create a package instead!

Unity has switched over to a package model for a lot of the engine’s capabilities. And it also allows you to import non-Asset Store packages straight from GitHub or even locally. So how do you take what you have and make it an easily distributable package? Follow these steps.

  1. In your Project window, below all your regular files is a Packages folder. Right click on it and select Show in Explorer.
  2. In that Packages folder, create a new directory and name it however you like. This will be the root of your package.
    1. Do remember that the folder name can not contain spaces.
  3. Create a new “package.json” file.
    1. This page right here explains everything about the structure of the file.
    2. And here is an example file.
  4. Back in Unity, your new package should be visible with the name you gave it.
  5. Clicking on package file will open it in the Editor UI, allowing you to edit it more conveniently so you don’t have to go back to the JSON.
  6. In that Inspector window, you can also easily add Dependencies if your package requires it which is a much easier workflow than typing them out.
  7. After this basic set up, you’ll want to add your content, this link here will show you the folder and file structure required of a package.
    1. You need the package.json file.
    2. Adding a “README.md”, “CHANGELOG.md”, and “LICENSE.md” files is general practice and provides a better user experience.
    3. The “Editor” folder should contain your editor scripts.
    4. The “Runtime” folder should contain your runtime scripts.
    5. And you can add additional “Tests” and “Documentation~” under their respective folders.
      1. Under “Tests” you do have to add “Editor” and/or “Runtime” sub-folders depending on what you’re testing.
    6. You may also add additional folders and files as you wish.
  8. Just drop your scripts, assets, and whatever else you want from your current project into the correct folder in the package (Regular scripts into “Runtime”, editor scripts into “Editor”, and test scripts into “Tests”).
  9. Then, for every folder you have files in, right click it and select “Create\Assembly Definition”.
    1. It is recommended to name them in reverse web notation in a way that is easy to understand.
    2. For tests, you need to add a reference to your relevant assembly definition file (The runtime file for runtime tests and editor file for editor tests) and to the Unity TestRunner assemblies (Yes, both).
      1. Also, make sure that Editor is the only platform selected.
  10. That’s it, your done defining.
  11. If you move the package anywhere else for safe keeping, you can add it from the Package Manager by pressing the ‘+’ sign, selecting “Add from Disk” and finding your package.json file.
  12. But it is recommended that you upload the contents of your package (Not the folder itself but everything in it) to some Git repository and then you can always add it from Git and your users will be much happier for a constantly updated package.

Posted in Practice, Programming, Thinking Out Loud by with no comments yet.

Blegh.

I apologise to anyone who was expecting something from me recently. I’m feeling sick and this might take a while.


Posted in Life by with no comments yet.