LoginSignup
17
24
エンジニアキャリアについてあなたの考えをシェアしよう!

「@rana_kualu 2020年の開発者が知っておくべき11の必須技能」→回答編 → 並べ替え→項目合併(8項目)→内容追記。仮説(170)

Last updated at Posted at 2020-01-22

@rana_kualu 2020年の開発者が知っておくべき11の必須スキル

11 Essential Skills Software Developers should Learn in 2020
https://dev.to/javinpaul/11-essential-skills-software-developers-should-learn-in-2020-1bio

Top 11 Essentials Skills for Software Developers in 2020

  1. Containers (Docker and Kubernetes)
  2. Cloud Platform (AWS, GCP, or Azure)
  3. Data Structure and Algorithm
  4. A Version Control Tool (Git)
  5. One Text Editors (VIM)
  6. IDEs (VSCode or IntelliJIDEA)
  7. Database and SQL
  8. UNIX (Linux)
  9. An OOP Programming language (C++, Java or Python)
  10. Networking basics
  11. One Scripting language

回答編

11の技能を自己評価してみる。

0:知らない、触ったことがない
1:知ってる。使ったことがあるかもしれない。
2:誰かに相談できれば仕事で使える。
3:仕事に使っている。
4:改良に取り組んでいる。

点数を書いたら、その数だけURLを示す。

みだし補正

各みだしを category と examplesに分けてみる。見出しにやや整合性がない気がした。
下記表では、適当に補足・補正してみた。一番右の列が自己評価。

category examples value
Containers Docker and Kubernetes 3
Cloud Platform AWS, GCP, or Azure 3
Data Structure and Algorithm Machine Learning or Quantum Computing 3
A Version Control Tool git 3
One Text Editors vim, Emacs or Eclipse 4
IDEs VSCode or IntelliJIDEA 3
Database and SQL Oracle, SQL Server or MySQL 2
Unix or Linux Ubuntu, Raspbian or Debian 4
An OOP Programming language C++, Java or JavaScript 3
Networking basics TCP/IP and Wi-Fi 4
One Scripting language Python or Ruby 3

大事なのはでこぼこ。他よりよいのが1つ以上、他より悪いのを1つ以上書くこと。
全部同じ値は役に立たない。

私の場合は、Networkが専門で、BSDを対抗試験にDebian(linux)でコンパイルしてきた。エディタは作業の要。
苦手なのはDB、リレーショナルDBの概念と実装の隙間の大きさに戸惑う。

下記の一部の記事は、失敗だったり、未完だったり、これから該当する技術を書く予定のものがあります。
うまく行っていないもので解決する方法、誤字、誤解などにお気づきになられましたら、暖かいご指導のほどお願いいたします。

回答一覧

1) Containers (Docker and Kubernetes):3

これまで、色々な版での試験をするのに、全部別々のdockerを作ってhubに登録しとけば、いつでも必要な版をすぐに取り出せて便利。pythonでも、各版ごとにdocker作っておくとか。

docker(18) なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

docker(1)利用を勧める17の理由
https://qiita.com/kaizen_nagoya/items/c4e5075142bf5e11ddbe

docker(0) 資料集
https://qiita.com/kaizen_nagoya/items/45699eefd62677f69c1d

2) Cloud Platform (AWS, GCP, or Azure):3

いろいろなcloudの違いに依存されないためには、dockerで作ったものがそのままうごくサービスに限定して基本的な構造を設計するとよいかもというのが経験則。

「Qiitaのいろいろランキング2019」への感謝と提案
https://qiita.com/kaizen_nagoya/items/40b8557a20e8d75d62b5

日鉄ソリューションズのプライベートクラウドは、顧客満足度1位になっているほか、データサイエンティストの行事でDataRobotより上位の2位になっていることを記載。

転職(2) 転職者による、転職者のための、転職者の履歴、業績、面接
https://qiita.com/kaizen_nagoya/items/162fbb954deb886464bf

クラウドを利用するにあたってdockerを利用しているとよい点を記載。

製造業における機械学習
https://qiita.com/kaizen_nagoya/items/fbe846de16f74bea1d6f

製造業における機械学習でクラウド利用について記載。

3) Data Structure and Algorithm:3

機械学習をここに入れてもいいかもしれない。機械学習は、データ構造化と算法が鍵かも。

『フカシギの数え方』 おねえさんといっしょ:組み合わせ爆発の凄さ
https://qiita.com/kaizen_nagoya/items/f309b0c2bb015bbc71c3

仮説(153)成功体験は語っても、成功体験に頼らないために。清水吉男・田中伸明
https://qiita.com/kaizen_nagoya/items/d32adfaf7b2568bfd9d2

データ中心設計で田中伸明さんと連名で安全工学シンポジウム等で発表させていただいているのは光栄。

仮説(122)分析と設計
https://qiita.com/kaizen_nagoya/items/d7341c407026af61f216

4) A Version Control Tool (Git):3

版管理がこんなに楽になるなんて

仮説(51)公開算譜は機敏だ(open source is agile)GitHub and docker
https://qiita.com/kaizen_nagoya/items/5dd49a046b5991af3a5e

