【18新人シリーズ】エンジニア勉強会!
*English translation below
こんにちは、新人エンジニアの竹田です。
今回は社内で定期的に行われているエンジニア勉強会について紹介していきます。
勉強会と聞いて堅苦しく分かりずらいものを想像される方も多いと思います。
(今まで経験してきた勉強会は堅苦しく分かりずらいものが多かったです)
しかし!! 「あまた」はそんな新人の想像を見事に粉砕してくれました。
新人が思ったあまたの勉強会ここがすごい!!
・雰囲気が和気あいあいとして気軽に質問ができる環境。
・各プロジェクトで実際に起こった問題やソフトの所感を分かりやすく紹介してくれる。
・失敗や経験を伝えより良い会社にしていこうという意思がある。
「じゃあ実際に内容はどのようなものがあるの??」と思った方もいると思います。
お題は4つありました。
【スケジュールを巻けた方法】
【GitHub Project】
【Firebaseについて】
【iPhone X 対応の詳細】
スケジュールの効率化、ソフトの所感、iPhone Xで起こった問題解決などバラエティに富んだラインナップです!!
端的に各お題の内容についてお話していければと思います。
【スケジュールを巻けた方法】
どの業界もあるかもしれませんがスケジュールがカツカツ!!
時間が無いどうしよう!という経験をなさった方もいるでしょう。
結論だけ言うと!!
・ミーティングの効率化
・優先度を決めて低い機能は削り、その分他のクオリティをあげる
・タスクの細分化(タスク担当者以外でも技術的に対応可能な人員を明確化しておく)
【GitHub Project】
看板形式のタスク管理をするGitHubの機能の1つです。
似たようなものだとTrelloというツールがあります。
あまたではRedmineを使ったチケット形式でタスクの管理をしているプロジェクトが多いです。
ではなぜGitHub Projectを使い始める事になったのでしょうか?
理由
・看板形式なので視覚的一目で分かる。
・タスクの経緯を履歴に残せるので経緯を忘れることが減る。
・プロジェクトの人数が少なかったから。
しかし、利点だけで無く新たな問題も発生したそうです。
・看板形式なので全体のスケジュールの把握が難しい。
・全体進捗に対してタスクが遅れているか分かりづらい。
1つ問題を解決すると新たな問題が発生するものですね。
【Firebaseについて】
段々専門的な内容になってきましたね!!
Firebaseとは何か、知らない人がほとんどだと思います(私も知りませんでした)。
Firebaseとは?
mBaaS(Mobile backend as a service)と呼ばれるサービス。
mBaaSとは?
スマホアプリ作るときにあると嬉しいサーバー機能の詰め合わせです。
ではどんな機能があるのか。
いくつか紹介します。
・プッシュ通知機能。
・ゲーム内のデータをゲーム配信後にも自由に変更できる機能。
・ユーザーの情報管理機能。
などなどここで紹介しきれないくらい機能があります。
このように便利な機能があるFirebaseですが実装は難しい?
そんなことはありません!!
今までならサーバーの技術を持った人が何日もかけて環境を構築していたのをFirebaseはプログラマーが一人しかいなくとも簡単に導入できます。
しかし今回の導入は開発中盤からおこなった為、他のプラグインと競合してエラーが出ることも多かったそうです。それでも導入する価値はあったと発表者の方は言ってました。
【iPhone X 対応の詳細】
業界の人なら分かる少し困った端末 iPhone X!!
なぜ困った端末なのか?理由としては独特なデザインのインカメラ、画面下のホームバーそして画面端の丸みです。
iPhone Xにはセーフエリア(下記画像の白い領域)という領域があります。
Appleの規約によりセーフエリア以外の場所に背景やグラデーション以外のUIを配置してはいけません。
※この画像はイメージです。
そして独特な横長の画面比率、画面端の丸みでUIのずれやカメラにUIが被るなどを起こすプロジェクトが多発しました。
困ったものです!!(実際は入社する前に起こった事なのであまり実感は無いです)
どのように対応したか?
なんと専用のプラグインがあります。
詳しくはUnityが公開している記事を参照してください。
https://helpdesk.unity3d.co.jp/hc/ja/articles/115012920507-2017-%E5%B9%B4%E3%81%AE%E6%96%B0-iPhone-iPhone8-8Plus-X-%E3%81%B8%E3%81%AE%E5%AF%BE%E5%BF%9C%E7%8A%B6%E6%B3%81
プラグインを使うことによってUIのずれはある程度直ります。
その他にも問題はありましたが長くなるので今回はここまでにしておきます。
初めて参加した勉強会でしたが、どのお題もとても為になりました。
先輩の失敗や体験談を聞くことで自分の経験にもなったような気がします。
でも一番勉強になったのはブログの書き方かもしれません!!
(新人エンジニアの竹田)
【18 New Faces Series】 Engineer Study Group!
Hello, I’m Takeda, a newcomer engineer.
This time I’ll be introducing you to the engineer study group, which is regularly held at the office.
I think that when a lot of you hear the words “study group,” you imagine something formal, stiff, and difficult to follow.
(I’ve experienced quite a few stiff and difficult to follow study groups myself)
However!! AMATA beautifully pulverized that sort of idea.
This newcomer thought that the AMATA study group was amazing!!
– It’s a friendly environment where you can feel free to ask questions.
– It introduces you to engineers’ impressions of software and problems that actually occurred on each project in a way that’s easy to understand.
– It’s intended to allow us to convey our mistakes and experiences in order to make a better company.
I know some of you are thinking now, “OK, so what kinds of things are actually covered??”
There were 4 subjects covered this time.
【Scheduling methods】
【GitHub Project】
【About Firebase】
【iPhone X support details】
Scheduling efficiency, software impressions, solving problems that have come up with iPhone X…it was a lineup with abundant variety!!
I’d like to talk briefly about each subject discussed.
【Scheduling methods】
This may be the case in any industry, but schedules are hectic!!
There’s no time, what do we do?!! Some of you may have experienced this.
To jump straight to the conclusion…
– Improving meeting efficiency
– Prioritize and cut low priority functions to raise the quality of everything else.
– Task division (Clarifying who is technically able to provide support in advance, even if they aren’t assigned to the task at hand)
【GitHub Project】
One function of GitHub is bulletin board-style task management.
There’s a similar tool called Trello.
At AMATA there are lots of projects that use the Redmine ticket system for task management.
So why was the decision made to start using GitHub Project?
Reasons
– With the billboard format, it can be understood visually at a glance.
– We can leave a history of the particulars of a task, which decreases forgetfulness.
– The number of people assigned to the project was small.
That said, it seems that not only advantages, but new problems also arose.
– With the billboard format it is difficult to grasp the overall schedule.
– It’s difficult to see whether a given task is falling behind the overall progress.
It looks like solving one problem can create new problems.
【About Firebase】
We gradually moved towards specialized topics!
I think most of you probably don’t know what Firebase is.
(I didn’t know what it was, either).
What is Firebase?
It is what is known as a “mBaaS (Mobile backend as a service).”
What is an mBaas?
It is an assortment of server functions that I’m glad I have when making smartphone apps.
So what kind of functions does it have?
I’ll introduce a few.
– Push notification
– The ability to freely change game data even after release.
– User information management
…and on and on, too many functions to introduce here now.
Firebase has these kinds of useful functions, but is it difficult to implement?
Not at all!!
It used to take people with server skills days to construct this kind of environment, but Firebase can be easily installed even if there is only one programmer.
However, since the installation this time was carried out from the middle stage of development, it seems there were a lot of errors and conflicts with other plugins. Even so, the presenter said it was well worth introducing.
【iPhone X support details】
Everyone in the industry understands that little troubled iPhone X terminal!!
Why is it a troubled terminal? The reasons are the uniquely designed in-camera, the home bar at the bottom of the screen, and the roundness of the screen edges.
iPhone X has areas called “safe areas.” (The white area in the image below)
According to Apple’s terms and conditions, you’re not supposed to put UI’s other than backgrounds or gradations in areas outside the safe area.
* This picture is just an image.
And there were repeated incidences of projects causing issues like unique landscape aspect ratios, UI deviations due to the round screen edges, and the camera overlapping the UI.
It’s a lot of trouble!!! (Actually these things happened before I joined the company, so I don’t really feel it)
How did they handle this?
With a specialized plug-in.
For details, see the article published by Unity.
https://helpdesk.unity3d.co.jp/hc/ja/articles/115012920507-2017-%E5%B9%B4%E3%81%AE%E6%96%B0-iPhone-iPhone8-8Plus-X-%E3%81%B8%E3%81%AE%E5%AF%BE%E5%BF%9C%E7%8A%B6%E6%B3%81
Through the use of this plugin, UI deviations can be corrected to some extent.
There were some other problems as well, but to keep things brief I’ll stop here.
It was my first time joining the study group, but every topic was very useful.
Listening to my seniors talk about their failures and experiences made it feel like they were my own experiences.
But the thing I might have learned the most about is how to write a blog!!
(Takeda, a newcomer engineer)