トラックパッド vs マウス
IT業界に入ってから、ずっとPC操作はノートパソコンのトラックパッドで行っておりました。マウスには一度も手を出しておりませんでした。
理由としましては、
- 持ち運びが面倒
- 机の上に物が増える
- キーボードとトラックパッドの距離より、キーボードとマウスの距離の方が遠い
などがありました。
ただ、今の会社では私の所属部署では私以外全員マウスを使用しております。
そこで満を持してマウスの導入を検討しました。
オフィスと自宅どちらでも使用したいので、持ち運びの際にかさばらないワイヤレスのマウスに狙いを定めました。
家電量販店に行って触りごごちを確かめて最高のマウスと出会いました。
それが、logicool M331 SILENT PLUS です!
こちらポイント還元等を加味すると1000円台で購入が可能です。
また、私が感じた値段以外のメリットとしては
- 見た目がスタイリッシュ
- クリック音がとても静か
- 操作感が精確
- 手にフィットする
などが挙げられます。
実際に仕事で使ってみるとさらに利便性が感じられました。特にトラックパッドに比べてカーソルを早く動かせたり、ページのスクロール、カーソルによる範囲選択 等で使い勝手の良さを感じています。
また、上述しましたマウスを敬遠していた理由はどれも慣れればまったく気になることはありませんでした。
今ではすっかりマウス信者です。
Androidスマホを使ってみて
iphoneを10年弱使っていたのですが、2年前からAndroidスマホに切り替えました。
実際に使ってみて感じたことAndroidスマホのメリット・デメリットをまとめます。
使用していたAndroidスマホ
名称
Pixel4a 5G
(2022/01現在、Google Storeでは販売終了しています。)
使用歴
2年1ヶ月
スペック
基本仕様
- メモリ
- ROM 128GB
- RAM 6GB
- OS Android12(最新にアップデータ可能)
- CPU Snapdragon 765G SDM765G
- コア数 8
- 充電端子 USB Type-C
- バッテリー容量 3885mAh
画面性能
- 画面サイズ 6.2インチ
- 画面解像度 2340 x 1080
- パネル種類 OLED
Androidスマホのメリット
値段が安い
これがまっさきに思い浮かぶ1番のメリットでしょう。
私の使用していたGoogle純正のミドルレンジスマホですら、
(Google Storeで購入して)60500円でした。
よりスペックの低いAndroidスマホでは1万円台で買えるものも少なくありません。
一方、iPhone14は最低価格が119800円です。型落ちのiPhone12ですら92800円です。
iPhoneはハイエンドスマホに分類されますので、オーバースペックと感じている方はより低価格なAndroidに乗り換えるのもありかと思います。
Googleアカウントで全て管理できる
iPhoneではAppleアカウントの設定・管理が必要になりますが、Androidではもちろん不要です。
Googleアカウントで管理できます。自分の使っているPCのブラウザがGoogle ChromeであればGoogleドライブでデータの共有が全て行えます。
Androidスマホのデメリット
AirDropが使えない
写真を友達と共有していたときにiPhoneで頻繁に利用されるAirDropが使えません。
友達がみんなiPhoneユーザーだと特に悲しい気持ちになります、、、。
アプリがクラッシュしやすい
私の使用しているAndroidスマホはGoogle純正なのでアプリがクラッシュして落ちる可能性は他のAndroidスマホに比べて低いのですが、それでも稀にアプリがクラッシュしてしまいます。
おそらく、iPhoneで主にアプリをダウンロードするApp Storeへのアプリをアップロードするストア申請の要件がAndroidアプリを主にダウンロードするPlayストアのそれと比較して厳しいことが原因なのかなと思っています。
RecyclerViewの実装
Androidアプリ開発でよく利用されるリスト作成時のViewにRecyclerViewがあります。
RecyclerViewの基本的な使い方をまとめます。
RecyclerViewの実装方法は大きく2種類
- ネイティブ
- Groupie(ライブラリ)の使用
RecyclerViewは、Listを画面に表示させるときに使用する。Viewを使いまわす、かつ、表示されるときに生成されるので、動作のカタツキが少ない。
基本的な実装方法は、
- RecyclerViewをレイアウトファイルに配置
- RecyclerViewの1つのItemとして表示したいViewのレイアウトファイルを作成する
- RecyclerViewに対するAdapter(データ管理、Viewの作成)クラスを作成する
- RecyclerViewに対するViewHolder(RecyclerViewの1つ1つのItemのViewを生成する)クラスを作成する
- RecyclerViewをActivity(Fragment)から参照し、adapterに3で作成したadapterをセットする。layoutManagerをセットする。
RecyclerViewの使用例
- 2行のリストを作成したい
LayoutManagerにGridLayoutMangaerを使用する。
Spanに行数を指定する。2行の場合は、2を指定する。
- 複数種類のレイアウトをリスト内に表示させたい
ViewTypeで条件分岐させる。
getItemViewType()をAdapterクラスでoverrideし、onCreateViewHolderに渡すViewTypeを返すようにする。
- リストに境界線を表示させたい
RecyclerViewインスタンスで
addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL))を呼ぶ。
- リストのItem間にマージンを設けたい
ItemDecorationクラスを継承した自作のDecorationクラスを作成し、
getItemOffsets()をoverrideすることで、上下左右のマージンを指定する。
ただし、マージンの単位はpxなので注意。
ListViewとの比較
RecyclerViewはListViewよりもより自由なレイアウトを作成できる特徴がある一方で、
ListViewに劣っている点もある。
- 区切り線(境界線)は自前で準備しないといけない
- タップ時のリスナが準備されていない
ListViewにはタップ時のリスナ用にOnItemClickListener()
とsetOnItemClickListener()
が準備されている。
レイアウトファイルのDesginにItemを表示させる
レイアウトファイルのRecyclerViewの
tools:listitem
属性にItemのレイアウトファイルを指定する。
ここが辛いよエンジニア
昨今エンジニア転職がブームとなっておりエンジニアのメリットばかりが取り上げられています。
なので本記事ではエンジニアのデメリット・辛いことをまとめてみます。
デメリット①:給料が低い
エンジニアの給与は全職種を平均した中だと高水準と言われております。この数値はソフトウェア開発において上流工程を担当している人(SEやPMといわれる職種の人)の給与も含まれております。
(フリーランスでは無く会社に勤めている場合)一般的により上流工程を担当するほど給与は上がります。つまり給与額の平均は
PM > SE > エンジニア
となります。
つまり、ソフトウェア開発に従事する人の給与は他の職種と比較して高水準だが、多く給与をもらっているのは上流工程担当者でありキャリアの浅いエンジニアの給与は決して高く無いことがわかります。
またエンジニア(特にキャリアの浅いエンジニア)は業務時間外の学習に膨大な時間を割く必要があります。
これを加味すると給与の総額だけでなく、給与を時給換算した値も非常に低くなる現状が伺えます。
デメリット②:業務時間の長さ
案件によるので一概には言えませんが、炎上案件にアサインされてしまうと業務時間は膨大になります。
エンジニアになりたてでは案件を選択することはできないと思いますので、工期にゆとりがある案件にアサインされることを祈りましょう。
デメリット③:駆け出しのエンジニアの覚える量が多すぎる
エンジニアとして案件に初めてアサインされると、自身の知らないことの多さに驚愕します。
フロント、バック、ネットワーク、インフラ、DB、API、ライブラリ/フレームワークの使い方、Gitの使い方、GitHubの運用 等覚えることが膨大です。
アサインされてからは毎日わからないことだらけになるので、ググって調べるのはもちろん、業務時間外で調べたことをまとめる作業をおすすめします。
まとめ
エンジニアはクリエイティブにコードを書くキラキラした職業という認識の方も多い方おもいますし、この認識は決して間違っていないと思います。華やかな面がある一方で実際は非常に泥臭い作業が多いことも理解しておくことが大切です。
私個人としては、上述したデメリット(苦労)があることを理解した上でも、エンジニアという職業を強くオススメします。
理由は非常に単純で「楽しい」からです。ITに関する技術や知識を習得すること、ソフトウェア・アプリケーションを開発すること 等の業務は非常に楽しくやりがいのあるものであると感じています。
エンジニアにこれからなりたい!と思っている方には、ぜひメリット・デメリットを理解した上で挑戦していただきたいです💪
【合格体験記】Python 3 エンジニア認定データ分析試験に合格した話
先日Python 3 エンジニア認定データ分析試験に合格したので、私の試験までのスケジュール・学習方法をシェアしたいと思います。
試験の概要
- Pythonによるあたらしいデータ分析の教科書より出題
- 60分で40問の選択式問題を解答
- 試験はCBT形式
- 7割以上の正答率で合格
自身のスキル
- Python3 エンジニア認定基礎試験合格
- Java/Kotlinの実務経験あり
学習期間
1週間
参考書籍/参考サイト
Pythonによるあたらしいデータ分析の教科書
PRIME STUDY(模擬試験)
試験までのスケジュール
- Pythonによるあたらしいデータ分析の教科書1周
- PRIME STUDYの「第1回 Python3データ分析 模擬試験」を2周
試験結果
得点
800点/1000点
分野ごとの得点率
1. データエンジニアの役割 100%
2. 実行環境構築 100%
3. Pythonの基礎 67%
4. Jupyter Notebook 100%
5. 数式を読むための基礎知識 100%
6. 線形代数 100%
7. 基礎解析 100%
8. 確率と統計 100%
9. NumPy 50%
10. pandas 71%
11. Matplotlib 100%
12. scikit-learn 75%
取得してみての感想
Pythonエンジニア認定基礎試験と同様に簡単でした。体感ではPRIME STUDYの「第1回 Python3データ分析 模擬試験」よりもやや簡単といったレベルでした。
これから受験する予定の方へ
必要となるスキル
Pythonエンジニア認定基礎試験が合格できるレベルのPythonのスキルが必須です。
教科書の学習の進め方
教科書内には多くのコードが掲載されておりますが、全て実際に書いて動作確認しなくても問題ないです(目は通して意味は理解する必要はあります)。
それよりもできるだけ早く教科書を1通り読んで、模擬試験に取り組みましょう。
模擬試験の取り組み方
教科書を読んだ段階では合格点は取れないので、わからなくても次々問題に取り組みましょう。答え合わせの段階で確実に理解する必要があります。
本試験では、
- Numpy
- pandas
- Matplotlib
- scikit-learn
以上4つのライブラリに関する問題が出題されます。
模擬試験の答え合わせの時にライブラリごとに関数、属性 等を体系的にまとめておきましょう。この時、教科書内全てを網羅する必要はありません。
試験直前
模擬試験の答え合わせの段階でライブラリごとに体系的にまとめた内容をざっと復習しましょう。
未経験からエンジニアに転職した方法
私は現在ITコンサルとして働いていますが、コンサルになるまではモバイルアプリのエンジニアとして約2年間働いておりました。
エンジニアに転職するまでは、商社で1年半ほど営業として働いておりITリテラシーは皆無でした。
そんな私がどのようにエンジニアに転職できたのかお伝えいたします。
転職時の経歴
- 理系(農学部)大学学部卒
- 新卒で商社の営業
- Word/PowerPoint/Excelが少し使える程度
- ITに関する苦手意識あり
- TOEIC 720点
エンジニアを目指した理由
営業の仕事内容にあまり魅力を感じていなかった時に、情報系の大学院の友人からプログラミングやIT分野の話を聞いて、IT企業に関心を持つようになりました。独学でプログラミング言語の習得は可能であることも聞いていたので、Javaの勉強をはじめました。
Javaを選んだ理由はネット上の様々な記事に世界中で広く使用されている言語である、という内容が多く見られたという漠然とした理由でした。また、このときは興味本位で勉強を始めただけでエンジニアに転職したいという気持ちはまったくありませんでした。
Javaの学習を始めると、、、本当に何もかも分かりませんでした。プログラミング言語に関してはもちろん、ソフトウェア、ハードウェアに関しても何も分かりませんでした。ただ、これが非常に良かったと思っております。テキストのページをめくる度にITの世界にどんどん踏み込んでいっている感覚がありました。
Javaの文法の学習を一通り終えると、Javaを使って自分でアプリを作ってみたくなりました。ググってみると、AndroidアプリはJava(現在は主にKotlinです)をもとに作られていることを知り、見よう見まねで作ってみました。たしかメモアプリを作成したのですが、今考えるとアーキテクチャやAndroidのコーディング規則等全てが無茶苦茶でした、、、。
駄作ではあるものの独学でAndroidアプリケーションを作成しきった私はアプリケーション開発の楽しさに取り憑かれました。そして、モバイルアプリエンジニアになることを決心しました。
Javaの学習に使用していた書籍
エンジニア転職を志した当時の状況
私がエンジニア転職を考えた2020年は、プログラミングスクールが乱立し空前の「未経験からのエンジニア転職」ブームだった記憶があります。
エンジニア転職のためのライバルとの差別化
他の未経験からの転職組に勝つために以下の差別化をしました。
- 全ての学習を独学で行う
エンジニアは自走してコーディングする能力が求められるので、この素地があることを示すために、プログラミングスクールには通わず全て独力で行いました。
- 仕様通り動くポートフォリオを作成する
いくら履歴書に「Javaが書けます。」、「Androidアプリが作れます。」と記載しても面接担当者に能力を十分に伝えることはできません。
なので、非常に簡単な仕様でいいので、これを十分に満たしたアプリケーションを作成し、GitHubに公開しました。
- 熱意を伝える
差別化した点の中で最も効果的であったのが熱意を伝えたことであると思っております。未経験で入るエンジニアはスキルがあってもほとんどの人材が入社後に研修やメンターの指導が必要となります。なので、即戦力は求められておりません。アプリ(ソフトウェア)開発が好きで、多少の辛いことも乗り越えることができるメンタリティが重要になります。
具体的には、面接の最後に時間を頂いて、いかに自分がアプリ開発に携わりたいかを自分の言葉(あえて詳細は考えずに)で伝えました。
使用していた転職サイト
Wantedlyのみ使用しておりました。
【合格体験記】モバイルシステム技術検定 2級に合格した話
モバイルシステム技術検定 2級に合格したので、私の試験までのスケジュール・学習方法をシェアしたいと思います。
試験の概要
- モバイルシステム技術テキストより出題
- 過去問は非公開
- 合格点数、合格率も非公開
- 100問を100分で解答(4者択一)
自身のスキル/経歴
- モバイルアプリエンジニア2年
参考書籍/参考サイト
モバイルシステム技術テキスト第9版
学習期間
1ヶ月
試験までのスケジュール
- モバイル技術的テキスト第9版 3周
- 公式のサンプル問題
試験結果
合格
取得してみての感想
想像以上に出題範囲が広かったです。
モバイルの歴史から最近のトレンドまで幅広く網羅されており、資格試験を受けない方が読んでも非常にためになると感じました。
受験に向けてのアドバイス
本試験の特徴は何といっても過去問が非公開なことです。
テキストのどこが頻出なのか判断することができません(章ごとの出題率は公開されていま)。
本番のテストでは重箱の隅をつつくような問題もいくつか見られました。
つまりテキストの隅々まで覚える必要があります。
テキストは、図表を用いられているものの割と冗長な文で説明がなされています。そのため、(遅くてもよいので)しっかりと意味を理解しながら読み進めていきましょう。3周ほど読み込めば十分に合格できるかと思います。
合格点数に関してなのですが、私の得点が75~80点くらいであったと考えているので、70点くらいなのかなと予想しております。