「Django」を含む日記 RSS

はてなキーワード: Djangoとは

2020-07-08

anond:20200707214248

1年間独学でプログラミング勉強した実感

大学卒業後4年ほど会社員をやったあと、ウェブ関係プログラマを目指して1年ほど、バイトしながら独学で勉強しています

ネット上には詐欺師まがいの情報商材屋とイキリマウントゴリラ跋扈し、普通人間向けの情報が少なかったので、参考までに書いてみます

なお、ここ数年のウェブエンジニア転職ブームとは無関係転職を考えていたので、ブームは正直迷惑だと思っています

1) お金時間に余裕があるなら、大学専門学校プログラミングスクールに行ったほうがいいです。

独学にはいくつかの大きな問題点がありますが、もっとも大きいのは「全体のロードマップ存在しない」ことだと思います

学者は具体的に何をどの順番で学べばいいのかわかりませんし、この情報ネット上にはありません(冒頭にも書いた通り、そう思ったからこそ、このエントリを書いています)。

個人的に参考になったものとしては、

などありますが、どちらも普通人間向けというには若干ゴリラ臭と商材屋臭がします。

また、プログラミング初心者向けの教材はおしなべて貧弱で、腹が立つほど不親切です。読んでいて何度もブチ切れそうになります

特に学者場合は、教材の練習問題ひとつ解くにしても、誤字脱字等の初歩的なエラーのために平気で数時間のロスが発生したりします。

当たり前ですが、これは純粋時間無駄なので、すぐに講師相談して解決したほうがいいです。

こういうことを書くとすぐに「自力問題解決できない人間プログラマに向いていない」と言いだすゴリラが現れますが、いまはそういう話はしていません。

そのほか独学だと自分の実力や相場感を測ることもむずかしく、その分詐欺師ゴリラに引っかかりやすくなりますし、基本的おすすめしません。

2) 独学の最初の1歩は「苦しんで覚えるC言語https://9cguide.appspot.com/おすすめです。

いまさらC言語と思うかもしれませんが、勉強するうえで重要なことはプログラミングの仕組みを理解することであって、どの言語から始めるかではありません。

その点、上記「苦C」はとても丁寧に文法説明してくれますし、ポインタ説明を通してメモリの仕組みも教えてくれます

ただし、回答例のコードに誤字脱字があって動かない等の発狂ポイントがいくつかあるので、注意が必要です。

勉強のやり方としては、まずはサイトを読みながらスマホC言語アプリポチポチ書いてみるところから始めると気楽でいいと思います

途中で頭が混乱してきたら、再度冒頭からきっちり丸暗記するつもりで勉強するのがおすすめです。プログラミングに暗記は不要だと言うゴリラもいますが、あれは嘘です。

intはintegerだからintなんだとか、そういうことを調べながらやるだけでも解像度が格段に向上すると思います

実際にC言語バリバリ書けるようになる必要はないので、おおよその仕組みを理解してしまえば、最後のほうは流してしまって大丈夫です。

3) オンライン学習サービスは便利ですが、内容が充実しているとは言いがたいです。

検索するとこの手のサービスが一番上に出てきますが、内容は不十分だと思いますかゆいところに手が届かず、使っていて非常にいらいらします。

とはいえ他に代替となるものもないので、サービスを利用しつつ、必要に応じて入門書を読むのがおすすめです。

私が利用したかぎりでは、Progateは教材の内容が薄く、Paizaは無意味オタク臭くて私は苦手でした。N予備校Udemyの評判がいいみたいですが、使ったことがないのでわかりません。

私はウェブ関係プログラマ志望なので、ProgateとPiazaでHTML/CSS/JavaScript/Git/Ruby/Ruby on Rails勉強しました。

最近初心者Railsエンジニア供給過多の印象があり、DjangoやLaravelのほうが就職には役立ちそうな気がしています

余談ですが、無料の教材として有名な「Railsチュートリアルhttps://railstutorial.jp/ は、あえて劣悪な翻訳放置することで、自社のプログラミング講座に顧客誘導するビジネスモデルのように見えるので、内容はともかく個人的にはあまりいい印象を持っていません。

ちなみに私はこの辺で迷走していたため、いろんな言語ちょっとずつかじっています

スッキリわかるJava入門』はオブジェクト指向理解するのに役立ちましたし、『退屈なことはPythonやらせよう』で覚えたスクレイピング求人情報収集にとても役立っています。ほかには『プログラムはなぜ動くのか』も読んでためになりました。

基本的に本を読んで損することはないので、時間の許すかぎりたくさん読んだほうがいいと思います。私はあまり読めていません。

4) ポートフォリオを作るのはとても時間がかかります

Railsチュートリアルを参考にRailsアプリポートフォリオ作りましたが、完成まで半年くらいかかりました。

上述の劣悪な翻訳のせいもありますが、データベース設計を考えたり、UIを工夫してみたりすると、いくらでも時間が吸い取られていきます

知識ゼロから3ヶ月でポートフォリオ作りました! みたいな若手情報商材屋を見かけると、そんなにすごい能力があるなら普通エンジニアだけやってればいいのに、と思います

完成したアプリDockerコンテナ化したうえで、GithubActionsで自動テストを走らせ、AWSサーバーデプロイしていますが、この辺は言語勉強アプリ製作と比べたら全然むずかしくありません。

まともな日本語で書かれたまともな教材が揃っていますし、ネット記事豊富にあります。ここまでの勉強で、エラーメッセージや多少わかりづらい文章を読み解く能力も身についているはずです。

それぞれ1、2週間集中すれば最低限の実装はできると思います。ただしAWSの設定だけは、適当にやると数万円の請求書が届いたりするので注意が必要です(届いた)。

5) ここまでやっても就職はできません。

上記ポートフォリオを公開し、求人に応募していますが、一向に就職できる気配はありません。

就職活動が不得手なせいもある気がしますが、いいかげんバイトにも飽きてきたので就職したいところです。だれか仕事くれよ。

2020-07-07

プログラミングスクールなんか行かなくていいからこれやれ

いちいち行かなくていい。高いわりに役に立たない。本を買ったりネット解説動画を見ながら自分でやるんだ。

