はてなキーワード: Vueとは
年収270万の元増田です。2013年のフロントエンド界隈にいた(jQuery と Adobe Flash)のですけど、今って本当に700万近くまでもらえるのですか?例えば、React や Vue を TypeScript でかけたりするとどれぐらいもらえるのでしょうか。
自分は 2013年ぐらいに Java で Android と iPhone にて Objective-C で、jQuery でブラウザのフロントエンド部を書いていたら、強制的に Spring Framework で SQL バリバリのバックエンドを書くように指示されて、しかも AWS EC2 の上でプロダクション用の構成をつくったりしてたのですけど、2社目の社長に「職歴が浅いから、月給25万円ね」と言われて、絶望した記憶があります。
⑭「html, css, javascript(jquery, express, react(next), vue(nuxt)), python, php, sql(postgre, oracle), graphql, ruby, swift, solidity, unity, c, c++ 業務レベルじゃなくていいならgo, kotlin, java, scala, dart, julia,(以下略」
おれも高校生の頃は元増田みたいにプロフィール欄に言語をいっぱい書いてたから共感性羞恥みたいになってる。
正直、たくさん言語知ってます!ってどうでもいいんだよね。いろんな言語でFizzBuzzできてすごいねー、くらい。
(年収270万で)プログラマーを引退して、医学部にきた俺が真面目に考えてやろう。
真面目に読んでいて、ちょっと気になる箇所がある。たとえば PostgreSQL を postgre とか書くヤツは現場では嫌われるぞ。少なくとも postgres と書いてくれ。お里が知れるぞ。
消えていくエンジニアの特徴だけど、叱責されたり馬鹿にされるのが嫌で VCS にコミットしないヤツ、または貪欲にコードレビューをされるのが嫌がるやつは、成長しない。
この業界は数年前には『デジタル土方』と揶揄される業界でした。ちなみに、アメリカでも「テック系はハードだから避ける」という雰囲気でした。つまり何をいいたいのかというと、ソフトウェアの開発者っていうのは「泥臭い領域」なんだよ。エリートとは程遠い場所にあるというね。
いやぁ、是非とも楽天で働くべきだよ。どうせ野村総合研究所とか NTT DATA なんて無理だと思うから。
うん、ココはまずい。基本的にフロントエンドなんて給料が安いのよ。だって、誰にやらせてもデータベースにクソなDCLを飛ばせないから。逆に、データベースを触れることができるプログラマーはリスクと責任が大きいから、給料が高いのだよ。B4 になってもそれが理解できていないようだと、この先くらいよ。
君はソフトウェア・エンジニアになりたいのだろ?世の中は分業で成り立っているのだから、全部やろうとするやつはアホだよ。
インターン生はお客さんなの。君のスキルが通用したのはすごいと思うけど、同じ感覚で仕事はできないから注意しときなよ。
なに言ってるの?そんなことは言い訳にならんよ。プログラマーになりたいのだろ?勉強をしろよ。
逆にいうと、あなたがインターンとして週3で20万円貰えていたのは、参入障壁が少ないからでしょ?強強エンジニアが生き残っているのは、それだけすごいということだよ。
いやぁ、違うと思うよ。その問題が「難しい」なら切り分けて、上に「ココが自分の能力では解決できないです」と持っていくだけなんだからさ。CS じゃないのだったら、仕事をするまで「扱わないまま」なんだよ?しかも、土日に勉強する気もないとなったらいつするのさ?
諦めなよ。ソフトウェアというものが「変化できることに価値がある」ものだから。変化する業界はストレスフルだけど、立身出世する可能性が高いでしょ?安寧なばしょではないの。
いやー、CSでない博士課程に行って、雇ってくれる企業があるかね?無いと思うけどな。
この時点で、君はコピペしかやってきてないことが理解できる。おそらく QUIC か MQTT あたりだろ?逆にいえば、それが実装できたら他社と差のつけられるプロダクトだったはずだ。つまり会社の利益の源泉であった部分をみすみす実装できないようでは、そこらへんの専門卒以下だぞ。
ムカつくというか、虫酸が走る書き方だ。箇条書きにすると、
プログラミングに年齢はないから。自分は9歳ではじめたけどね。
あー、俺も天才が高校のときにいて、マーチの情報工学と旧帝の院の学費を会社持ちという驚異的なやつがいたよ。今もブログ見てると、Android と iPhone のアプリを書いているみたいで、元気そう。
それを上手にコントロールできるプログラマは世界中にもほとんどいねぇ。むしろ、月20万でやるもんならギルドから苦情が来るぞ。オレもアビームの人に給料を答えたら、「こんなヤクザな会社はやめろ」と耳うちされたよ。
人より良い経験をしたいという願望はあるのは素晴らしいと思うよ。しかしながら、君が到達したノウハウは他人にもできることだからね。ワン・オブ・ゼムになりたくないなら、努力し続けることだな。勉強をするのをやめたら、数年で中卒に負ける世界だからな。覚悟しとけよ。
P.S. 医学部に来たのは家庭の都合だよ。それに、自己顕示しないと「場末のコーダー」で読んでもくれないだろ?年収については、自分も低いと思うよ。なぜ低かったかというと、都内私立大学多浪中退の自分にはベンチャーの皮を被った助成金搾取がメインの反社会的勢力のフロント(ベンチャー)企業ぐらいしか相手にしてくれなかったからだよ。そこの会社は外国帰りの MDMA をキメて、未成年の子女に手を出しては警察沙汰スレスレのことをしているキチガイが社長をやっていて、人工知能を作ろうと学生インターンを酷使している会社だったのだけど、「サイバーエージェントに紹介する」という嘘にひっかかって、特定派遣事業の免許がないのに客先常駐させられ、土曜は帰社日、日曜は社長の Python の勉強会に参加させられる、というブラック会社にいてピンはね率(60%)となると、まともに考えることもできず働くアリになってしまってたからだよ。
P.S. ② 年収については、初日から派遣先の会社に引き抜きのオファーをもらって、2ヶ月後に新しい会社に移動したけど、300万だったので CodeIQ というサイトで転職をする準備をしていたよ。たしか、DMM とかサイバーエージェントの面接にいこうとしてたような記憶。その後で家庭の都合で、医学部に来たけど。
P.S. ③ 医学部医学科の6年生だよー。みんなが嫌いな私立医学部だけどね。ちなみに、俺もこの大学が嫌いだ。
P.S. ④「GraphQLをわざわざ書くのは理解できるけどな。」そうだとすると、REST や SOAP も書かないとまずくない?書くのだったら「Rails と Next のデータ受け渡しにGraphQLを使った経験が」という感じだと良いと思うけど。
P.S. ⑤「野村総研とデータを挙げるあたりSI寄りの仕事してたのかな。 」ちゃうねん。オレっちは多浪したからさ、そこのエントリーシートをかけなかったのよね。まぁまぁ大学が名門でさぁ、OB が誘ってくれるけど、年齢で弾かれて辛かったねん。
P.S. ⑥「ダウト。学費をどうやって稼いだんや 」えぇ、親の金です。だから家庭の都合でと書いてるじゃろ。
P.S. ⑦「本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」たしかにおかしいよな。Kubernetes や Terraform を弄って、CI は GitHub Actions、CD には AWS CodeDeploy を使って、ブログは Jekyll で静的サイトジェネレータを使いつつ、自前のサービスを立ち上げるために Rails, Next, React, PostgreSQL, Redis, Kafka, Elasticsearch, S3 の勉強をしつつ、スマホ環境のために Kotlin と Swift を触れているなんて変だよな。そういえば、Docker が来るまでは Vagrant で環境をつくっていたのも忘れてたよ。あと Rust を今年に学ぶ言語にするなんて、受験生にあるまじき行為だよな。うん。
P.S. ⑧ 年収については、基本給が 22万で、残業が200時間超えたらプラスだった気がする。あと、反社ベンチャーは「ポートフォリオの作成にまる一ヶ月間で拘束された、しかも無給で」という時点でヤバいのだけど、その会社にコミットしたのは「サイバーエージェントに紹介する」ということだけであって、同時期に DMM も面接に行けそうだったのよね。馬鹿なことをした。
P.S. ⑨「特にフロントエンドを見下す感じとか」オレ自身はフロントエンド出なんだよ。何を隠そう、Adobe Flash のゲームをつくっていたから。それでもって言うよ、バックエンドが一番大切だと。
P.S. ⑪「5~10年前に人売りに捕まった話とするなら、年収270万も現実味を帯びる。」特定派遣は消えてくれてよかったよ。俺のところは特定派遣すら未登録だったけど。
P.S. ⑫「いい医者になるのだよ 」うん、頑張る。「オッサン」「社会不適合者」「あるき方がキモい」「プログラミングwww」「同じ班になりたくない」「親も頭が悪い」「生きてて恥ずかしくないの?」とか言われてるけど、頑張る!
P.S. ⑬ 「フロントエンド別に給与低くないよ。」えっ、そうなの?WebDesigning を読む限りだと、400万もいかないイメージだけど。
P.S「医学部6年でまだプログラムに興味あるの不思議。」好きなんだよ、言わせるな///
P.S. 「フルタイムじゃないのでしょ?」いいえ、東京都内でフルタイム(ひどいときで、朝7から夜24)でしたよ。入った会社が「法律よりも、派遣先の評価」という会社だったからね。
P.S. サイバーエージェントさん、ときどき御社の社名を使って「弊社に恩を売ると、サイバーエージェントに紹介する」というベンチャーが跋扈しているので、どうにかしてください。わたくし、1ヶ月間もその嘘で jQuery と Django を回収させられた挙げ句、月給 2000円だったのですけど。本当に千円札2枚だったのですけど。ついでに、Android(Java) と iPhone(Objective-C)と jQuery を使ったフロントエンドシステムに、バックエンドに Rails + Postgresql のシステムで、AWS を介したサービスを作らされたのも「サイバーエージェントに紹介する」と言われたからなんですけど。いったい、何なんですか?お前ん所は、コンプライアンスどうなってんじゃ。
P.S. 「好きそうだし医学部卒業してシレッとgoogle行ったれ 」無理っすよ。オレのスキルじゃ。
P.S. 「病院は」親がクリニックを持っていたけど、潰したよ。クリニックは人に患者がついていて、アルバイトを充てがっても患者さんが不幸になっていくのをみちゃったからね。自分は責任を持って患者さんを見たいから、バイトなんて使わないよ。
P.S. 自分はコードを書きたいタイプだったから、SIer みたいな UML とか書いて下請けにコードさせるみたいなのは絶対に嫌だったのよね。だから SIer にはならなかったよ。やっぱり、現実にある計算機が解決できる問題を、より直接的に触れて解決したいと思っているから。仕事がハードでも全く問題なし。
P.S. FPGA すごいよね。ザイリンクスとアルテラが Intel と AMD に買収されて、すごいと思ったよ。2010年頃だっけ?、CPU の限界を FPGA で突破しようという話があったけど。手を出そうと思ったけど、高性能なチップが 100万ぐらいして挫折した記憶があるよ。
P.S. 「東海大の医学部・学士」は自分は大学を卒業してないから無理でした。あと、それ以上の詮索はやめてくれ...
P.S. 「MySQLそんなに嫌いなのか。」そんなこと書いたつもりはないが、あれ?確かに MySQL は PostgreSQL より嫌いたけど、それは Oracle が親元だったり、Unicode の扱いがファッキンだったり、ストレージエンジンが切り替わるときにカオスな目にあったけどさ、MySQL は好きだよ。お世話になったし。
P.S. 給料については契約後に言われたのよ。というか、もともとは「サイバーエージェントに紹介」するという理由で、ポートフォリオの作成や Django の改修を手伝ったつもりで、入社とかする気は全く無かったのよ。それが、いきなり他所の会社に面接を受けさせられて「君は明日からXXで働くから、履歴書を書いてね」と言われて、抗議したら「俺に恥ずかしい思いをさせるのか!業界に入れなくするぞ!」と大声でシャウトされて、気がついたらあっちが用意した履歴書に拇印してしまったのよね。有料職業紹介と派遣登録をしてない会社だったから、そんなかとはできないはずなんだけどね。ホームページには「年収550万」と書いてあったけど、実際はまったく違ったのだけどね。
P.S.「うーん、いらないかな。IT土方としての仕事しかないと思う。」だよな。おとなしく医者になるよ。ありがとう。
P.S. Elasticsearch は全文検索機能がほしいからやってるよ。Redis はインメモリなセッションストアとして使いたいのよ。Kafka はさ、twitter のファボをじっそうしたいけど、RDB の書き込み速度が上がらないから利用したいの。TensorFlow は全く理解できてないよ。それは、指摘されたとおり。
逆に聞くけど、以下の知識があったらどれぐらいもらえるわけ?東京23区で。
追記----------------------------------
文の拙さや僕の不甲斐なさについてはたくさんのご指摘をいただきまして,もう十分ぴえんぴえんできたので,これから読まれる方は,タイトル(本題.まじでアドバイス欲しい点)について,この若造のエピソードを見てどう思うか(僕へのアドバイスでも,一般論に汎化させたもの嬉しい.語気荒めでもいいので)のコメントをいただきたいです.
---------------------------------------
最初のいくばかを使って,自己紹介とタイトルの理由,この文章を書くに至ったエピソードを話させてください.
html, css, javascript(jquery, express, react(next), vue(nuxt)), python, php, sql(postgre, oracle), graphql, ruby, swift, solidity, unity, c, c++
業務レベルじゃなくていいならgo, kotlin, java, scala, dart, julia,後fpgaも少し.ハードウェア開発は結構苦手で回路図とか上手く書けません.
と主にチャラいところを薄く広くやってきてます.バックエンドは大体firebaseかgcpに任せているので,インフラあたりひいてはネットワークの知識が薄いです.大学もプログラミングはしますが,CSではないので受動的に学ぶ機会も特になかったです.何回かCTFにも出場しましたが,あんまりいい成績を残せなかったというか,毎回毎回超人たちのすごさを見せつけられてました...
自分の理解できる技術(not 言語)で,面白い(バズりそうなもの)をラピッドプロトタイピングすることは好き・得意で,いくつかミニバズっぽいことも経験させてもらってきました.
B3の夏くらいのタイミングで東一上場企業にインターンに行きました.(インターンとしては3社目.過去2社は知り合いに紹介してもらったスタートアップで主に簡単なweb開発か,社内ツールの開発を緩くしてました)
最初の業務は,システムの使用言語を主流のものに置き換えることでした.書き換えなので,基本的に頭を使うことはなくドキュメントを読みながら楽しくダラダラ進めました.もちろん書き換え先の言語でどうセキュアにやったらいいかなど,上司にレビューを貰いながら,増える知識も気持ちよくやれました.何より給料が良かったです.週三フルタイムで20万弱はもらってました.客観的に見てすごい待遇だと思います.分不相応とは思いませんでした.
ただ,この業務を3ヶ月ほどで終わらせて,次に振られた業務が問題でした...
ニッチすぎるし比較的新しいプロトコルで細かく言えないですが,多分このプロトコルの実装に携わってるのは日本で10人もいないはずです.
つまり難易度が急に跳ね上がった.これが辛かったです...言語はC++とJava.
ネットで実装例なんてクソの欠片も載ってないし,プロトコルの理解のために特許資料や論文をくまなく読む羽目になったのは本当に辛かったです.こういう理解であってますか?と上司に聞いて,違かったらしいが,次にその実装に伴うDB改革のタスクも振られかけてきて,僕はパンクしました.
そのプロトコルも理解しきれなかったし,こんな大規模なDB設計なんてやったことないので何からやればいいか分からない.もちろん今となっては一つひとつ順序立てて要件を解決していけばいいと分かっていますが,別件も相まって当時の僕はパンクしました.
個人的な事情(別件)はかなり精神的に僕を苦しませ,毎日の睡眠時間が3時間くらいになってました.
で,僕はインターンに行かなくなりました.個人的な事情の方が忙しいからと言い訳をして.業務は別の人に振られることはなくペンディングになってるみたいです.
追記----------------------
ぶっちしたわけではなく,普通に出勤頻度がだんだん落ちて最後に精神的な問題でほとんど来れなくなることを伝えました.業務も締め切りなかったので損失というか上司の頭を悩ませるようなことは無かったと思います(思いたい)
僕の人間性に関するご指摘が多くて結構びっくりしました(文章がダメ)が,結構人に迷惑かけたりして嫌われるのとか無理な性格なので,そこらへんは意識してない所から矢が飛んできたなぁという感想です.
----------------------------------------
そのままずるずると1年間経ったのち更新をしない旨を伝え職場を後にしました.
ここまでが前提共有で,こっからが本題です.
追記-------------------------------------
(極めて個人的な)僕のつよつよエンジニアのイメージを共有すると,小中学生からプログラミングしてたり(高校生から始めたのといくつか次元が違う気がしてる),未踏や異能などを通して予算獲得経験があったり,企業でバリバリ働いてた経験があったり,Twitterでなにやらフォロワー多めで有名CTOと顔見知りだったり,みたいな感じです.百戦錬磨の30代~のエンジニアというより,中高で未踏ジュニア通してます,まだ20代前半です,もう1000万プレイヤー行きそうです.みたいなキラキラが僕ら大学生エンジニアにとって目につきやすく年が近い分,あぁ俺は未踏ジュニア落ちたなぁという劣等感とともに目で追っちゃうんだろうなぁ.なに書きたかったか忘れました...
------------------------------------------
Twitterとかで(主につよつよエンジニア達によって)エンジニアのべき論が語られていますが,その理想像として
・ひいてはそれを苦と思わない
みたいなのがあると思うんですけど,これ無理だなって思っちゃったって話.とともに,皆さんはどうなんですか?という質問がしたいです.
インターンする前は,正直ツケ上がってたんです.同世代からしたら自主的にプログラミングしてるし(チャラいところだけ),大企業でインターンしてるし.
僕はきっとつよつよエンジニア(の卵)として(新卒でという意味ではなく近いうちに(漠然))1000万プレイヤーにエンジニアとしてなるんだろうなと思ってました(実際会社のエンジニアは結構超えてる人がいたし,インターン上がりならエスカレータ式に入社はできた).
でも,上記のことがあり挫折してしまいました.今までチャラくて気持ちいところだけやってたけど,仕事となると自分が扱ってこなかった技術を使わないといけなくて,扱ってこなかったということはつまり難しいということで.それを勉強することが,また勉強すべきだという共通理解のある分野で生きていくことが無理そうだという気持ちになりました.
このB4の夏,某カリや某INEや知り合い企業に応募する予定やお誘いを受けましたが,このことがあり全てやめましたor辞退しました.
短期なので直接的には関係ないですが,今後のキャリアを考えていく中で,盲目的にエンジニアインターンを乱発していくべきなのか悩んでいるところです.
とは言え,プログラミング以外に一般的な大学生に優っていることが特にないので,プライドの高い(人よりいい思い・待遇をしたいという欲求が強い)僕はどうしたらこのジレンマを抜け出したらいいのか分からなくなっています.
同じような悩みを持っている方や,経験して乗り越えられた方は,ぜひどうお考えなのかお聞きしたいです.
就職した先輩には,ここ仕事量少ないしオススメだよって言われたのですが,聞いた給料に少し不満があり(ここも僕のプライドが高いめんどくさい,この問題を難しくしてる点),総じてこじんまりと(言い方が難しいですが)レベルの低いところで少なめの給料で暮らしていくという選択肢は許容できません.
これも踏まえ,僕のようなクズと言われても仕方のない人材はどうしたら上手く(ストレスレスで高収入の意)生きていけるのでしょうか?
追記------------------------------
ただの深夜の殴り書きのはずが,少し反応が増えたので,文章を少し直しました.身バレ対策も兼ねて.
文章が鼻くそナメクジだったり,(技術スタックのところで)エンジニア的に記法がうざかったらすいません(ただそういう文化というか認識も,なんかやってないなぁというか苦笑いしか起きない人間です.すいません.)
あと,釣りとかイきりとかのコメント多かったのは結構心外でした(文章がダメなのはそう).
どう考えたって,あの技術スタック(なんか強そうなのが目に見えてない and 言語名しか書いて無いから各言語のレベル低そう and チャラい(と認識してる)技術しかやってない)で,イきれないのは分かり切ってるし,イきろうとするならもっとカッコつけて書くし,成果物も全部提示するし.という認識でいてました.
あと,雑魚だしクズって自認してるので,あんまり雑魚とかクズって言わないでください.病んじゃいます.あせあせ.
いくつかのアドバイスをくれた方ありがとうございます。マネージャーやITコンサルは確かになと思い、今日そういう職についた先輩に話を聞いてみました。先輩には博報堂や電通のクリエイティブチームをお勧めされました。Mまで入れるとあと3年弱あるので、そこの周辺の職を探していこうと思います。カンマピリオドについて酷評がすごくて驚きでしたが(増田初心者)、それ指定の文書を書くことが時々あるので、設定がそうなってます。読みにくくてすいませんでした。
p.s. コメントに返信はしてないので、元増田を名乗る人は偽物です。
-----------------------------------
https://anond.hatelabo.jp/20210617075257
上がってるような基本(元増田に上がってるやつの倍ぐらい)が全部立ち上げからできて
2〜3個プロジェクト経験したらテックリードの素養が既に身についてそう。
プロジェクト的にもどっちかが弱いと
Rails/DjangoにjQuery+Bootstrapみたいな構成や
Amplify/FirebaseにVue/Reactみたいな構成も全然あるので
面接はなんとか抜けてもらうとして、
チーム開発での最低限の目標としては、
成果物から、指導、学習コスト、レビューコスト、技術的負債、マネジメントコストを引いた分が正になっていれば
ひとまず「チームに居ていい人」と見なされそう。
チーム的に良くても、経営層にそれで許されるかはわからんのでその辺の立ち回りも上手いことやるとして、
一旦は、正の生産性を目指してほしい。
以後、ブコメで誰一人一ヶ月でできるって言ってなくて笑うので、
一ヶ月というのは無視して、三〜六ヶ月程度をイメージしつつ書いていく。
似たような言語なのでどっちからやってもいいし、両方同時にやってもいい。
どっちかしかやらないならJavascriptがおすすめ。後ででてくる、Flaskは適当にExpressとかに置き換える
現場だとほぼTypescriptなので、Javascriptはある程度慣れたらTypescriptに移行したほうがいい。
どちらも、Python2とES2015以前の記法というレガシーがネット上に転がってるので参考にしないように注意。
・一貫性があって
・正しい書き方がされた
お手本プロジェクトをなにか(githubや書籍など)で手に入れて読むべき。
おそらくフレームワークに乗っかっているので並行して進めることになる。
話の流れで先にこっち
現在のコーディングのグッドプラクティス、デザインパターンはフレームワークの形をしている。
なので、ReactとVueをその思想から理解しきれれば、プログラミング言語の潮流の最先端に追いつけるはずだ。
TypescriptもVue.jsも書き方をどこまで取り入れるかが使用者の裁量に任されてるし、
開発でVueとReactのどっちを使うかはチーム次第なので、
一旦React+Typescriptでガチガチに書かれたコードプロジェクトを拾ってきて、必死で解読するのがいいと思うなー。
2割ぐらいわかった気になればチーム入ってから(React, Vueどちらだったとしても)動けそう。
パッケージとかテスト、タスク&デプロイ辺りもこのタイミングで拾ってきたプロジェクトを使って学ぶ。
バージョン管理とコンテナの思想が優れているのは自明なので、これらはツールと見ていい。
そして、後からプロジェクトに入った人がプロジェクトの流儀に沿って使う分には難しいことはなさそう。
採用に来た人がgitとかわかってるとチーム開発経験者だなーって思うし、知らないと未経験者なんだなーって思うし、
そういう意味ではチーム開発の経験があるかどうかの試金石にはされてそう。
構築できる、ではなく、触れる程度で良さそう。
gitはプロジェクトの流儀によると書いたが、git-flowのイメージ図を理解して運用できるのがよい。
https://qiita.com/KosukeSone/items/514dd24828b485c69a05
こういうのができるんだなーって言うのを知っておいて、調べつつ書ければ十分。
あとはシェルスクリプトとかって思ったけど同様のことはPythonでもできそう。
地味にSSHでログインした先の環境だと、vimが主要なテキストエディタになるので
vimを最低限触ることだけ要りそう。もういらないかもって思ってたんだけどなー。
→ ファイル開いて入力モードに切り替えて書き込んで保存して終了
細かく書いたが、LPIC-1の範囲がほどよくまとまっているのでそっちを参照するとよい。
これが意図なら
この辺の機能を持った小規模Webアプリを作ってHerokuでデプロイすれば一旦完成とみなしてよさそう。
コード書き写しただけにならないようには注意しつつだけど、長く見て5人日ぐらい?
慣れると1日あればいけると思う。
フレームワークもなんでもいい。
Djangoとかでも各コンポーネントがどんな働き方してるか程度はわかるだろうしそれで十分。
余力があれば複数個触ってみたり、人から勧められたらそっちでも。
最近はサーバーレス&NoSQLが流行ってるのでFirebaseとかもやればいいと思う。
に尽きる。
計算量を気にしなかったせいで線形検索メソッドとfor文を組み合わせて
それらに対して分散や非同期処理で解消しようとするとか、
ちょっとでもアルゴリズムを触った人ならアホらしいなって思うような行為を
計算量を意識するだけなら、AtCoderのABCのC〜D問題辺りが解ければ十分。
有名な脆弱性や攻撃手法は、ほとんどフレームワーク等で解決手段が用意されている
のでアドリブをせずに正しい書き方でやれば良い。
開発現場でもセキュリティリスクがある箇所を1から自前で実装することを経験が浅い者にはやらせないので、
ただただ、フレームワークが正しいとしているやり方をなぞるのが良い。
開発の勉強のやり方としては、
・正しいコード見本を手に入れること
この辺りの習慣があればやってけんのかな、
その他、チーム開発って面では
TeamGeek(人間性)とかインプットしておくと共通言語が増えて嬉しい。
この方向で進めてけば、その途中で正の生産性≒足引っ張らないぐらいになれるので、
そしたらやってけるんちゃうーって感じ。
Vue.js ってよく初心者向けだとか React より簡単だとか言われてるけど、ちょっと設計をミスると簡単に破綻する欠陥ライブラリという印象をどうしても拭えないんだよな。
取り上げた技術は、本格的な開発でも役に立つもので、最も学習コストが低いものを選んだ。
重要度が低いものは載せていない。たとえばHTMLとCSSなんてググりながら書けば全く問題ない。Bootstrapなどのフレームワークも全くやる必要はなく、仮に就職先で使っていたら覚えればいい。
逆に言えば以下に挙げる技術は、そもそも概念自体がプログラミングにとって普遍的なものであり、(基礎的な部分を)調べながら使うようではエンジニア失格ということ。
基本的に現在では、バックエンド・フロントエンド・運用保守全てができないエンジニアに価値は無い。
以下に挙げた技術(①⑤⑥は他の言語やフレームワークで代替可能)が身に付いていなければまともな企業に就職することは難しい(もちろん、下らない業務システムを下請けで作ってる底辺企業には入れるだろうが)。
経験者でも、これらができない/わからないのは、相当恥ずかしいことだと思った方がいい。
特定の言語やフレームワークの書き方を知っていること自体に意味は無い。
重要なのは、他の言語やフレームワークにも共通する基礎を理解すること・保守性やセキュリティなどの品質を高める使い方ができること。
この2つは習得が容易だし、今覚えておけば向こう10年腐ることはないだろう。
基本的な構文や、よく使う標準ライブラリは勿論、高階関数・クラス・非同期処理等の発展的な機能も知り尽くしていなければならない。
言語のみではなく、パッケージ管理、単体テスト、タスクランナー等の周辺ツールの使い方も熟知している必要がある。
また、「リーダブルコード」や「コードコンプリート」に書いてあるような良い作法も身に付ける必要がある。
Gitを使えないのはプログラマーとして論外。細かい機能は調べればよいが、
多くの場合、本番環境やテスト環境はLinuxサーバーであるから、以下のような基本的な概念と使い方を知っておく必要がある。
環境構築、CI、デプロイなどは、現在コンテナを使って行うことが当たり前になっている。
これも細かいことをすべて覚える必要はないが、Dockerfileの書き方や、docker-composeの使い方などは知っておかなければいけない。
Flaskは、数あるWebフレームワークの中で最も簡単。本当に呆れるほど簡単で、Pythonさえ書ければすぐにアプリを作れる。
フレームワークを覚えること自体が重要なのではなく、Web開発の基本を習得することが重要。HTTP、ルーティング、データベース、SQL、認証、セッション管理などは当然すべて覚える。
データベースは、就職したらMySQLやPostgreSQLなどを使うことが多いかも知れないが、今はPythonの標準ライブラリにあるSQLite3を使えば十分。
作ったアプリを公開したければ、「Heroku」などにデプロイするのが良いだろう。
ブコメで指摘をいただきました。HerokuではSQLite3は使用できないようです。公式のドキュメントに従ってPostgreSQLを使用して下さい。
SQLite3はファイルにデータを持てる簡易DBなんだけど、Herokuにデプロイしてもストレージ的な使い方はできないから、結局PostgreSQLを使う必要あるから注意してね。(DAOを丸ごと書き換える羽目になる)
参考: https://devcenter.heroku.com/ja/articles/sqlite3
今の時代、フロントエンドをフレームワークなしで作るのはただのバカ。
2021年現在、実用的なフロントエンドのフレームワークはReactとVueしかない。Vueの方が少し簡単なのでこちらを選んだが、JavaScriptをしっかり理解しているなら大差は無い。
フロントエンドには膨大なパッケージ群があって全部覚えるのは大変だが、とりあえずまずはVueを完璧に使えればいい。Webpackの設定などは既存のものを流用すればいい。
アルゴリズムは全てのコンピュータ技術の基礎であり、絶対に知っていなければならない。
高速フーリエ変換のような高度な数学は必要ないが、クイックソートや木構造のような基本的なアルゴリズムは当然、その性質を知っていなければならない。
それらは言語の組み込み関数や標準ライブラリでも使われており、理解していなければ、それらの機能を正しく使うことができない。
また、プログラムを読み書きする際には、そのコードの計算量を見積もれなければならない。
セキュリティは言うまでもなく学ばなければならない。
有名な脆弱性や攻撃手法(XSS・SQLインジェクション・CSRFなど)が何だか理解していて、その対策を実装できなければならない。
各種暗号化技術や署名などについても、実装の詳細は知らなくていいが、共通鍵暗号や公開鍵暗号などの特性は理解する必要がある。
国家のシステムにSaaS、つまりAWSとか?外部サービスが推奨されるというのは問題ないの?
AWSやAzure、GCPが停止したら国家のシステムが停止するっておかしくないの?
他国もAWSやAzure、GCPを使ってるよ、とかそういう話ではない気がする
パクリだろうが何だろうが、中国のように国内企業で独立していれば自己責任ではあるが米国企業に左右されないわけで、
そういう国内で、国家手動でしかできない、強固なシステムをゼロから開発することが国家がやるべき役割であって、
ReactやVueを使って公的なシステムを作るなら、言いたくないが自分でもできうる、
弱小零細でも入札で選ばれて公的なシステムを書かされることはやってきたわけで、
今、LINEをまたコロナのためのシステムの中核に入れようと政府はしているけど、
日本の国家の公的なシステムが韓国企業なしで成立しないなんて、そもそも国防上の大問題ではないのか?
これから6年以内に台湾有事が起こることを米国は想定していると公言しているが、
中国はともかくロシアはプーチン政権は、第三次世界大戦を常に想定し、戦略核の使用に前向きであって、
飽和戦のような全力で核を使うということはないとしても、都市単位で消える戦争は十分ありえる
いかにクラウド側のデータセンター等が分散されていようが、そのへんも把握されていることが予想されるし、
いずれにせよ、日本独自の強固なシステムがあるのか?ないなら作るべきではないのか?
そういう役割こそがデジタル庁ではないのか?と自分は思ってしまうのだが考え過ぎなのだろうか
それから、「デジタル庁の副業スタッフとして弊社から数名選ばれました」などという文章をネットで拝見したが、
国家の仕事に従事し、公的なデータを扱う人材がうちの会社にいますよ、と公言していいのだろうか?
例えるなら、うちの会社のスノーデンくんが米国の国家機密を扱うスタッフとして選ばれました、と公言するようなものである
名前は分からなくても、どこの会社か分かれば、そこからソーシャルハックでなんとかなるように思えるし、
接触して賄賂を渡すなどして、デジタル庁のシステムに細工をする等だってありうるのではないか?
自分は心配しすぎなのか、デジタル庁に期待しすぎなのかもしれないが、
逆にいうなら、そんな大したこともないベンチャーという名の弱小零細でもできうるシステムやアプリを開発する庁の設立で、
大々的にどちらかといえば政府が宣伝したり騒いでいるレベルに危機感を感じるし、
本当にそんなもんが必要なのか、
必要だとしても、だったらこんなに騒ぐほどでもない、期待させて肩透かしさせたいのか、甚だ疑問に思うのである
中国はあれはあれで酷いことが多い国だとも思うが、
アリババだのテンセントだのがコロナ関連のシステムもスマホアプリも短期間に開発したと思う
いわゆるアンケートを記入させ、そこからコロナの疑いがあるか、
記入した端末の位置から感染がどれぐらい広がっているかの把握が目的であり、
日本はこれをLINE側が手動する形で実現したが、あれからかなり時間が経っており、
今度はLINEという韓国企業の助けは借りずに日本独自のシステムを構築するのかと思いきや、
またしてもLINEを中核に添えてというのは自分にはまったく納得できない
韓国は長い間政治的都合もあり、日本のアニメを輸入しては国産アニメだと偽って国内で放送したり、
日本のアニメをパクったり切り貼りして放送してきたような時代があったが、
そういった制約からも特にネットワークに関するプログラミング、いわゆるネトゲ開発に秀でることとなり、
国のバックアップがあったり、JavaのNettyなんかも開発者は韓国人だったと思う、うろ覚えだが
アイドルとの1対1のチャット権を争うために大規模なイベントを実現したこともあったように記憶している
素人なのでよく分からないが、簡単には破綻しない大規模チャットを実現できている
そういう経緯からも、韓国の方がリードしているのは理解できるが、この話も大分前の話であり、
要はそういった不可能そうなことを可能にする機会とか、金とか、チャンスがないだけなのではないか?
未踏のようなシステムも、応募する側もできるだけ実現可能で、かつ確実に天才プログラマーの称号が欲しいとか、
日本の国が政府が手動になると、なぜこうも話がみみっちく小さくなるのか?
(そしてシグマのように逆に壮大に見せかけるだけ見せかけて実体は頓珍漢になる
苛立ちをぶつけただけで文章がまとまってない感があるが、消すのも書いた時間が惜しいので登校するが、
高木氏の指摘はともかく、なんとなく単なる現政権の人気取りの一環というか、
自分は、プログラミングはホボできない。(AtCoder緑程度、CTFはシーザー暗号解いて喜ぶレベル、Vue.jsでコンポーズで苦しむレベル)
機械学習は勉強したこともない。(『はじめてのディープラーニング』は1冊大体実装しました)
しかし、AI知識ではなく、ITシステム企業に「ドメイン知識があるから」ということで、AI評価者となった。
論文化が目的なら、使えないAIでも、「似たような成功例あるし、未来への教唆って感じでいいかな〜」と思って見てます。
「kaggle勉強するぞ!『はじめてのディープラーニング』を勉強するぞ!」とAI知識や、
「AWSの構造を理解して、通信的な部分での実装に対してgithubでコミットするぞ!」とか。
「CTFやって、ハッカー攻撃とかを想定したインフラへのフィードバックするぞ!」とか。
「素数暗号や楕円関数やブロックチェーンでセキュアな情報を提供するぞ!」とか。
そういう、勉強するき満々だった。
プログラミングを勉強して、プログラマーとしてブイブイ言わせると。
なんなら、webサイト作ってマネタイズの経験を複数経験しておいた。
ドメインに無かった必要そうなwebサービスもいくつかFirebaseにあげてみたりした。
う〜ん。
世の中への貢献としてドメイン知識持って、ドメインの世界をよくしたいものとしては、この働きがベストなんだろうけど。
世の中のドメインの偉い研究者の壮大なAIファンタジーをリアルな実績に補正するための仕事みたいな。
自分のAI知識は何もないんだけど、「AIがファンタジーにならず法律にも触れず業務フローのなかでワークし市場でマネタイズできるか」をチェックする人。
なんか、生産性というか、なんだろ。
「無駄なAI研究を否定して未然に止める」ってどうやって生産性っていうんでしょ。
転職とかできるのかな。AI担当者としてコメントしてるだけとか、どうやって能力として証明するんだろ。
とりあえず、10個くらいのAIプロジェクトに関わって、研究結果とか出すんだろうけど。
論文に自分の名前はおそらく乗らない。表に自分の実績はでない。(研究計画書に名前乗るけど)
ただコメントしてただけのAI担当者(AIプログラミングはできません)って、どうなんだろう。
明らかに不合理なドメインを確実によくしてる仕事なんだけど。。。
やはり、クラウドサーバー使えたり、新しいサービスを作れるみたいな、わかりやすい技術欲しいなあ。
って意味があるのかなあ。面白いとは思うけど、ドメインへの貢献にはそれはいらなくないかと思ってしまう。
自分でもドメインへ貢献するサービス作ってるから、そちらで創業することも考えようかなあ。
状況的に10年前の自分と被ってて妙な親近感を覚えてしまった。
つらつら書いてたら長くなってしまったので先に結論を書いておくと、転職しても違う悩みや焦りが出てくる。悩みのない仕事なんて無いのだと最近は思うようになった。
自分にとって正しい悩みなのか、そこら辺を家族や人生のステージと鑑みて受け入れられるかどうかかなと。
10年前に自分が悩んでた時も、全国平均よりは高い年収、基本的に下請けの会社に任せるだけで進んでいく仕事に飽き飽きしていた。エクセルで売上から諸々差っ引いて利益が出るシートにピコピコ数字を入力してると「これバイトでもできるんじゃね?」と疑問が湧いてきていた。「これがサラリーマンなんだ」と言い聞かせても日々湧いてくる焦燥感。
10年前はソシャゲバブルがあったのでサクッと転職できた。今はそのままウェブ業界を転々としている。
手を動かすのは最初慣れが必要なれど、やはりやりがいあるしSEの頃に感じていた焦燥感はかなり無くなった。
給料の上がり方もSE時代に比べて大きい。当たったときの利益率が全然違うし。リーンスタートアップやティール組織辺りを参考にしてやりがいのある組織づくりをしてる会社も増えてきている。
と、聞こえの良い話ばかり書くと良さそうに思えるが、今から入るとなると多様な技術習得を求められる。フロントだとvueやreactでtypescriptを使ってどうアプリケーションを組むか、宣言的UIってなんやねんとか。jqueryと何か違うか理解しながら別物に組み換えていくような仕事も多い。
サーバーだとgoやPythonで組んで、何百万ものユーザーを想定して構築する。会社によってはawsなりのクラウドを触ったりコンテナの知識も必要になる。
若い人は習得も早くサクサク進めていくし、年上だからと言って偉いと言うこともないので、エンジニアとして優秀かどうかと言う自己問答を続ける点での焦燥感は出てくる。
土日にプログラミングや技術書買って読むのは、それが好きというのもあるが、やってないとおいて行かれるという焦りから来てるのもある。
同い年じゃん。めっちゃ気持ちわかりすぎて、寝かけてたのにスマホ投げ出してPC立ち上げて書いてるわ。なにしてくれてんねん…。
俺もなんどか転職しててさー、開発会社(倒産)→SES(技術営業)→SES(開発)って感じで底辺をウロウロしてるよ。
技術への憧れ、わかるわ。とくにやりたいことがあるわけじゃないんだけど、アジャイル本・RoR・Vue.js・Python・Git、AWSの本とか買ったわ。業務で使う機会ないけど。
<クソ長い俺の経歴という名の愚痴を書いてたが消した。1~2時間くらい書いてたわ、バカかな?>
俺は「金」より「やりたいこと」をとったよ。こっちのほうが後悔しないかなって思って。
年収はすげー下がったし(300万→550万→350万)、今やってるとこもクソみてえな現場に派遣されて技術成長は皆無で辛いし
33歳で年収350万ってのはちと泣けてくるし…もうちょい収入か技術力がついてれば「やりたいこと」を選択してよかったって言えるんだがなあ。いまんとこ、後悔4割って感じかな…。
ZonuChat - AAキャラをアバターにして交流できるスマホ対応のチャットサービス
https://i.imgur.com/Cfn61sv.png
↑
イメージはみたいな感じ
Flash終了に伴いこの手のサービスで閉鎖されるのが増えそうなので年末年始ステイホームで暇だったのもあり思いつきで開発始めてみた
一応まだ粗い部分とかアバターが少なかったりとか足りない機能もあるけど出社始まる前に一応動く段階になったからベータ版として一旦公開してみる
やきう民や嫌儲くんの可愛いキャラクターをアバターとしてみんなで交流できるよ
座標計算とか無限ループ中でnミリ秒ごとに何ピクセル移動させるとか割とブラウザゲーみたいな内容だったけどこのくらいならVue.jsでもなんとかなるもんですね
よかったらブクマしてみてねー
この程度でも600万は稼げるという夢を持つか、こんなのでもちょっと何かが違うだけで600万稼げるか否かが分かれてしまう業界に闇を感じるか、600万程度で何ドヤってるの?と思うかはご自由にどうぞ(外資系ってもっと稼げるの?)。
歳は30台前半。学部卒。BtoB向けのパッケージ製品の開発プロジェクトで、設計、コーディング、テストあたりを担当している。仕様について発注元との折衝もやっている。
業務で使う技術のうち、自分自身がそれなりに習得しているものだけを書く。プライベートでしか習得・使用していない技術は別。
以上。
PythonもgitもDockerもkubernetesもAnsibleもCIツールもAWSもGCPもRuby on Railsも知らなくてもなんとかなってしまっている。業務でこれらのスキルを要求されることは(今のところは)ないから。
楽でいいと思う一方、このままだと将来ヤバいとも思っている。いざ転職となったときに詰みそう。
でもいざとなったらググっていくらでも独学できるだろうとたかをくくっているので焦ってはいない。
というか「その他」のところに書いた能力が高ければ世の中大体はなんとかなるんじゃないの。知らんけど。
ちなみに自分は構築できないというだけで、プロジェクトではJenkinsとかgradleとかbabelだかwebpackだかでビルド環境は整えられている。
あとプライベートで、単純な仕様の独自言語のコンパイラフロントエンドをC++とLLVMで作っている(これで金が稼げるとは微塵も思っておらず、完全にただの趣味)。
もうすぐ年末年始休暇も折り返しに差し掛かるので軽く振り返ってみる。
作っていたウェブアプリをJavascriptからTypeScriptに移行した。
自分はこのウェブアプリに関して『自分の死んだ後も変わらず動作し続け、後世の奇特な人が気が向いたらメンテ出来る』ことを目指しているので、できるだけフレームワークなどは利用せずpureなJavascriptで実装していた。最初はjqueryを使っていたが廃止し、bootstrapも使っていたが廃止し、Vue.jsで作り直したものも本番投入せず廃棄した。他のウェブアプリで新しい技術を試すことはあっても、このウェブアプリだけは徹底的に保守的なスタンスを貫いてきた。でもここ数年の流れから言って、TypeScriptなら将来的にも大丈夫かな、と思えて来たので、満を持してのTypeScript化。
イベントの実行順序などで多少苦戦したものの、それ以外は大きな問題もなくTypescriptで再構築することができた。
あーやっぱり型があると良いね。画面制御と描画処理が今まで1つのモジュールでやっててそれを何とか解消したかったんだけど、型が入ることでそのリファクタリングを安全に行うことができた。描画周りが分離できたんで、そこだけvueなりreactなりに再挑戦するのもアリかもしれない。どっぷりフレームワークに浸かるのは避けたいけど、部分導入だけなら後で捨てるのも容易になる。捨てるのが簡単ならちょっとくらい試しても良いかもしれない。
Google App Engineで動作している自分のサイトをPythonからGoに移行した。
サーバーサイドではほとんど何もやっていないので別にPythonで不便はなかったんだけど、インスタンスの起動がGoの方が早いらしいので、Goに移行することにした。起動が早ければ待機させるインスタンスの数を抑えられるので、費用の低減を図れる。Goで作り直すと言ってもほとんどが静的なhtml。手作りbootstrapからhugoに移行して、サーバーじゃないとできない最低限の処理をGoで書き直し。素人感丸出しのサイトが、hugoのテーマのお陰でそれなりに見栄えのするものになった。