卒業論文、修士論文、博士論文は github/gitlab/bitbacketのprivate利用をお勧め
https://qiita.com/kaizen_nagoya/items/eb9945a2649f6f3eabd0

現在努力中
https://github.com/kaizen-nagoya

5) One Text Editors (VIM):4

VZエディタ移植(porting)に当たって実施したことと成果
https://qiita.com/kaizen_nagoya/items/5551be98dcbed8f41949

「アセンブラへの道」組立語(assembler)・機械語(machine language)・CPU
https://qiita.com/kaizen_nagoya/items/46f2333c2647b0e692b2

令和で成果を出す予定のソフトウェア・プログラミング・IT(一部、平成のコピー)
https://qiita.com/kaizen_nagoya/items/d7eae2ca3229eda72f88

仮説(139)新人(学生)を指導するよりも新人(学生)に指導してもらった方が効率的
https://qiita.com/kaizen_nagoya/items/db993b1536055029f7c8

6) IDEs (VSCode or IntelliJIDEA):3

docker(39) Cコンパイラ3種をdockerで
https://qiita.com/kaizen_nagoya/items/77184cf005490d7579e6

g++, clang++ and vscode++ をdockerで(まだエラー中)
https://qiita.com/kaizen_nagoya/items/825e9bcb017925e0fc5a

docker and vscode not visual studio code
https://qiita.com/kaizen_nagoya/items/165a281570a8c62ca50a

7) Database and SQL:2

仮説(163)生産縮小、規模縮小、人員縮小時には自動化道具を増強
https://qiita.com/kaizen_nagoya/items/8df1dc7d3a5c7869d3c2

Python で SQL
https://qiita.com/kaizen_nagoya/items/1a210fd10efaead88f68

8) UNIX (Linux):4

Posix Test Suite docker downloads, tar, install
https://qiita.com/kaizen_nagoya/items/f1e24be04a2405ede00f

xtUMLを導入する(linux編)
https://qiita.com/kaizen_nagoya/items/297097cc47a6487d9f20

仮説(165)40年でソフトウェア開発の景色はどのぐらい変わったのか?
https://qiita.com/kaizen_nagoya/items/54c17cf751894eef56f8

Raspberry Pi(SDカード付き)開封から起動までの時間測定
https://qiita.com/kaizen_nagoya/items/8cde74c07848ec413f7b

9) An OOP Programming language (C++, Java or Python):3

Object Oriented Programmingは、物をよく分析してプログラムすればいいだけだと思えば良い。
プログラミング言語をよく知らないうちなら理解可能な概念。
特定の言語を知ってしまうと、その言語での解決策の案に囚われて、すごく狭い理解しかしない人たちがいるかもしれない。抽象データ型に対応している言語ならどれでもよい。
COBOLは、元々Object Orientedな言語で、OOCOBOLでなくてもよいかも。機械語がいちばんのObject Oriented Languageだとずっと主張しつづけてきた。
Classによる体系化はOOPの一手法かもしれないがお勧めできない。C++ならTemplateを駆使したり、拡張するといいかもしれない。

見出しは忘れて、一つの言語を操れればいいと思うとよいかも。

Autosar Guidelines C++14 example code compile list(1-169)
https://qiita.com/kaizen_nagoya/items/8ccbf6675c3494d57a76#_reference-6bf86e567f8b9d0a1028

仮説(89)インド、インドネシアとJava、Javascript:接尾辞がついて別物と言うが共通点は多い。
https://qiita.com/kaizen_nagoya/items/2c331ff6654d41d5e157

dockerで機械学習(87) with JAVA(1)「Machine Learning: End-to-End guide for Java developers」 By Richard Reese, Jennifer Reese, Bostjan Kaluza, Uday Kamath, Krishna Choppella
https://qiita.com/kaizen_nagoya/items/2d3a4f168b4c9a28b32e

10) Networking basics:4

TCP/IPを基本としてWi-Fiまで幅広く網羅してもらえると嬉しい。

無線網(Wi-Fi)空中線(antenna)(0) 記事一覧(122/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

情報処理技術者試験 ネットワークスペシャリストに合格 
https://qiita.com/kaizen_nagoya/items/407857392ca5c5677ee4

「基礎からわかるTCP/IP JAVAネットワークプログラミング」Eclipseでコンパイル。Wiresharkでデバッグ。
https://qiita.com/kaizen_nagoya/items/14519536b827fdadb32e

通信エミュレータの移植
https://qiita.com/kaizen_nagoya/items/ce505bbea4229b83e93b

11) One Scripting language:3

shellでもいいかも。自動実行できればいい。

Windows(M.S.)にPython3(Anaconda3)を導入する(7つの罠)
https://qiita.com/kaizen_nagoya/items/7bfd7ecdc4e8edcbd679

docker(19) 言語処理100本ノックをdockerで。python覚えるのに最適。
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

転職(16) 65歳からのプログラミング入門
https://qiita.com/kaizen_nagoya/items/1561f910c275b22d7c9f

並べ替え(re sort)

11の項目を、自分が大事だと思う順番に並び替えるのも良い。

