はてなキーワード: typescriptとは
今までのキャリアで後悔があるとするなら、CやC++での開発に業務で関わらなかったことである。
現在ミドルウェアでシェアがあるものはCやC++で書かれてるのもが多いように思う。未だに新しく出るものを見てもそのようなものがある。
一般的にインターネットのサービス開発においては、LL系やGoやTypeScriptなどで開発されるので、Cなどで開発する機会は今やほぼ無いはずであり、私も通ってこなかった。
しかしGitHubで著名なDBやKVSを見るとCで書かれていたりして、コードリーディングが捗らなく歯痒い思いをするのである。
さらに昨今パブリッククラウドを使った開発がよくあるだろうが、難しいことは大体API越しに隠蔽してくれているのである。
そしてパブリッククラウドの事業者は、その難しいことを実現するのに、前述のミドルウェアをホストしたり、拡張したり、時には自前で作るわけであるが、そこでもCなどは出てくるのであろう。多分。
OS開発やチップ開発みたいに、同じインターネット業界でも、パブリッククラウド、ミドルウェア、CDN事業者などは一種のレイヤーというか違う業界になってると思う。
要はそこに1エンジニアとして見たときに、C言語などが一種の参入障壁になってると思ってて、平凡なWebエンジニアには近いようで遠い世界に見えるのである。
そして、うまく表現出来ないが、特にパブリッククラウドの上に乗っていると、エンジニアとして相対的に価値が下がっていくような感覚に苛まれる。
APIを叩くだけで楽だが、その向こうには難しいアルゴリズムやオンプレのサーバーがあるわけで、そういう知識はどんどん向こう側に蓄積されていくのである。
とはいえ、それで顧客に価値が届いて事業が成立するのであれば、それはそれで構わない。
とりとめのない内容ではあるし、生成AIやLLMの進歩により、このような悩みが杞憂になる可能性もあるが、あと30年どうやって生き延びていけばいいか悩んでいる。
Node.js、JavaScript、TypeScriptはオシャレ大好きな人たちが「最近のトレンドは何かな?」、「それはもう時代遅れだよ」、「そのファッション超イケてる」、「あの人がファッションリーダー!」みたいな話ばっかりしてる感がある
※一番下に追記あり
社内政治的に言えば負け組に属するし昇給に期待できないのとメンタル面の複合的な理由で頑張り切れなくて成果も出ずモチベーションが下がってる。
今後のベースアップも望み薄な状況になったので給与同水準で今後頑張れそうなところに入りてぇなぁ。
現状と同水準の年収500万、それ以上もらえるのならうれしい。
完全リモートワーク。出向などはなし。
Web系といえばWeb系。Androidアプリ開発もやってたけど今はWebの運用保守まわり。
就職して10年くらい流れに身を任せてなぁなぁに過ごしてきたので何も身についてる気がしない。
以下のスキルもだいたいが腰をいれてやろうと思えばできる、なレベル。
・まぁわかる
k8s, Java(SpringBoot), PHP(5.3くらいまでの話)
Kotlinは読めはするけど書くのはなかなか厳しめ。
趣味レベルでReactとかを使ったフロントエンドのやつをgithubに上がってるやつみて修正したりとかはしたことあるけど
・いまだにわからん
身から出た錆ではあるがいやほんとどうすりゃいいのか。
転職エージェントとかでもこんな微妙なのとマッチングしてくれそうなとこなさそうだしなぁ。
モダンな言語をチョットデキルくらいまではやりこんだりしてから転職市場に飛び込んだ方がいいかね。
まったくプランが見えない。
甘えが過ぎるかもしれないけど、必要あらば答えるので厳しくでもよいのでお願いします。
気になったコメントやブコメがあったのでこれだけは答えようと思う
これは理由にも書いた通り以下にかかっていて
大き目プロジェクトに入ったら超絶ブラック進行すぎて燃え尽きて仕事ができなくなり一番下に落ちている
全然エンジニアと違う部署に行ったりとかしたけど成果出せずまたエンジニア業務に戻った
スキルセットにあるk8sやSpringBootも保守で必要になるから触ったりしたけど成果はまちまちで昇給は数回しかない
なので仕事に向き合えてない自分が嫌で、向き合えてない分周りの評価も低いし
引く手あまたどころか引く手は存在するのだろうかというのが今
定年まで会社にしがみつく予定だったけど上もぎっちり詰まってるしもう厳しいかもってなって増田に書いたところ。
まぁ書いたうえであーだこーだなコメントやブコメ見て自己分析も省みることができたので
EKSやGKE、AKSくらいは一通り触れるようになっておこうかなとは思った。
PyCon JPと日本のPythonコミュニティに関する分析
投稿者の特定を防ぐための方法(LLMによる個性の除去など)が考えられるが、使用ツールや手法によっては逆に投稿者が限定される可能性がある
PyCon JPと日本のPythonコミュニティに関する分析
投稿者の特定を防ぐための方法(LLMによる個性の除去など)が考えられるが、使用ツールや手法によっては逆に投稿者が限定される可能性がある
型があったところで型が一致するか、変数が存在するかくらいしかチェックはされないぞ
結果、実行したら予期しない値が帰ってきたり実行時にエラーが起きたりする
コンパイル通ってればだいたいは動くし、作ったときに動作確認もしてるから大丈夫、というなら動的型付けの言語でも動作確認はしてるから大丈夫だろ
動的型付け言語の方が得意だと言ってるくらいに使い慣れてる人なら実行時エラーもそんな多くない
その程度のゆるさでエラーが起きたら対応すればいいやくらいのところなら別に静的型付け言語である必要もない
ちゃんとテストコードを書く環境で、テスト通してるからという場合でも、それも動的言語だってテストして通ってるわけで同じこと
結局型の有無はプロダクション環境のバグの多さに関係ないし、どっちが好きかって話でしか無い
型システムが優秀で実行時エラーがほぼ発生しないのを売りにしてるくらいの言語なら多少利点はあるけど、TypeScriptみたいな無理やり型をつけた中途半端で実行時エラーが簡単に起こせるような言語ではメリットもほぼない
例えば、俺、CoffeeScriptが嫌いだったんだけど、なんで嫌いかっていうとRubyが嫌いだからなんだけど(諸説あります
でも、頑張ってCoffeeScriptゴリゴリ書いてた人たちっていると思うんだよね
自分はTypeScript登場時からずっとTypeScriptなんだよね
あの、DelphiとかTurbo PascalとかC++ BuilderとかC#の原作者だよ?
しかし、なんだ、こうやって陳腐化していくことがどれほど多いことか、IT関係は
これが理系で機械工学関係だったら、流体力学とか材料工学が陳腐化するなんてないよね?
だから、大学で習う情報工学だとしたら、やっぱりできるだけ普遍的なことを習ってるはずなんだよ
でも、ITはyak shavingが多いよね
本質的な知識を得るために、WindowsやLinux上の環境で学ばなければならないわけで、
落ち着いて情報工学の勉強をするために、Windowsの余計な情報を表示するウィジェットの閉じ方を学ばなければならなかったりする、馬鹿げてるよね
そう考えると、料理、絵、音楽、みんな普遍的なものの集まりだよね
料理の四面体なんてあるけど、煮る焼く炒める蒸すどれも不変な過程だよね
調理器具だって、フライパンや鍋が日進月歩に進化して、以前のバージョンが使えない、なんて買い替え需要を促すための嫌がらせをメーカーがしたりもしない
絵だって、証券用インクとペンだとしても、液晶ペンタブレットだとしても、筋肉の知識とか、パースの知識とか、不変だよね、永遠に変わらないものだよね
まあ、流行の絵柄とかは変わるけど、そういう流行に流されないのも大事だよね
個性がない、ってことは、誰かが絵を見て、これは~さんの絵だ、って気づかれないってことだから、商品価値がなくなっちゃうよね
音楽理論も変わらない、楽器の弾き方も変わらない、正直、ギターなんてどこのメーカー買ったって同じようなものなんだけど、
同じエレキギターを何本も持ってる人っているよね、お金持ちだよね、自分はチューニングがそれぞれ違うギター複数本持ってるけど、それはチューニングのためなんだよね
話を戻すと、ITクソつまらなくなった、の元の文章にもTypeScriptでクソアプリ書いてたときが楽しかったみたいな話があったけど、
俺がMacOSX 10.2だったかで作ったアプリは、現在のMacではまったく動かないからね
だったんだけど、今のWindowsはAppleみたいになっちゃったよね、足切り、足切り、Windows 10は動くけど、11は動かないマシンが大量発生
ITつまんなくなってきた。に近いけど40代エンジニアって日々の不安どうしてる?
上手くやってPM以上の管理職になって技術よりマネジメントとかアーキテクチャメインになった人は不安はないんだろうけど、自分も含めたなれなかった人ってどうしてるのか気になる
自分はとにかく強みを作ろうとトレンド追いつつ基礎も固めてるけど日に日にトレンドは移り変わった挙げ句に今じゃJSやTypeScriptがあれば残りは部品集めりゃどうにかなったり、ノーコードツールで複雑な処理や分析も出来るようになって例えが酷いがITパスポートレベルで済む感じになった
もちろんバリバリ開発してるとこもあるが今度は求められるレベルが高くなっていてそれ以外は一昔前のSES並みの低賃金自己責任世界
フロントもバックもって人材より分かりにくいPowerAutomateとカスみたいなSharePointが評価される時代とか来るんだな。もっとJavaScriptやっときゃ良かった。PythonとかPHPとかLinuxだのフレームワーク分かっても意味無いし求められる数少ない牌は天才で埋まっててもう終わりですわ
この人は可哀想なことに「学校の言うことに従っておけば人生が幸せになれる」という
恐らくこの先20年ぐらい同じような失敗を繰り返してしまうのだと思う
副業で食っていけるようなITエンジニアを簡単に教育できるとは思えないし
そもそもなんだが、スクールや学校の言うことを全て丸暗記すれば大丈夫、というレベルの教育は小学生の早い段階で終わっていて
を知るためであって、塾で丸暗記を教わるために出しているのではない
興味を持って調べたことというのは誰かに教えて貰ったこととは違って記憶への定着や新しい着想に繋がるので
大学には興味・好奇心を持った人が更なる高等教育を受け、新しい発見をするために進学する
プログラミングやITに関する技術も同様で全てをスクールで教わるというのは非現実的で不可能だ
例えばよく使われるプログラミング言語だけでもC,C++,Java,JavaScript,TypeScript,Rust,Python,PHP,Ruby,Perl,ShellScript ぐらいはあって
これらの言語仕様を覚えるだけでも大変だしよく使われるライブラリなどが組み合わされるととても現実的ではない
なのであくまでもスクールや教育機関ではどれか1つの言語を選んでプログラミングの概念や思考法を教えているに過ぎないし
お金を貰えるレベルになるには少なくとも3年は自分でプログラムを書いていないと到達できない
興味がないものを3年も続けられるわけがないので、スクールや学校で「興味が無い」と思ったのならやめた方が良い
つまりスクールに通ってITエンジニアになるにはスクール外で興味を持って学習することが必要なのだが
残念ながらこの法則は小学校高学年から同様で、ちゃんと学校外で勉強してきたような人は大人になってからスクールに通ったりはしない
AIが高品質の絵描けます!楽曲作れます!って最初は「スゲー」って思ってたけど、使ってみると検索ワード入れて虹エロ絵ググって漁ってる感覚と同じなんだよ。いい加減飽きた。
それよかさっさとクラウドアーキテクチャ管理とかアプリケーションのテスト管理とかできるようにして楽させてよ。Copilotにコード貼り付けてプロンプト生成すんのめんどくせーんだよ。
つまんなくなったなと決定的に感じたのは、今年の頭に行ったデブサミ。
似たり寄ったりな生成AIの活用話ばっかり。過去一つまんなかった。いつもは面白くて夢中で聞いてたんだけど、今年は途中で帰った。本当につまらなかった。
なんていうか、生成AIのプロンプトエンジニアリングとかの話って、人材マネジメント的な話と根本はおんなじ感じがするんだよな。いかにて優秀な新人AI君を働かせるか?的な。
でも、ビジネス上のそういう対人コミュニケーションすら避けたくて避けたくてITに辿り着いたんだよなー。賃金と待遇すら諦めてそっちに来たのにこの始末って酷くないかね。
なんていうか、求められる人材像が経営者一択になってきてる気がするんだよな。「プログラムを書きたい」じゃなくて「プログラムで○○がしたい」っていう、明確に目標ある奴。
「アーキテクチャがー」とか「保守性がー」とかエンジニアが心配しても、マークザッカーバーグの「動くからリリースしようぜ」の画像貼ってデスマ作り出すタイプの奴。でもそんな胡散臭い奴がビジネスモデルを引っ提げてさっさとAI活用で何とかしちゃう。
googleとかAmazon、Microsoft、Alibaba製のAIさえそろえばあとはマッシュアップして需要に対してサービス作って終わり。
全社会人総社長。社会の需要について目を向けられる奴、そういうヒアリング等の営業活動が出来る奴。それ以外いらん。
例えアホでも、マネーの虎みたいな番組でアホみたいなビジネスプラン披露できるような奴以外いらん。
ビジネス出来ない奴はいらん。もうそういう時代なんじゃねーかな。
「粗悪乱造アカンよね。」っていうエンジニアリング思考にすごく共感してたし、そのためのDevSecOps、アーキテクチャ採用、ミドルウェア選定だったりにすごく感銘を受けた。
k8sやらAWS初めて触ったときは感動した。TypeScriptでクソアプリ作るのが好きだった。IoTデバイスやラズパイで自室が少しずつハイテクになるのが好きだった。Google colabでサンプルソースのAIの作るのが好きだった。でもそういうのダサい時代なんだよな。
結局ビジネスサイドには目を向けられ無さそうなんでもうそろそろ引退かな。趣味でプログラム書きながら適当に派遣でもやって生きたいけど、33歳は他業種厳しいかなー。ていうかIT以外のどの仕事もアホらしくて就きたくねー。
なんだなんだ、先月末書いた記事に今更ワラワラと。盆も終わったんだしさ、エンジニア()にクソみてーな誇り持つんなら帰りのNAS位てめーで設定してサッサとあの世に帰ってくれよな。
どうやって金もらってんだよ。
テメーらが「びじねす思い付いたけどプログラム書けまちぇーん時間ありまちぇーん」とか情けねぇ事ほざいてっから手伝ってやってたんだろボケ。
資本主義?知るか。おめーのアホみてーな妄言と社会貢献(爆笑)に付き合ってやったんだから金よこせ。てめーがやりもしねーこと手伝ってやってんだよ、履き違えんな。
AIに仕事奪われる底辺の泣き言?ああそうだなw。じゃあ俺の何百倍の労力でアホの妄言実現する仕事してくれよスーパーエンジニアさんよ。出来んだろ?C言語出来るスーパーエンジニアさんならよ?
まぁ分かるよwどうせ大したことないんだろ?匿名でくらいイキりたいよな?すげーエンジニアさんよ。
この程度でエンジニア名乗るな?やだよーんw
俺みたいな底辺でお前ら誇り高きエンジニアの積み重ねたものをぶっ壊してやる。お前の会社も、プロダクトも、SNSも、検索結果も、底辺ITワナビの💩まみれにしてやる。モラルのかけらもないユーザーで埋め尽くしてやる。ポリコレとかツイフェミみたいな話通じないクソカスで埋め尽くしてやる。
そうじゃなくてクソコードが多いんだよ
可読性が低いだけならまだマシだし、可読性は人によるよ
例えばTypeScriptで
っていうIssueがあったとして
const toBanana = (apple: 'apple'[]) => apple.map((a, i) => (i % 3 === 0 ? 'banana' : a))
const toBanana = (apple: 'apple'[]) => { const appleAndBanana: ('apple' | 'banana') = for (let i = 0; i < apple.length; i++) { if (i % 3 === 0) { appleAndBanana.push('banana') } else { appleAndBanana.push(apple[i]) } } return appleAndBanana }
のどっちが可読性が高いかっていうのは人によるよ
(長いソースを読むのがしんどい人と、関数化されたソースを読むのがしんどい人)
クソコードっていうのは
const toB = (a: any[]) => { for (let i = 0; i < a.length; i++) { if (i == 3) a[i] = 'banana' if (i == 6) a[i] = 'banana' if (i == 9) a[i] = 'banana' } return a }
こういうの書いてくる人だよ
「お前これ10個以上来たらどうすんのよ」
みたいに返事してくるし、修正させても
const toB = (a: any[]) => { for (let i = 0; i < a.length; i++) { if (i == 3) a[i] = 'banana' if (i == 6) a[i] = 'banana' if (i == 9) a[i] = 'banana' if (i == 11) throw new Error('banana') } return a }
こんなんPRしてくる奴のことだよ
お前らにはTypeScriptは早すぎたんだ