毎日勉強できるならカリキュラムはこう。大事なのは「わかんなかったら自分で調べる」ということ。これをひとつひとつ解説していくとあっという間に1年ぐらいのカリキュラムになって金がかかるようになる。ググれば全部出てくる。出てこなかったら調べ方が悪いのでググりかたを変えればおk。この記事にも初心者から見ると「なにその言葉。初耳」っていうのがあると思うけど、全部重要キーワードなのでググって咀嚼して血肉としてほしい。ググればすぐ出てくる。

1日目: Linuxインストール(Linuxの中でもUbuntuっていうのがおすすめ)

とりあえずLinux自分パソコンインストールする。Linuxを触れるようになればいい。

PCがない場合は、中古PCなんて3万ぐらいで買えるからそれ買ってきてインストールする。ヘボくていい。コードは書ける。あとで知識ついてきたり会社入って同僚に聞くなりして高いの買えばいい。インストールのしかたはググれ。

なんでLinuxかいうよくわからんものを使うのかっていうと、ネット世界Linuxが大半だから。みんな知ってて共通認識から。嘘じゃないよ。

MacWindowsダメです。Linuxインストールするべし。パソコン買うの嫌ならデュアルブートすればいい。やり方はググれば無限に出てくる。詰まってもなんとか解決できる。1日もある。

それでLinuxターミナル上でcdとかmvとか基本的コマンドを覚える。CLI/CUIとか言われてる。基本的コマンドはググればおk

Macダメですか?」っていうのは「MacUNIXだよ」っていうのだけ理解できてれば別にいいけど、Linuxとは全然違う。そのへん自己解決できる自信がすごくあるなら別にいいんじゃない

2日目/3日目: VimPythonを使う。Pythonチュートリアルの本買ってきて読む(2000円弱)

Vimの使い方を覚える。これは2時間ぐらいあれば慣れるはず。ネットで「Vim 使い方」でググればおkLinuxインストールスムーズに進んでればここは1日目になる。

3日目で終わらせる。途中で意味がわからなくて詰まっても、わからないところはメモしてとにかく進むべし。終わらせることを優先。Pythonは書きやすいので比較簡単

Vimが嫌でもやる。IDEかいうのでやるのはまだ早い。Vim使ってりゃLinuxコマンドも同時に覚えるのでオススメだし、Vim系は一生つきまとうので今のうちに消化すべし

「たったこれだけの間違いなのに動かないのか……」を死ぬほど体験して「コンピュータとはそういうもの」という思考になるべし

挫折する必要はない。初めてチャリ乗ったときと同じでコケまくってるだけなので必要以上にメンタルを気にしないこと。挫折するな

4日目: HTML/CSSをやる

MDNっていうところで、HTML/CSSガイドを一通りやる。わからない用語バカスカ出てくるけどググればわかるようになる。

わかんなくてもメモしてどんどん次。MDNが気に入らなければ他にもいっぱいサイトがあるのでそれやればいい。

これもつらくてもVimで書くべし。

5日目/6日目: JavaScript勉強をする