K J category examples value
1 4 A Version Control Tool git 3
2 1 Containers Docker and Kubernetes 3
3 3 Data Structure and Algorithm Machine Learning or Quantum Computing 3
4 5 One Text Editors vim, Emacs or Eclipse 4
5 6 IDEs VSCode or IntelliJIDEA 3
6 10 Networking basics TCP/IP and Wi-Fi 4
7 8 Unix or Linux Ubuntu, Raspbian or Debian 4
8 11 One Scripting language Python or Ruby 3
9 9 An OOP Programming language C++, Java or JavaScript 3
10 7 Database and SQL Oracle, SQL Server or MySQL 2
11 2 Cloud Platform AWS, GCP, or Azure 3

自分が得意な分野が真ん中にある。この並べ替えは、一つの意見。他の分野が得意な人は、他の並び方になるだろう。Jは原著者のJavinpaul, kは@kaizen_nagoya

cloud platformが低いのは、もっと便利になる物が生き残るだろうという想定から。
cloud platformを作るプログラマがもっと頑張ると良い。
Database が低いのも同じ理由。
Unix/Linuxがどんどん便利になって、Raspbianやubuntuのように普及して使いやすくなるともっと上にするかも。

項目合併(merge)

IDEにエディタは含むこともあり、One Text Editors とIDEは一つの項目でも良いかもしれない。
UNIXがTCP/IPとともに普及してきたことを考えると、Networking basics と Unix or Linuxも一つの項目でも良いかもしれない。
言語はOOPかどうかはどっちゃでも良くて、One Scripting language と An OOP Programming language もpythonかJavascriptで良いので一つの項目で良いかもしれない。

私版「開発者が知っておくべき8の必須技能」に縮退。

K J category examples value
1 4 A Version Control git 3
2 1 Containers Docker and Kubernetes 3
3 3 Data Structure and Algorithm Machine Learning or Quantum Computing 3
4 5+6 One Text Editors and IDEs vim, Emacs, Eclipse, VSCode or IntelliJIDEA 4
5 10+8 Networking and Unix(Linux) TCP/IP, Wi-Fi and Ubuntu, Raspbian or Debian 4
6 11+9 One Scripting or Programming llanguage Python, Ruby, C++, Java or JavaScript 3
7 7 Database Oracle, SQL Server or MySQL 2
8 2 Cloud Platform AWS, GCP, or Azure 3

おお、重複感が減りすっきりした。もちろん、他の統合方法もいっぱいあると思う。
自分なりに整理すると仕事で役立つかも。

どんな資料も、再利用可能な方法で再計画(re programming)するのがprogrammer流かも。

内容追加(addition)

A version control toolにはissuとwikiも合わせたdocument toolに拡張した。
Web Serverがないので、Databeseと合体して1項目にした。Data Structure and Algorithmと合体するかどうかは悩んだ。

K J category examples value
1 4 A Version Control and document Tool GitHub, gitlab or bitbucket 3
2 1 Containers Docker and Kubernetes 3
3 3 Data Structure and Algorithm Machine Learning or Quantum Computing 3
4 5+6 One Text Editors and IDEs vim, Emacs, Eclipse, VSCode or IntelliJIDEA 4
5 10+8 Networking and Unix(Linux) TCP/IP, Wi-Fi and Ubuntu, Raspbian or Debian 4
6 11+9 One Scripting or Programming llanguage Python, Ruby, C++, Java or JavaScript 3
7 7 Web and Database Apache or Nginx and Oracle, SQL Server or MySQL 2
8 2 Cloud Platform AWS, GCP, or Azure 3

参考資料(reference)

一覧の一覧 a directory of directories of mine.
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

docker(59) Githubとdocker
https://qiita.com/kaizen_nagoya/items/f7e142cd283a1c314234

プログラマが知っているとよい色使い(JIS安全色)
https://qiita.com/kaizen_nagoya/items/cb7eb3199b0b98904a35

参考文献駆動執筆(references driven writing)・デンソークリエイト編
https://qiita.com/kaizen_nagoya/items/b27b3f58b8bf265a5cd1

「平成のうちにやめたかった『ITの7つの無意味な習慣』」に付け加えたかったこと。
https://qiita.com/kaizen_nagoya/items/e6f9c2e0afbf8ab4181c

仮説(54)プログラムは音楽だ (A program is a music.)
https://qiita.com/kaizen_nagoya/items/33c9f33581e6886f8ad8

文書履歴(document history)

ver. 0.01 初稿 20200122 午前
ver. 0.02 順番並べ替え 20200122 昼
ver. 0.03 項目縮退 20200122 午後1時
ver. 0.04 Web追記 20200122 午後2時
ver. 0.05 参考資料追記 20200122 午後3時
ver. 0.06 表記補正、誤記訂正、Emacs追記 20200122 午後4時
ver. 0.07 構造見直し 20200122 午後5時
ver. 0.08 抜け漏れ補正 20200122 夜
ver. 0.09 内容追加(addition)追記 20200123
ver. 0.10 表現補正 20220312
ver. 0.11 ありがとう追記 20230413

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

このエントリーをはてなブックマークに追加

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>

17
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
24