これもMDNってところのチュートリアルをやればいい。終わったらここ(https://jsprimer.net/)タダ。

たぶんどこかで間違いなく詰まるだろうけど、最悪「このボタンクリックするとこっちのspanタグCSSで色を変えられた」ぐらいまでできると「イイネ!よくぞそこまで自力でたどりつけた……!」って言いたくなる。わかんなくても頑張って進めばよし。

だいたい雰囲気はわかってきたと思うのでテキストエディタVimじゃなくてもいい。好きなのを使ってください

7日目/8日目: HTML/CSS/JavaScriptを組み合わせて、ブラウザで動くアプリをつくる

電卓アプリケーションやTODOアプリをつくる。作るのはなんでもいいけど自分過大評価してすごそうなものを作ろうとすると一生終わらない。難しければそのへんに転がってる人のコードを参考にする。

つくったらGitHubに上げておく。デザインとか見た目は別にクソでいい。ゴミみたいなものでいいから、とにかく動くものをつくるべし。ある程度バグっててもいい。ある程度動かせるものをつくってしっかり終わらせる、これが大事。一生これなので。スクールでいうとたぶん3ヶ月目・4ヶ月目ぐらいの内容。

9日目: 就活開始

既にそのへんの会社には余裕で潜り込めるので、とっとと入って業務経験をつける。履歴書Google Docsで書く。別に他のが使いたかったら他のでもいいけど、よくわかんなかったらGoogle Docsでいい。紙はPDFで送れないし面倒だしITスキルを示せないのでNG。「紙じゃないから」で落とすところはクソなので気にしなくていい。

経験だと研修もあるので、よくわからなかったところをそこで補完する。とにかくひたすら応募しまくる。たとえブラックでも、1年ぐらいでやめる想定でガンガン応募する。落ちても気にしない。ぶっちゃけどこでもいい。

手に入れるべきなのは業務経験1年」という称号給料はそれまでの自分経験かに左右されると思う。実地訓練がいちばん為になるし合う合わないもすぐに見極められる

10日目/11日目: ITパスポート系の本とか「○○の絵本」とか、初心者向けの本を大量に買って読み込み、ITの基礎知識を身につける

とにかく体系的な知識がないはずなので、知識を身につけまくる。背伸びして難しい本を買っても意味がない。

ITパスポートは取れるなら取っておいた方がいい。業界経験で「ITパスポート持ってる」は頑張った人の証。その後の転職には使えないけど最初はつかえる。たぶん

12日目/13日目: LPIC Lv1の本を買ってやっておく

試験別に受けなくていい。Linuxをある程度使えるようになればそれでおk

14日目: ネットワーク系の本を買って1冊読んでおく

とにかく平易なものを選ぶ。たいてい、いちばん平易なものも平易ではない。最低限TCP/IPとかサブネットマスクとかが理解できてればおk

よくわかんなくても業務ときワードが聞こえてきて「あ、それ、○○の本で見たやつだ!!!!」ってなるのでとにかく読む。

15日目: ソフトウェア開発の流れを知る(ネットでも本でもなんでもおk

ウォーターフォール開発とかいうのを知っておく。アジャイルとかあるけどまだ早い。気にしなくていい。基本は「要件」「仕様」「実装」「テスト」が大事死ぬほど大事毎日呪文のように唱えていろいろなことにあてはめて考えるべし。

16日目/17日目: データベースを学ぶ

MySQLっていうデータベースがあるからそれをやる。よくわかんなくても最低限のSQLだけは書けるようにしておく。別に他のをやってもいいけどRDBMSならほぼすべて同じだからMySQLいいんじゃないのって思う。

どうせ新人には誰も期待してないので、完璧にせずある程度書ければいい。「『正規形』って概念があるんだな〜」って思えるぐらいでも上出来

18日目/19日目: Webフレームワーク勉強する

PythonならDjango。ただ、早ければこのへんで就活終了してるはず。就活ときに「なんの言語でどういう作り方をしているか」「自分は何を勉強すればいいか」を聞いているはずなので、そちらを重点的におこなうHTTPの基本がわかってればWebフレームワークなんて雰囲気でわかる。ガンガンやっていきましょう

20日目/21日目/22日目: JavaとかTypeScriptとか、いわゆる型のある言語を学ぶ

好きに本を買ってやったらええ。C++とかはたぶん難しいだろうからそういうのにいきなり挑戦しなくてもいいと思う。Javaぐらい書けてみせろ

23日目以降〜: 強化

どうせ会社に入ったらいろいろ道が変わるので、それをみて「自分はここが足りなそうだな〜」と思うところを見つけてやればおk

このへんで雑魚エンジニアを超えてる。でも中堅エンジニアから見るとまだまだスーパーザコクラスなのでイキらないこと。謙虚ガンガン進んでいきましょう。上に書いたことは全部初歩であり基礎であり重要。他にも重要なことはあるけど、いったんスクールレベルはこれで超えるはず。最初会社踏み台しかないので、さっさと踏んで次の会社に行って年収上げるのがオススメ

まとめ

たぶん160時間ぐらいは勉強することになると思う。早い人はもうちょっといかも。わりとハードスケジュールなので、キツい人は期間を2倍、3倍にしてもいいと思う

失敗してもいいから、とにかく何度も何度も速く失敗してなんとか解決することが大事

よくわかんなかったら、質問事項をまとめたあと、そこらへんのエンジニアネットで金払って聞けばいい。ググれば似たような質問してる人もいっぱい出てくる。

使う金は多くても10万ぐらいかな(PC代込み)

「未経験おk研修あり!」の会社を選ぶと、給料もらいながら研修受けれるのでスクールよりよっぽどいい。初期投資すぐ返ってくるのでオススメしたい

正直自分にはスクールに行きたがる人の気持ちがわからないので、参考にならないかもしれないけど、どうしようか迷ってるぐらいの人はこれやるのがオススメ

別に100点満点の道ではないと思うけど、それなりに高効率の道だと思う

追記: プロゲートとかドットインストールとかでもいいと思う。この上のやつは、1つのルートとして参考にしてもらえればいいかな。別にこれだけが正義かいうつもりは全然ないし、自分SESは嫌だし。ただ結構高い金払ってスクール行って大した能力も身につけられないのを見てられないなと思っただけ。

マジ初心者は、なんでこれをやらないといけないのかチンプンカンプンだと思うけど、重要な点だけ削り出して言ってるので、1ヶ月後に点がすべて繋がって血と肉になるはず。疑うな。疑いたい人は信用できる人に聞いてポリッシュアップしたカリキュラムでやればいいと思う。別にこのルートけがすべてではない🐹(このルートだとWindowsアプリiOS/Androidアプリなんかは一切つくれないし)

2020-06-08

勇気

‪Server Side の MVC時代遅れだというのにモダンRuby on Rails も (Laravel も Django も) クソも無いでしょうに…。‬

って、実名で書く勇気が欲しい。

2020-06-07

anond:20200607043413

web系ね,図書館は厳しいかもしれん(新しいのがない)

progate, ドットインストールあたり見ればいい.

HTML,CSS終わったら

セガの人が出している「ゲームプログラマになる前に覚えたい技術」を読んでおくと良い.これはVC++,おそらくヒットチェック判定とかある.

2020-05-31

プログラミングを独学して、労働組合2.0としてのwebサイト作ってみた

https://www.whitedoor.jp/

自己紹介

今年の1月からプログラミング勉強を始めた無職


動機

https://www.whitedoor.jp/about

ここの動機の部分へ書いたので細かくは書かないが、友人が労働問題自殺して、なんとか違法労働をなくせないかなあと思い、労働組合の代わりになるようなwebサイトを作ってなんとかできないかと思った。

自身ブラック企業で以前働いていて困ったのもある。


目的

この国から違法労働を無くすこと。

このwebサイトコミュニティとして活発になり、人が増えれば、それだけで一つの力になる。

例えば同じ会社で仲間を見つければ上層部交渉することも出来るだろう。職業組合を作ることも出来るはずだ。

今度弁護士既存労働組合とも提携し、訴訟や、ストライキを行う機能なども実装したい。


計画

こうしようと思うのは簡単だったが、いざ始めて見ると学ばなければいけないことが多すぎて呆然とした。そもそも何を学ばなければいけないのかを学ばなければいけなかった。

HTMLCSSSQLJavascriptGitGithub、HerokuRubyRails、Cloud9、VScode、npm、Linux、Terminal、Vim、その他諸々・・・

とりあえずググって記事を読み漁って、プログラミングの学び方から調べた。


言語

Python流行ってるらしいのでPythonを学び、Djangoでやろうかなとおもったが、RubyRailsは使われていた時間が長く、日本語での情報が多いらしかったので、Railsで行うことにした。

途中でVueとFirebaseでやろうかなと浮気もしてみたが、日本語情報が少なく結局Railsに戻った。

Railsではわからないことは調べれば大抵のことは日本語情報があったので、いい選択だったと思う。

今後はVueちゃんと学び、今Jqueryで行っている部分を置き換えたい。


勉強で使ったもの

progate

https://prog-8.com/

非常にわかやすかった。環境設定を行う必要もなく、視覚的に説明してくれるので初歩の理解に非常に役に立った。

ドットインストール

https://dotinstall.com/

progateよりは難しかったが、動画説明してあるし、わからないことはググればそれなりにわかった。

また、progateよりも教材が圧倒的に豊富なので、HTMLCSS,Javascript理解を深めるのにも役立った。Cloud9やSQLドットインストールのおかげで理解できた。

Railsチュートリアル

https://railstutorial.jp/

これをやればとりあえず仕事できるレベルにはなるらしいと聞いてやった。

progateとドットインストールに比べればかなり難しく挫折しかけたが、それらでは学ぶことができなかったプログラミングの基礎の話や、Webサービスを作る上で知っておかなければならないことが書いてありとても役に立った。

あとはとにかくググりまくった。

YouTubeも見た。


デザイン


https://getbootstrap.jp/

Bootstrapに頼りまくった。これもドットインストールのおかげで理解できた。

ロゴイラストレーター作ってみた。楽しかった。

Navbarは本来こういう形で使うのではないのだと思うが、TwiterやInstagramのようなアプリのような使い心地にしてみたくてこのような形にしてみた。いいデザインになったと思う。

あとマテリアルデザインというのが流行ってると聞いて、見様見真似でやってみた。どうですか?


セキュリティ

調べれば調べるほど完璧に行うことは難しいとわかったので、もうユーザーメールアドレスを保存することを止めた。今後技術に自信がついたら実装したい。


完成

とにかくエラーが起きまくって、それがなんでなのかわからないことも多々あって、何度も挫折しかかった。

とりあえずわかることをやって、わからないことは放置してたら、他の部分の理解が進んだことで理解できるようになったりした。

デザインなどもっと気になる部分はあるが、今の自分技術ではどうしようもない部分もあり、とりあえず今の時点でもっとここをこうすればいいとか教えていただけるとありがたいと思い、公開した。

https://twitter.com/takatetomoki

Twitterを貼っておくので、ぜひ教えていただきたい。

あとノートを貼っておくのでサポートから投げ銭をもらえると、サーバー代など助かります

https://note.com/takatetomoki/n/nddb8123abc7a

ぜひ会社登録し、評価投稿し、掲示板を使って、Whidedoorを利用してください。

感想

これで僕がめんどくさいやつだなと思われて就職できなくなったら困るなと思ったが、少しでもこの国の労働環境改善、並びにこの国に貢献できれば嬉しい。

使用した技術など

開発環境 Cloud9 VScode

データベース MYSQL

言語 RubyJavascript

フレームワーク Rails

PaaS Heroku

できたもの

https://www.whitedoor.jp/

2020-05-22

webエンジニアキャリア相談

盛り上がってるので相談させて。

現職はlinux,nginx,phpフレームワーク,+α。

なし崩し的に数年前にwebエンジニアになった。

技術は嫌いではない、程度の熱量

ただ現職ではこれ以上のスキルアップ昇給が難しそう。

からこの機に上京して転職してやろうと思ってさ。

ただ俺は上にリストアップしたものしか現状できん。

転職検討してんだけどphp案件絞ると地雷臭い企業多い。

webフレームワーク経験あり歓迎の企業

潜り込んでruby on railsでも身につけた方がええのかね。

ただruby斜陽とも聞く。かといってjavaは敷居高そう。

ならpython + django or flaskか?

はたまた○○.js系とか狙い目?

やっぱりphp一本槍は将来的に考えると怖い。

php、とかく馬鹿にされがちだしな。

戦略の取り方が分からんくなってきた。

2020-04-14

anond:20200414104932

そらもうdjango+pytorchでガンガン自動生成するやーつよ。

(これは半分マジ)

2020-04-01

正しいIT用語の読み方

最近の若者は物を知らない。

IT企業就職したのに、IT用語の読み方を間違える恥ずかしいやつが多くて困る。

新入社員でもこれぐらいは抑えておいてほしい。

2020-02-15

フリーランス

IT系正社員だとマジでスキルつかないんだけど、フリーランスになればスキルつくかね?

正直自分の実力もよくわかってないし、

なんちゃって実績しかいから踏み出せない。

itフリーランスの人ってどんなことしてんの?

得意言語はC♯(Unity好きだから

凝ったことしなければ使える

Python:django

Android開発:Kotlin

てかまぁ、言語はいろいろ触ってたのでやれと言われれば出来んじゃね?的な感じ。

なんちゃって実績は、

エクセルスクショペタペタ。

dosコピーコマンドサーバーデータコピー

WEBアプリ保守?(パソコン動かないわ、前任者鬱になっていなくなるわ、ドキュメントが古すぎて使い物にならず逃げた)

要件定義とかはやったことないからよくわからんけど、なにか作るときには自然とやってるんじゃないかと思ってるから、やってみたらできそう。

IT系に戻ること自体やめたほうがいいかなぁ

2019-12-29

正社員になるなら

バイトから正社員を目指したい。

正社員で4〜5回は転職して、現在パートアルバイトで点々としてる25歳。

しかし、パート転々と変えているのにもかかわらず正社員にならないかと誘われることが多い。 勿論断っている。

何故なら入ってみて仕事に慣れてくるに連れて駄目なところがモロにわかってくるからだ。

よく思うのは合理的でない所。

無駄が多いのに改善しようとしない所。

最初仕事を覚えるために必死になるから気が付かないが、慣れて余裕が出てくると無駄か多いことに気がつく。

そしてそれを改善できないことが多くやる気がなりやめる。

からこそパートでその会社を様子見して選びたい。

因みに、まじでこいつ転職してくんね?ってやつ程残ってる。

転職回数よりも、合理的な考えと人間的な感情考慮できる人なのかをしっかり確かめたほうがいい。

最低でも後者だけでいい。

前者だけで取るなら単独で進められる仕事で。

書類バサバサ落とされるけど、通るところは糞ブラック(誰でもいいからほしい)かホワイト(人柄などを重視)なので転職回数の多さがいいフィルターになってる気がする。

一番いいのは独立なんだろうけどマジで難しいな。

絵描いて月に1000円しか稼げてない。

ゲー厶(unity)作っても遊ばれない。

django学ぶもデブロイ出来ずに死ぬポンコツエンジニアパート介護士には

介護楽しいけど割に合わんから辞めとけ。

EXCELペタペタ、なんのドキュメントもねぇクソプロジェクトゴミカスパソコン

Itとは名ばかりの非効率業界にいたときより数倍ましたけどな。

もしやるとするなら小規模デイがいいらしい(聞いた話)

あと人間関係重要

おばヘル以外はいい人多いから割と辞めずにいちゃったんだけど人間関係の良さはまじで大切だと実感した。

仕事は続けられる場所を選ぶのが大事

仕事なんて大抵やれば出来る。

Twitterバズるようなすごい人ってホントにそんなにいない。

レッツ転職

2019-12-06

anond:20191206094617

あっ、そうなんですか。

laravelとdjangoの両方使った事あるけど、ベンチマークが変わらなかった気がしたか勘違いしてた。webアプリとはまた別の話なのかな

2019-12-05

エンジニア職に就いたあと辞めたポエム

補足→ https://anond.hatelabo.jp/20191205212350


これは退職アドベントカレンダー2019 (https://adventar.org/calendars/4051) 5日目の記事です。最初自分ブログに書くつもりでしたが、書いてるうちにどこまで筆が滑っているのかわからなくなったので増田に投げることしました。そしたら余計にタガが外れたのはご愛嬌

What's this

よく見かける「未経験からエンジニアへ!」ストーリーの、あまりなさそうなルートです。よくあるルートのほうはなぜかTwitterで報告して「○○系エンジニア」的な命名をしてから入社その後の動向が闇に葬られているのをかなりの確度で見かけますが、まあ、なんか、いろいろあるんでしょう。逆にそういう成功(?)体験生存バイアスを強化する情報ばかりあふれていると情報として健全でないように感じます

ということで、今年あった自分体験談を残すことにします。

といいつつ後日しれっと消えてたらInternetArchivesか魚拓で会いましょう。

この話はここから先はフィクションです。剣も魔法労基法も出てこないファンタジーです。

who are you

地方に潜むフリーターです。好きなvirtual beingsはロボ子さんと東雲めぐさんれいきらさんです。

これまでは自分のためのプログラムを書き散らすだけで、ITとは無関係バイトをしてきました。玉掛フォークリフトなら任せろーバリバリ

入社の経緯

会社にもぐりこんだいきさつはやや特殊なのでぼやかします。とあるきっかけで知り合った人から誘われました。リファラルです。なお、とあるきっかけはなにかと炎上しがちないわゆるプログラミングスクールなどではないことを防火剤がわりに書いておきます。そんなもんに使う金など無い。

その人のことはあんまりよく知らなかったのですが、CTOとして手伝っている会社システム部門で人手を探しているとのことでした。会社ホームページにはリクルートページなど無く、何をやっているかいまいち要領が掴めなかったのですが、ざっくりと自社製のWebアプリ開発をやる感じらしく、内容も聞いた限りでは(自分スキルと照らし合わせて)そんなにどえらいわけでもない印象でした。ちょうど金もないし無職だし、少し経験でも積んでみるかという気になったので、この際ホームページDreamWeaverサンプルを流用したまんまといった細かいところは観なかったことにしました。

面接にいくと社長から「いつからこれるの?」と言われたので「あっこれは」となりましたが、金がなかったので是非もなくそのまま入社の運びとなりました。この頃はプログラム書いて金もらえるなんてサイコーとか思ってました。ちなみにgithubatcoderアカウントを書いた職務経歴書は一顧だにされませんでした。

やったこ

地方製造業システム部門を切り出して別会社にした形態の、創立数年ほどの会社です。自分のほかにもうひとり、社内情シスのようなことをしている方がいましたが、基本的にはサポートが専門な感じでした(ただし肩書自分と同じでしたが)。紹介してくれたCTOは週に一度のMTGに顔を出すだけということで、実質的に常駐している人間プログラムが分かるのは業界経験自分だけというチャレンジングな環境からスタートしました。なお入社して社内の平均年齢を大幅に下げることになりました。

レスポンシブ化

ちょうど入ったタイミング情シスの方が抱えている仕事があり、とくにやることもなかったので手伝いました。グループ会社サイトスマホ対応させるもので、事情はわかりませんがそれまで他社に制作委託していたものを自社で運用することにしたとのことです。みてみるとWordPress4でPHP5が動き、Bootstrap3を使ったオリジナルカスタムテーマ運用してきた様でした。もちろん仕様書ローカル環境もあるはずがないのですが、どうせ自分Webデザインなど知らんのでとりあえず直にheader.phpにviewportを書いてmain.cssメディアクエリを設定して、ザ・web制作初歩みたいなレスポンシブ対応しましたが、デザインについて当事者との意見のすり合わせの機会なんかの開発手順はなかったので良しとしました。

新規Webサービス

入社して2周間ほどのち、社長についてこいと言われた打ち合わせの後日、MTGで「昨日のアレの進捗はどんな感じなの?」と聞かれたこから、いつのまにか新規案件自分に一任されていることに気づきました。仕様は前日の打ち合わせがすべてだった模様です。要件定義技術選定・検証のような工程など決まってないので好みで揃えました。趣味と関心からExpress+Mongo+Reactのセットか、触ったことのあるDjango/Railsでざっくりやるか、どうせならDockerも使い時か、こんなとき相談できる同僚やメンターが欲しいなぁなどと考えていたら、CTOがそれまで作っていたやつをみるとPHP+ES5+MySQLだったのでなんだかんだでそうすることになりました。PHPを初めて触り、「これがペラ1のphpjscssもなにもかも書いていくといういにしえのスタイルか…!」と新鮮な感じでやってました。

既存システムの移行

Windows Server 2012で動いていたサービスLinuxに移行しました。これは自分が入る前から情シスの方が任されていたのですが、マニュアルに沿ってコマンドを打ちこんではどこかで転け、エラーは読まずにあきらめてCentOSインストールからやり直すということを繰り返していたのを見るに見かねて手伝いました。SSHPowerShellからマニュアルコマンドコピペして実行する方法を教えてあげると目を丸くされました。shellファイルを書いてあげると魔法をみるのような顔で驚かれました。自分が入ってなければどうなっていたんだろうか...

自分ツール作成

毎日出退時間規定EXCELフォーマットに記帳する必要があり、これが非常にめんどくさく無駄に思えたので、自動記述するpython/Goスクリプトを書きました。これは入社して2日目とかだった気がします。しかしここを自動化しても「印刷して人事に提出し、それをもとに人事の方がまたEXCELに書き込む」と知り虚無になったりしました。

FE取得

これはやったことというか思うところあってプライベートで取り組んだことです。自分想像していた開発現場との乖離を感じたので、こういうのはFE勉強すればわかるのかもしれないと思って1ヶ月くらいやって取りましたが、得られた知識会社に活かせそうなものは何一つありませんでした。

チーム開発などという概念存在せず、「1案件を1人で上流から実装運用保守サポートまですべてやる」という進め方でびっくりしました。手持ちの技術スタックでできる範囲ギリギリなんとかやった感じです。よく転職サイト上で見かける文言で「お任せします」がありますが、これとかも要するに「丸投げ」の換言なんでしょうか。わたし気になります

とりくめなかったこ

自分のように途中からジョインした人に対しての業務移行のシステムがないことから感じていましたが、案の定「誰かが抜けたあとの引き継ぎの機能」も整備されてないことに気づきました。もともとオンボーディングや研修概念などありません。えらいひとは「そのへんは現場で協力してうまくやって」と丸投げし、すべての作業を自宅でやっているCTOは社内のこうした事情については放任で、いちおう情シスの方がいつのまにかメンター代わりになっていたものの、不明点を尋ねても頓珍漢な返答が多くもどかしかったです。どのサーバでどんなサービスが動いているのかやSSH情報を聞き出すのに苦労しました。こうした不幸と無駄時間をなくすためにドキュメントを整備しようとしたのですが、頓挫しました。これから物理フォルダーと社内サーバ散逸した各種の情報混沌を深めていくのでしょう。gitも無いし。

サーバオンプレでした。自分クレカをもっていないためパブリッククラウドを試す機会がなく、ぜひとも触ってみたかったのですが、承認を得るための説明がうまくいかず、結局VBoxでやることになりました。唯一、それまで使われていたVBoxではなくVagrantを導入したのは少しだけ救いでした。どうせ自分しかいじらないのですが。

余談ですがオンプレ面白かったのはHDD増設のために初めてデータセンターなるものに入ったことです。インフラ/ネットワークはまったく分からんしなかなか個人で試せない領域だし縁がないかなと思っていたのですがやはりそこに見える物理層が存在するというのはテンションがあがりますね(断層みたいに言うな)

イキってカイゼンジャーニー情熱プログラマーを買って読んだりもしました。目につくように共同図書のつもりで「ご自由にどうぞ」を添えて自分ロッカーに置いておいたら「私物は持ち帰れ」と言われてしまったので持ち帰りました。

退職経緯

さてお待ちかねメインディッシュですね。

もともと技術コンテンツ会社ではなく、技術畑の人間がまったくいないことのインプレッションが次第に違和感として強く響いてきました。ITエンジニアとしてやっていくつもりの観点でみると、学習や成長の土壌は無いように思えました。協調関係や信頼がうまく築けず、自分のすべき道筋不明瞭のままやっていけるほどタフなYATTEIKI精神ではなかったのです。

これは地方の、それもIT気質のあるわけではない、ワンマン経営中小製造業ならばどこにでもあることかと思われますが、随所に感じるレガシーさに疲れてしまいました。一例を挙げると、毎朝30分に亘り行われる全社清掃(もちろん業務時間外)、社是の復唱、『感謝言葉をみんなで味わうポエム』の輪読、その感想大会、頻繁に行われる中身のない会議日報エクセルで書いてメールで送ったり、出退勤表を毎日エクセルに書いて印刷して事務方に持っていくなどのルーティンがけっこう苦痛でした。

社内のコミュニケーションツールLINEだったので使い勝手も悪く、会議chatworkslackを使いましょうと提案しても誰一人としてそれらの存在を知らず、「勝手にやってくれ」と言われてしまったり。LINE WARKすら知らんやんけ。説明しても「skypeじゃ駄目なの?」と言われたので諦めました。

えらい人の思いつきのたびに方向性が変わり、当人発言したらそれで全て完了した気になってしまったのか、会議終了後の10分後に「さっき言ったやつまだ出来てないの?」などと言われた時はギャグかと思いました。会議議事録も誰も見返さないので果たして意味があったのか疑問です。誰かひとりでもmarkdownが書けたり、少なくとも書く気があれば勉強会を開催してHackMDなどを推せたのですが。議事録機能していないエピソードとしてひとつ思い出しました。開発中に機能追加を下された際に、その挙動は完全にプラットフォームネイティブであり今の技術選定だと作り直しになり、結果納期に間に合わない(し、自分技術スタックからも遠く外れていたので学習コストも加算)と発言したらその場は収まったのですが、会議終了後に個人メールで「やはり機能マストだ」と伝えられました。当然それは議事録に反映されることなく、なんかしらんけどそういうことになっているという感じになりました。

初めてのエンジニア職でしたが、社内に開発をる人やマネージャー職は不在で、いわゆる開発現場での流れを学ぶことはできませんでした。少なくとも技術を知らないえらいひとが「俺がスケジュールを立てたからこれに沿ってやれ」と、”開発”と”広告作成しか書かれていない2週間の計画表をもってくるような現場システム開発として正しいのか、 と本能が警告を発していました。

もともと会社製造業から始まったため、えらい人たちとの見解齟齬があったのは体感としてあります。同じものづくりといえど設備マンパワー時間線形的に結果に結びつく工場業務と異なり、システムエンジニアリングはかける時間見積もりも容易でなく、かかった時間が必ずしも結果に結びつかないものである、と言う事実は受け入れられ難く、知識ドメインマインドセットが異なれば説明も困難です。しかしながらえらいひとは一様に「経営視点を」の号令で、経営誌を配り、その感想文の提出を義務付けるなど、現場視点を欠いた行動で現場(というか私)を疲弊してました。気づいたらSEO対策や別部署MTGのためのプロジェクター設定、全PCwindows updateに伴うドライバ更新の役も同一の職掌として役付けられそうになっていたり(一部は実際に情シスの人がやってた)、It’s not my workなシーンがみられるようになっていました。

そして、よくあることですが、理念実態乖離していたことです。世界をよりよくと言いつつ、目先の掛け算を考えてばかりのように思えました。グロースする中で発生しそうなあれこれをすっ飛ばし利益だけを皮算用するのはいいとして、データ量やトラフィックを指摘すると「そこは現場努力でしょう」となるので、世界を良くする前に精神を悪くしてしま人生で初めて心療内科にいったりもしました。一応グローバル展開を目指しているとしながらサーバからMailerDaemonが飛んできたら「ギャっ英語っ!」と言って読まず捨ててたり、急にサービスが止まった時には激怒して責任所在の追求を求められたため、草創期にえらい人の個人アドレスで取得してほったらかしにしていたドメインが失効したことが原因と伝えたら「あれはもう読んでいないアドレスだし仕方ない。こういうピンチときこそチャンスにしようぜ」という謎理論を出されたこともありました。

違和感が確かなものになったのは、外部に提出する資料で社内の数字が異なっているとを指摘すると「こういうのは見栄が大事なんだ」と暗に公文書偽造をほのめかされたことですが、これ以上は闇っぽいので書きません(たぶんどこもやってて罷り通ってる範囲だと思うけど)

総じて、心理的安全性の低さ、そこからくる身動きのとれなさ、ロールモデルの不在、前時代的な風潮、社内文化へのミスマッチと不理解、成長の実感が沸かない不安と不満、それらに伴う摂取アルコール量の異常な増大と過食、といった要因の積み重ねが、ネガティヴな形での退職へと駆り立てることになったのだと思います。まあ、よく知らんうちにリファラルしてるところからして「採用教育コストを考えてないのでは?」の念はあったのですが。中身がまったく不透明状態で飛び込んだらそうなるよなぁ、の好例かもしれません。誘われた時はわりと藁にも縋る思いだったのでしかたないね

これから

現在スキー場住み込みバイトしてます。無考えに退職すると年を越せないことに気づきました。

可処分所得可処分時間いずれも今の方が上なのはちょっとウケます賃金ふつうに生きていければいいので前職程度でも気にしなかった程度なんですが。いまは映画をみたり積ん読を消費したり、在職時は深いところまで触れなかったPHPをいじったり、生PHPしかやってないことに気づいたのでcakeやったり、あとはweb周辺も久しぶりにキャッチアップしたりしてます。nodeネイティブおじさんなのでFWはangularしか知らないんですよね。vue/nest面白そうな感じです。あと寮のwifi談話室限定で窒息しそうだったので、持ち込んでいたラズパイルータにして部屋まで飛ばしたら隣室の同僚から感謝されたりと活動は多岐に渡ります

先のことはなにも決まってませんが、ちゃんエンジニアリングしている組織で開発してみたいなという気持ちがありますレビュースクラムアジャイルなんてのはひとりだと不可能ですし。ですが、やはりそういった会社日本では都市部にばかり集中しているのでしょう。自分空気の悪いところには住めないし、案外また辺鄙なところでtechとは無関係のことをしているのかもしれません。ワーホリでも使って海外大麻栽培でも始めようかなぁ。

いかがでしたか

巷説に流布する「未経験からエンジニアへ」の言説のたぐいは、どちらかというと技術力よりもコミュ力が偏って高いタイプ生存しがちな雰囲気を感じます。たまにTLに流れてきたのを見かけますが、ああいった立ち回りは自分にはできないしやりたくないなぁと思ってきました。社会要請ならばそれまでですが。

自分は体系的な情報教育を受けていないどこにでもいる地方高卒で、下手の横好きで趣味プログラムを書いてきたし、続けてるってことはそれなりに好きなんだと思います。得意じゃないけど。んで、こんなのがITエンジニアをしたサンプルというのは見かけないかもなぁと思って投稿しました。光あるところに闇あり。

といいつつ、やっぱり好きなことの結果がおかねになるのはいいよなぁと思った次第です。プログラムを書くのは楽しいけどエンジニアリングは超絶むずい、が雑な総括ですが、今回のことを顛末次第にはする気はないので、どこかに拾ってもらえるよう精進するきもちになりました。

ぼくのポエムはこれでおしまい。じゃあね。

2019-03-07

[]2019年3月6日水曜日増田

時間記事文字数文字数平均文字数中央値
0011721254181.735
01627895127.331.5
02313333107.551
03274672173.039
0418144680.364
0520171986.060.5
06384700123.757
07333367102.043
0884723086.152.5
09102690967.735
1096881891.946
11114734164.442
12113883378.240
13757898105.329
1470441963.140.5
15123779363.442
16103843881.938
1711317209152.346
18105798176.032
19115746864.933
208810262116.643
2110610921103.046.5
2216717576105.240
2310113873137.438
1日202120135599.640

本日の急増単語 ()内の数字単語が含まれ記事

django(4), ソイ(4), 演劇部(4), 肉離れ(5), 吹奏楽部(8), 深夜営業(3), 騙し討ち(3), 吹奏楽(5), 曲がら(3), カリフォルニアロール(3), 男受け(3), デマ(22), 結婚相談所(6), モブ(7), タブ(6), 傘(6), トヨタ(5), AM(12), 婚活(26), PM(12), 電子書籍(11), パスワード(8), 中古(8), ゴーン(7), そうじゃない(6), 繊細(6), 通報(28), スペース(11), はてなー(17), 痛く(10), 同性(9), おもう(9), 許容(10), 出身(10), おる(10)

頻出トラックバック先(簡易)

吹奏楽部演劇部出身者は雇わないほうがいい /20190306020912(18), ■sing a songみたいなのが好き /20190305185608(14), ■使ってると頭悪そうに見える言葉 /20190306105134(14), ■ネトウヨがまず「普通の日本人」と自称する理由 /20190306131003(13), ■ /20190306020634(12), ■金のかからない旅行を教えてください /20190306134244(11), ■パンで始まってティーで終わる言葉 /20190306191019(8), ■派遣プログラマ認証機能作らせたら /20190306220159(8), ■結婚物語。が嫌いだ /20190306151701(8), ■電子書籍って何であんなに安いの? /20190306153058(7), ■彼氏に触りたい /20190305150322(6), ■インフルエンサーの妻がつらい /20190306130409(6), ■繊細な人間社会はどう扱うべきか /20190306194411(5), ■プログラマだけど技術自体は好きじゃない /20190306215612(5), ■控えめに言って滅びろ /20190304214607(5), ■恥も外聞も無しに書く。増田結婚してくれ /20190306225513(5), ■とっても!不倫がしたい /20190305123601(5), ■お札の肖像画になりたい /20190305202800(5), ■あるところに売れないマンガ家Bがおりました。 /20190305234144(5), ■雑談ハラスメントという言葉はまだないのだろうか /20190306002833(5), ■「バグ無限ループ作ったら逮捕されるぞ!」って煽ってるエンジニア /20190306094446(5), ■17歳のJKだけど、萌え袖ってかわいくない? /20190306101722(5), ■適応障害転職 /20190306111639(5), ■ /20190306115305(5), ■リツイートって意味あるの? /20190306123512(5), ■もう限界なので明日会社休む /20190306125348(5), ■表現の自由戦士が /20190306165200(5)

増田合計ブックマーク数 ()内の数字は1日の増減

6073911(1772)

2019-03-06

anond:20190306011719

無事に自己解決(消極的)したので供養しておく

hello django

しかチュートリアル的なやつから引っかかりポイントが沢山あるのは……なんだかなあ……

もうだめだ たすけてくれ

djangowebアプリherokuに突っ込んだけどデプロイ成功application errorで何もできなくなる

色々探して色々やったけど設定ファイルがぐちゃぐちゃになっただけ

herokuまで書いてあるチュートリアル通りに進めてみる

失敗

この辺でteratailで聞いてみる

そもそも何がわからないのかがわからないので答えがもらえるわけがなかった

俺にhello worldをさせてくれ……

2018-11-25

anond:20181125094534

趣味プログラマーだけど絶対pythonかそれに類するものRubyとかもいいかもしれない,あんまよく知らんけどdfndfn)

プログラミングをやり始めた当初はCから教えられた。競技プログラミングとかもC,C++しか昔使えなかった。

今は色んな言語に便利なフレームワークがあるし、増田職業でやってるんでなければpythonオススメ。てか当時もっとpython勢いあったらpythonから入ってただろうな。

やってくうちにフロントエンドとか、もっと計算機理論アルゴリズムとか自分のしたい方向性とか興味が出てくるからそれに従って楽しめばいいと思う。

GUIだってpythonだったらpyGobjectとかで簡単に実現できる。流行りのdeeplearningも割と敷居は低い。webframeworkはdjangoがある。

リバースエンジニアリングとかの本もあるし。

自分はCから入ったけど、結局CTF系の領域脆弱性を探すゲーム)か配布されているソースコードコンパイル関連(gentooのemergeとか)とかしか使わない。

多分仕事にしている人は、これがいいとか別なのがあるんだろうけど、似たような境遇なら参考になるかも

Django+mysqlデプロイするのに一番簡単サーバーサービスを教えてくり〜

さくらVPSなのか

herokuはporstage何ちゃらでdjango-mysql使えないかパス

2018-11-21

djangoって何を目指してるの

htmlの中で

{{form}}とかやると受け取ったformを展開できて非常に便利なのだ

例えばbootstrapなどを使いたいときclass指定とかするのに困る時がある。特にテキストフィールドなど。

これに対しform.pyなどで定義した自作form内のコンストラクタclass=form-controlを付与することで対応できるそうだ。

でもそれだと何のために見た目と中身を分けているの?html内の記述対応できないと一貫性がなくない?

現にdjango-bootstrap-toolkitみたいなのがあってbootstrap4で使えるかはわからないけど

{{form | class-format}}みたいな記述ができるみたいだ。こういう方向性を目指すべきだと思うのに、何故フォーム作成コンストラクタ対応しようとするのか。

2017-08-26

Rails ってそんなにいいか・・・

Rails を使ってはや10年。

Rails のことはかなりわかっている方だと思う。

だが、最近 Django (Pythonウェブフレームワーク)を使いはじめて、いままで苦労して Rails を使ってきた努力は何だったのだろうと思った。

Rails だとすぐアプリが開発できると人はいう。

それは嘘じゃない・・・だが大きな犠牲を払ってだ。

RailsRuby の柔軟さを利用(悪用)して、徹底的に Ruby 言語が改変されている。

DSL が多用されている。

要するに、「レール」を外れると、どうしたらいいのかすぐわからなくなるのだ。

から四六時中、フレームワークプラグインgem)のソースコードを解読しようと格闘する羽目になる。

その点 DjangoPython らしく、フレームワークは余計なことをしない。こちらが何かしないかぎり、何も起こらない。

すべては明示的(explicit)に行う必要がある。

明示的なものは暗黙的(implicit)なものよりよい、というPython、そして Django思想

なんという安心感だろうか。

しかRails のほうが開発に必要記述量は少なくなるかもしれない。だけど、わずかな記述量を節約したところで、見通しが悪くなったら元も子もないではないか

私は、本当に Rails 教に洗脳されていたんだな、といま感じている。そして、洗脳から解放され、いま、より広くて成熟した Python コミュニティに参加しようとしている。Ruby も悪くない言語だし、Rails もよいフレームワークだけど、もういいかな。これからPython と共に歩もう。

2017-07-28

anond:20170728162408

雰囲気で考えていいなら好きなの選びなよとしか言えないけど、

仕事として考えてるならF/Wとの組み合わせで考えないとだめだよ。

ベンチとか見てみろ。

自分(アーキテクトなポジション)はここ最近Java8+SpringMVC4 で開発してるが、

クリティカルだったりパフォーマンス要求される案件でもこの組み合わせは安心できる。

Pythonなんかは楽しそうな雰囲気はあるが業務系では Java+SpringMVC には遠く及ばないと自分は思う。今はね。

Django とかベンチマーク見る限り遅そうだしな。

2017-06-02

http://anond.hatelabo.jp/20170602182021

スクリプト言語として人気になったのは機械学習ブームが起因

htmlに埋め込むってMVCViewの話?それだったらdjangoテンプレートエンジンでも他のやつ既に確立されてるぞ

そうじゃなくてjsみたいに埋め込むっていう話?どっちみちお前は頭がおかし

ログイン ユーザー登録
ようこそ ゲスト さん