katsuyukikun’s diary

とある天パーエンジニアのblog

python3.7(pip3)でscikit-learnをインストールしようとしたらエラった話

mac初期化して、綺麗さっぱり!

もう一度環境設定し直そうと思って機械学習系のライブラリ入れてたらなんかエラーになったのでログとして残しておこうかなと思います。

 

エラー内容

どういう動作をしていたかは以下です。

  • homebrewでpython3をインストール
  • pipでscikit-learnをインストトール
$ brew update # brewをインストールしていたので最新にした
$ brew doctor # 問題ないか確認
Your system is ready to brew.
$
$ pip3 install scikit-learn # scikit-learnをインストール
・・・エラー出る

エラー内容はこちら *長すぎるので一部省略

Collecting scikit-learn
  Downloading https://files.pythonhosted.org/packages/f5/2c/5edf2488897cad4fb8c4ace86369833552615bf264460ae4ef6e1f258982/scikit-learn-0.19.1.tar.gz (9.5MB)
    100% |████████████████████████████████| 9.5MB 2.4MB/s 
Building wheels for collected packages: scikit-learn
  Running setup.py bdist_wheel for scikit-learn ... error
  Complete output from command /usr/local/opt/python/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/0f/7pybjfq55vx60gjyjwbx4k0c0000gn/T/pip-install-73hi3d9o/scikit-learn/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /private/var/folders/0f/7pybjfq55vx60gjyjwbx4k0c0000gn/T/pip-wheel-9kivc9ej --python-tag cp37:
  Partial import of sklearn during the build process.
  blas_opt_info:
  blas_mkl_info:

  customize UnixCCompiler
    libraries mkl_rt not found in ['/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib', '/usr/local/lib', '/usr/lib']
    NOT AVAILABLE
  
  blis_info:
  customize UnixCCompiler
    libraries blis not found in ['/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib', '/usr/local/lib', '/usr/lib']
    NOT AVAILABLE
  
  ・略(customize UnixCCompilerのNOT AVAILABLE系のエラーが続く)
  ・
  ・
  
    FOUND:
      extra_compile_args = ['-msse3', '-I/System/Library/Frameworks/vecLib.framework/Headers']
      extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
      define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]
  
  running bdist_wheel

  ・略(色々buildしたりcopyしたりしたログが出力されていました)
  ・
  ・
  running build_clib
  customize UnixCCompiler
  #### ['clang', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-fno-common', '-dynamic', '-DNDEBUG', '-g', '-fwrapv', '-O3', '-Wall'] #######
  customize UnixCCompiler using build_clib

  ・略(色々buildしたりcopyしたりしたログが出力されていました)
  ・
  ・
  /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
  #warning "Using deprecated NumPy API, disable it by " \
   ^
  sklearn/cluster/_dbscan_inner.cpp:5960:21: error: no member named 'exc_type' in '_ts'
      *type = tstate->exc_type;
              ~~~~~~  ^
  sklearn/cluster/_dbscan_inner.cpp:5961:22: error: no member named 'exc_value' in '_ts'; did you mean 'curexc_value'?
      *value = tstate->exc_value;
                       ^~~~~~~~~
                       curexc_value

  ・略(error: no member named などのエラーが続く)
  ・
  ・

  sklearn/cluster/_dbscan_inner.cpp:6034:13: error: no member named 'exc_traceback' in '_ts'; did you mean 'curexc_traceback'?
      tstate->exc_traceback = local_tb;
              ^~~~~~~~~~~~~
              curexc_traceback
  /usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m/pystate.h:238:15: note: 'curexc_traceback' declared here
      PyObject *curexc_traceback;
                ^
  1 warning and 15 errors generated.
  In file included from sklearn/cluster/_dbscan_inner.cpp:514:
  In file included from /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
  In file included from /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
  In file included from /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:
  /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
  #warning "Using deprecated NumPy API, disable it by " \
   ^
  sklearn/cluster/_dbscan_inner.cpp:5960:21: error: no member named 'exc_type' in '_ts'
      *type = tstate->exc_type;
              ~~~~~~  ^
  sklearn/cluster/_dbscan_inner.cpp:5961:22: error: no member named 'exc_value' in '_ts'; did you mean 'curexc_value'?
      *value = tstate->exc_value;
                       ^~~~~~~~~
                       curexc_value

  ・略(error: no member named などのエラーが続く)
  ・
  ・

  /usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m/pystate.h:238:15: note: 'curexc_traceback' declared here
      PyObject *curexc_traceback;
                ^
  1 warning and 15 errors generated.
  error: Command "clang++ -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -I/usr/local/lib/python3.7/site-packages/numpy/core/include -I/usr/local/lib/python3.7/site-packages/numpy/core/include -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c sklearn/cluster/_dbscan_inner.cpp -o build/temp.macosx-10.13-x86_64-3.7/sklearn/cluster/_dbscan_inner.o -MMD -MF build/temp.macosx-10.13-x86_64-3.7/sklearn/cluster/_dbscan_inner.o.d" failed with exit status 1
  
  ----------------------------------------
  Failed building wheel for scikit-learn
  Running setup.py clean for scikit-learn
Failed to build scikit-learn
Installing collected packages: scikit-learn
  Running setup.py install for scikit-learn ... error
    Complete output from command /usr/local/opt/python/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/0f/7pybjfq55vx60gjyjwbx4k0c0000gn/T/pip-install-73hi3d9o/scikit-learn/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/0f/7pybjfq55vx60gjyjwbx4k0c0000gn/T/pip-record-wgjf7j3u/install-record.txt --single-version-externally-managed --compile:
    Partial import of sklearn during the build process.
    blas_opt_info:
    blas_mkl_info:
    customize UnixCCompiler
      libraries mkl_rt not found in ['/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib', '/usr/local/lib', '/usr/lib']
      NOT AVAILABLE
    
    blis_info:
    customize UnixCCompiler
      libraries blis not found in ['/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib', '/usr/local/lib', '/usr/lib']
      NOT AVAILABLE
    
  ・略(customize UnixCCompilerのNOT AVAILABLE系のエラーが続く)
  ・
  ・
    
      FOUND:
        extra_compile_args = ['-msse3', '-I/System/Library/Frameworks/vecLib.framework/Headers']
        extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
        define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]
    
    running install
    running build
  ・略(色々buildしたりcopyしたりしたログが出力されていました)
  ・
  ・
    customize UnixCCompiler
    #### ['clang', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-fno-common', '-dynamic', '-DNDEBUG', '-g', '-fwrapv', '-O3', '-Wall'] #######
    customize UnixCCompiler using build_clib
    building 'libsvm-skl' library
    compiling C++ sources
    C compiler: clang++ -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall
    
    creating build/temp.macosx-10.13-x86_64-3.7
    creating build/temp.macosx-10.13-x86_64-3.7/sklearn
    creating build/temp.macosx-10.13-x86_64-3.7/sklearn/svm
    creating build/temp.macosx-10.13-x86_64-3.7/sklearn/svm/src
    creating build/temp.macosx-10.13-x86_64-3.7/sklearn/svm/src/libsvm
    compile options: '-I/usr/local/lib/python3.7/site-packages/numpy/core/include -c'
    clang++: sklearn/svm/src/libsvm/libsvm_template.cpp
    ar: adding 1 object files to build/temp.macosx-10.13-x86_64-3.7/liblibsvm-skl.a
    ranlib:@ build/temp.macosx-10.13-x86_64-3.7/liblibsvm-skl.a
    running build_ext
    customize UnixCCompiler
    customize UnixCCompiler using build_ext
    customize UnixCCompiler
    #### ['clang', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-fno-common', '-dynamic', '-DNDEBUG', '-g', '-fwrapv', '-O3', '-Wall'] #######
    customize UnixCCompiler using build_ext
    building 'sklearn.__check_build._check_build' extension
    compiling C sources
    C compiler: clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall
    
    creating build/temp.macosx-10.13-x86_64-3.7/sklearn/__check_build
    compile options: '-I/usr/local/lib/python3.7/site-packages/numpy/core/include -I/usr/local/lib/python3.7/site-packages/numpy/core/include -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c'
    clang: sklearn/__check_build/_check_build.c
    clang -bundle -undefined dynamic_lookup build/temp.macosx-10.13-x86_64-3.7/sklearn/__check_build/_check_build.o -L/usr/local/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/sqlite/lib -Lbuild/temp.macosx-10.13-x86_64-3.7 -o build/lib.macosx-10.13-x86_64-3.7/sklearn/__check_build/_check_build.cpython-37m-darwin.so
    building 'sklearn.cluster._dbscan_inner' extension
    compiling C++ sources
    C compiler: clang++ -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall
    
    creating build/temp.macosx-10.13-x86_64-3.7/sklearn/cluster
    compile options: '-I/usr/local/lib/python3.7/site-packages/numpy/core/include -I/usr/local/lib/python3.7/site-packages/numpy/core/include -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c'
    clang++: sklearn/cluster/_dbscan_inner.cpp
    In file included from sklearn/cluster/_dbscan_inner.cpp:514:
    In file included from /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
    In file included from /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
    In file included from /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:
    /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
    #warning "Using deprecated NumPy API, disable it by " \
     ^
    sklearn/cluster/_dbscan_inner.cpp:5960:21: error: no member named 'exc_type' in '_ts'
        *type = tstate->exc_type;
                ~~~~~~  ^
    sklearn/cluster/_dbscan_inner.cpp:5961:22: error: no member named 'exc_value' in '_ts'; did you mean 'curexc_value'?
        *value = tstate->exc_value;
                         ^~~~~~~~~
                         curexc_value
  ・略(error: no member named などのエラーが続く)
  ・
  ・
    /usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m/pystate.h:238:15: note: 'curexc_traceback' declared here
        PyObject *curexc_traceback;
                  ^
    1 warning and 15 errors generated.
    In file included from sklearn/cluster/_dbscan_inner.cpp:514:
    In file included from /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
    In file included from /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
    In file included from /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:
    /usr/local/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
    #warning "Using deprecated NumPy API, disable it by " \
     ^
    sklearn/cluster/_dbscan_inner.cpp:5960:21: error: no member named 'exc_type' in '_ts'
        *type = tstate->exc_type;
                ~~~~~~  ^
    sklearn/cluster/_dbscan_inner.cpp:5961:22: error: no member named 'exc_value' in '_ts'; did you mean 'curexc_value'?
        *value = tstate->exc_value;
                         ^~~~~~~~~
                         curexc_value
  ・略(error: no member named などのエラーが続く)
  ・
  ・
    /usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m/pystate.h:238:15: note: 'curexc_traceback' declared here
        PyObject *curexc_traceback;
                  ^
    1 warning and 15 errors generated.
    error: Command "clang++ -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -I/usr/local/lib/python3.7/site-packages/numpy/core/include -I/usr/local/lib/python3.7/site-packages/numpy/core/include -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c sklearn/cluster/_dbscan_inner.cpp -o build/temp.macosx-10.13-x86_64-3.7/sklearn/cluster/_dbscan_inner.o -MMD -MF build/temp.macosx-10.13-x86_64-3.7/sklearn/cluster/_dbscan_inner.o.d" failed with exit status 1
    
    ----------------------------------------
Command "/usr/local/opt/python/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/0f/7pybjfq55vx60gjyjwbx4k0c0000gn/T/pip-install-73hi3d9o/scikit-learn/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/0f/7pybjfq55vx60gjyjwbx4k0c0000gn/T/pip-record-wgjf7j3u/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/0f/7pybjfq55vx60gjyjwbx4k0c0000gn/T/pip-install-73hi3d9o/scikit-learn/

対処方法

調べてみたところ一昨日くらいに修正されマージされていたみたい。 なので最新のをインストールすれば良い。 brewに反映されるまで1ヶ月くらいかかるということなので、(8月には治っているかな?)それまでpythonのバージョンを下げれば インストールできるよとのこと!(本当かどうかは試していないのでわかりませんが・・)

Note that you would need Cython >=0.27.3 to compile it..

ということなのでCythonをインストールしてからdevの最新を入れたら通りました!

$ pip3 install Cython
$ pip3 install https://github.com/scikit-learn/scikit-learn/archive/master.zip
Successfully built scikit-learn
Installing collected packages: scikit-learn
Successfully installed scikit-learn-0.20.dev0
$

転職して1週間が経ちました!

7月入社ということで現在、新しい環境で働き始めています!
 
結論、特に何もしていないという状態ww
 
ではこの一週間、どう過ごしてきたのかを具体的なことも含め、振り返ってみます。
あとで自分で見返したり、もしくは初めて転職する人へこういうケースもあるらしいということをリアルに感じていただければと思います笑。 
 
******************************
 
7/2
初日!
9:00くらいに出社。
部屋に集まり、労務関係やセキュリティ関係の話を聞きました。
大学の講義みたいな感じをイメージしていただければ近いと思います。
18:00前にガイダンスは終了。
その流れで担当する部署に行き、顔合わせして終了のはずが僕だけ未配属ww
厳密にいうともともと配属される部署だったとこと、新たにできた部署があるらしくどっちが良い?と聞かれ、考えておきますといって1日目が終了しました。
 
 
7/3
未配属のまま2日目がスタート。
とりあえずエンジニアの方々に最初は自己紹介をツール上に書いたり、PCセッティングしたりしていました。
サービスが多いので各種サービスのビジネスモデルやらなんやらを確認したあと、使うツールが多くなったのでそれらの軽いキャッチアップ。
その後、各事業部長の人と話す。そしてどの部署にいくかを悩み、最終的に新しくできるところへいくことに決めました。
 
 
7/4
配属先は決まったが具体的に何をするのかは全く決まっていませんでした。なのでとりあえず勝手に配属される部署のgithubをみて、どういう技術セットが必要なのかを洗い出し、足りていないもののキャッチアップしておくことにしました。
 
・Docker
・Vue
・Rails5.2
・Groonga
 
そんなにがっつり触ったことがなかったので復習も込めてdockerからチューリアルやってみたりして終了。
 
 
7/5
昨日触ったdockerを結構いじれるようになったので、dockerの知識をより深くするために細かく調べながらdocker上にvueとrailsの簡単なアプリを実装することに決めました。
 
完成した頃には夕方になっていたので帰宅しました。
 
 
7/6
昨日の続き。
dockerの理解は深まったもののvueの理解を深めることまではできなかったので追加機能を作ってvueの知識を深くしていきました。
また部署の戦略がslackで共有されたのでそれをみて達成目標の確認と現状を確認しておきました。
 
Groongaをやっていないことに気がつき調べた。触って見たい気持ちもあり、昨日の機能として加えることにしたのですが、、昨日作ったものをローカルのみにおいておいたら全て消してしまったwww
 
仕方ないのでGroongaは触らずに知識のみをつけることにした。
 
配属部署のメンバーと来週から何をするのかざっくり話をして終了しました。
 
***************************************
 
 
全く何もしないで一週間が終わってしまっていますww
ただdockerやvueの理解がめちゃ深まって、もはやガンガン実装できるレベルなのでそこは個人的には意味ある時間になって良かったです。
 
 
それにしても自分で何か見つけて自走できる力身につけておいて良かったです笑。そこだけは前職に感謝した一週間だったと思います。
 
 
来週からはまだざっくりですが、ようやく始動できるのでガンガン進めていきたいですなー。
 
 
 
終わり。

筋トレ日記1

もう20代後半になったこともあり、体型を維持したいなという思いから筋トレをしようと思いました。

まあ以前から筋トレ熱が出てきたときにやろうとは思っていたのですがあまり続かず。

ただ今回まだ3ヶ月程度しか経っていないのですが、続いているのでついでにそのことを書いていこうかなと思います。

 

以前

筋トレするならやはりジムに行くのが一番ということで24時間やっているフィットネスジムに入門しました。

 

最初はちゃんと通ってました。

 

1ヶ月くらいは頑張れたのですが、それ以降続きませんでした。

 

特に雨降っている時とか前日飲んだ時とか、、そもそもジムに行くのがめんどくさくなってしまいました。

 

そのめんどくさいが続き、いつの間にか通うことが意識から消えていました。

 

熱が再発

5月くらいに健康診断に行きました。体重が増えていて結構ショックを受けました。

 

「体を鍛えよう」

 

再度筋トレ熱が再発したので体を鍛えることにしました。

 

考えたこと

以前失敗した原因はたったひとつ

  • めんどくさくなる

 

なので今回はこれが発生しないようになんとかせねばと思いました。

考える上でそもそも何がめんどくさいと感じるのかを洗い出しました。

 

その結果、僕の場合は以下のことが考えられました。

  • 着替えるのがめんどくさい
  • コンタクトレンズ入れるのがめんどくさい
  • ジムまで行くのがめんどくさい

これを全て発生しないようにしました。

 

縄跳び

めんどくさいで洗い出した中で「ジムまで行くのがめんどい」というのが一番の原因だと思ってそこを解決しようと思いました。

 

ググったら「縄跳び」が出てきたので縄跳びを購入。

 

やってみました。

 

夜、マンション内の敷地で飛んでいました。

 

これも続かず1ヶ月くらいしか続きませんでした。

 

自重トレーニング

ジムに行くのがめんどいのではなく、外に出るのがめんどいのでは?と思いました。

 

家でやれればめんどくさい部分すべて潰せる!と思い、ググってみたら「自重トレーニング」というのがあったのでそれで鍛えるようにしました。

 

 

これで”やらない理由”を潰すことに成功しました。

 

ネガティブな面を潰したので次はポジティブな面を促そうと思いました。

 

体型維持だと目標がふんわりしていたので、なりたいマッチョ像を画像で検索しその体型に近づけるために何をするのかというように考えるようにしました。

そのほうがやっていて楽しくなりましたね笑。

 

また僕は朝シャワーを浴びるとその日1日が充実したものになることはわかっていたので目覚し時計を2つ購入。

 

枕元に1つ、お風呂場付近にもう1つ置きました。これで朝、鳴っているのを止めに起きそのついでにシャワーを浴びるという導線にしました。

 

これで今現在もしっかり続けられています。

 

筋トレしてて思ったこと

自重トレーニングをしていく中で「正しいフォームで行う」ことが一番重要というのがググっているとわかりました。

 

なので正しいフォームでやろうとするのですが

 

できない

 

できないというより、思った箇所を鍛えられていなさそうな感じがしていました。

 

腕立てやっても胸筋以上に腕がきつくなって続かないし、腹筋ローラーやっても腹筋以上に二の腕痛くなるし。

 

 

ただそれでも少しずつ続けていたら、1ヶ月くらいでちゃんと胸筋と腹筋が筋肉痛になりました笑。

 

基本姿勢・体勢でやるのにもある程度筋肉が必要だったんですねwww

 

これからも頑張ります。

 

 

終わり。

 

 

 

 

 

 

某HR Tech企業を退職しました。

退職エントリというものを書いてみる事にしました。

 

2015年4月に新卒として入社し未経験でありながらエンジニア職につき無我夢中で走った3年数ヶ月に終止符をうちました。

 

やっていたこと

railsを使ったバックエンドの開発やreact、reduxでのフロント開発、GMOクラウドからAWSへDB含めた全サーバーの移行などフロントからインフラまでと幅広く従事していました。またサービス内の新規機能の企画やサイト内での一連の流れ・全体を通したUX体験の向上など開発以外のことも積極的に関わらせていただきました。

 

やめた理由

そこまで深い理由ではないです、、結構軽いです。

  • 一度の人生なのでいろんな組織や働き方を経験してみたいなという好奇心
  • 会社の戦略がみえず、自分たちがどこに向かっているのかわからなくなった

もちろん年収に対する若干の不安や技術を学べる環境ではないことへの違和感などはありました。ただ、ではそれらが解消されたら退職しないのか言われるとそうではないのでここでは省いています。

 

もう少し深掘り

いろんな組織や働き方を経験してみたい

なぜそんなこと考えるようになったの?それがしたいのはなぜ?と言われると困ります。本当になんとなくなのでw。まあそれっぽいこと言うと世間的に転職というもののハードルが下がっていたり、自分の周りや本などでそういう経験をした人が多かった事により自然と染まっていたのかもしれません。

フリーランスになる選択肢もありますが、一つの目標に対して全員で本気でコミットするという状態が好きだったので候補として考えていませんでした。ただそういう働き方もあるので副業という形で、夜や週末にできる開発案件などは請けさせていただいております。

徐々にこういう幅を広げられたらなと思っていますので何かあれば教えて欲しいです笑。

 

どこに向かっているのかわからなくなった

以前いた会社は全従業員で40人くらいの規模の会社でした。会社のビジョンに対して全員が共感しており、それを実現するべく日々を過ごしていました。いや、過ごしている風でした。また社内の雰囲気も和気藹々としており、意見も通しやすいので居心地としては悪くない環境だったなと思っています。

ただ個人的にはそのビジョンを実現するために経営陣がどういう階段を現状だと描いているのか、しいてはその会社の存在価値(ユーザーに提供できるその会社ならではの価値)はxxxでそのために現状こういうサービス展開をしているという考えがあっても良かったなと思っています。もしくはそれのたたきとなるような簡単な概要とかでもよかったと思います。

 

まあこれは人によると思います。ただ個人的には自分がどうしたいのか、どうなりたいのかがちょっとずつ見えてくるようになっている状態だったので、そういう戦略がないと「なぜ自分がこの会社にいるのか」という問いに答えられなくなるタイプみたいです。

 

心残りなこと

ちょっと心残りなことがあるので次の場所では進め方に注意しようという戒めも込めて。

  • テスト自動化、TDDの導入
  • railsアップデート

どれもできなかったことです。

テスト自動化、TDDの導入

プロダクトや新規機能を最速でリリースしようみたいな雰囲気が強すぎるがゆえに、「テスト?そんなもん書く必要あったら別の機能実装しようぜ」という感じでした。ただもう何年もやっているサービスなので短期施策と呼んでいた細かい改善だけだとサービスとしてグロースさせることは不可能な状態でした。

そこでサービスのあり方や導線から改善していく長期施策と呼んでいた改善をするようになっていきました。その時のリリース直前は最終的に結構な時間をかけてモンキーテストしてバグがないかをしっかり確認してから反映という形式になっていました。

流石にこれ、毎回全て見てらんないし、時間の無駄だからということでテストの導入を試みましたが・・・主要な箇所のテストはできましたがまだまだ書いておくべきことが残ったまま去ることになりました。

20%ルール的に対処していたのですが、そうではなく新規開発の時はちゃんと書くということやむしろ1つのプロジェクトにしてしまうということもした方がよかったなと思っています。

なので次から、最終的にどういうことが達成すればゴールなのか、そのためにどういう手順で進めるのか、これをすることで定量的にどのくらい良い影響があるのかを明確にしようと思っています。

 

railsアップデート

本当は5.2にしてから去りたかったんですがが、5.1.6にして去ることになりました。 

まあこれもテストのときはかなり大変でしたwリリースノートに書いてること網羅しているはずなのに実は昔のコードが悪さしていてバグっている・・・とか結構あって笑。

 

僕が入社した時、rails3.2とかだったのを毎年暇みては少しずつ上げて行って最終的に5系までテストなしで運用レベルまで持っていくという経験、、もうこれからしないのではないかと思っていますwww

 

次からはrailsのドキュメント読み込むことを徹底しようと思いました。またどの言語やフレームワークも基本的にドキュメントは用意されているのでそこはしっかり読み、手を動かすということを必ずして理解を深めようと思いました。

これから

規模的には大きめの会社にいきます。なので

  • サービスを伸ばすために何ができるのかを考え、周りを巻き込みながら実行する
  • 今まで以上に専門性を高める
  • その高めた専門性を周りに共有し、組織の底上げをする
  • 興味を持ったタイミングでチームビルディングやマネジメントのスキルを身につける

ということはmustでやります。

同時に

  • 副業で自分の価値を高める
  • 投資でお金がお金を生む状態を作る

ということをやっていこうかなと思っています。

 

まとめ

以前の会社ではいろんなことを経験させていただくことができたので感謝しています。

僕が入社した時は20人もいなかったのに徐々に人も増え、マザーズ上場や東証一部上場という貴重な体験をさせていただきました。興味を持ったことに対して報告していれば勝手にやったりしても何も言われない環境もよかったです。

以前の会社は、これから!って時だったと思うので応援したいと思います。また僕は僕で自分の興味あることをやって満喫したいと思います。

 

今後、転職を考えている人たちへ

無責任に絶対転職した方が良いなどと言うつもりはないです。転職する方が良い人もいれば、そのまま残り続ける方が幸せな人もいますので。

ただ、もし少しでも頭に転職のことがずっとちらついているならとりあえずwantedlyや最近ではyentaというサービスもあるのでそういうものを通していろんな人に会って話を聞いたり、話をしたりするのが良いと思います。

また自分がどういうことをしていたいのか、自分がこれからずっと大事にしていきたいことはなにか洗い出すこともしていいと思います。(ちなみにこれは”今”という単位で考えた方が良いです、どうせ変化していくので笑。逆に変化しないものがあるならそれはその人の”本質”だと思います。)

 

そこまでしたけど企業とか多すぎでわからんって人は。。これが良いのか悪いのかはさておき転職サービスに登録したり、人材紹介に行って求人を出してもらったりしましょう。その中でとりあえず給料良くて福利厚生が今より良さそう企業の面接に実際行ってみたりするのも良いかもしれません。面接の中で自分が本当にやりたいこととかが見えてきたり固まってきたりすることもあります。

 

 一度の人生なので自分の思うようにいきていきたいですね!

 

 

 

終わり。

 

 

 

考え方の引き出しが増えた話。

久しぶりの投稿になります。

 

ふぅー、大変な一ヶ月でした!

まだ交渉が完全に終わっていませんので再び投稿するの時間空きそうですが、、一通り終わったらブログに綴っていこうかなと思います。

題名は「転職活動日記」とでもしますw(なんの交渉だったのかなどはまあ、、察してください笑)

 

今回ですが、最近事業をどうグロースさせていくのかということをいろいろ考えていたのですが、そのなかでとても大切な視点なのではないかと思ったのでそれについて書いていきたいと思います。

 

この本が参考になりました!

 

戦略PR 世の中を動かす新しい6つの法則

戦略PR 世の中を動かす新しい6つの法則

 

 

PRとは?

全く知らなかったのですが、Public Relationsの略称です。英語に直すとイメージしやすいと思います。要するに、組織や企業がいかにして世の中とうまくやっていくのか、そのための戦略やノウハウのことです。広告枠買ったりとかではないらしいです。

この意味であればPRという行為は個人的に健全な考え方だと納得しました。世の中にどういう価値を届けたいのか、そのためにどういう行動をとってもらうのか、そのために情報の信憑性・鮮度を保ったままいかに伝えていくのか、こういった概念自体サービスをやるならもっておいたほうが良いものです。

先ほどの本ではもう一歩踏み込んでいます。それはPR、マーケティングとはそもそも「人々の行動を変化させるためのもの」。PRを通して今までの行動を改めたり、はたまた新たな気づきを与えてその方向へ行動させる。そういうことが本来の役目と綴ってありました。

 

こういう考え自体持っていなかったのでなんとなく新たな視点というか考えを知ることができたと思いました。

 

個人的に考えたこと

先ほどのことをもとに今の自分の行動を振り返ってみると、そういう視点で物事を考えてこなかったのでサービスをグロースさせるときの考え方の引き出しが増えました!

 

・人は24時間という軸で活動している。とすれば、「人の行動を変化させることが大事」ということのはつまり「今まで他に使っていた時間をそのサービスのためにつかってもらう、他の時間をこちらの時間としてリプレイスさせること」と同義です。そう考えると今行っているサービスがどうあるべきなのかがイメージしやすいです。ぱっと思いつくのでも2つ。「いわゆる隙間時間、なんとなく暇なときにみるtwitterの時間とリプレイスさせる!」とか「ツールのように意思をもって使う時間をリプレイスさせる」とか。

 

・事業で以上利益を出さないといけない。お金も同じことが言える。他に使っていたお金をいかにこちらにつかってもらうか・リプレイスさせるか

 

この2つの考え方が腹落ちしたとき今までぼんやりとしかなかった方向性が、どういう戦略で攻めるべきなのか、そもそもどこを狙うのか明確化されました。

 

まとめ

マーケティングとは「人の行動を変えること」。

その結果、ユーザーの行動を変化させサービスを使ってもらうということは「今まで他に使っていた時間・お金をリプレイスさせること」。

そんな視点で事業を見つめ直したり、新たに考えてみたりするとまたひとつ面白い発想ができるかもしれません。

 

 

おわり。

 

 

 

 

 

 

 

初参加!お題の沼について

今週のお題「私の沼」

 

沼?ってなんぞやと思ったが、

アイドル、演劇、自転車、アニメ、カメラ……。なかなか抜け出せそうにない、ハマっていること(=沼)はありますか?

 ということ。本当に沼の話だったらなかなか書くことない気がします笑

 

ハマっていること

ここ1~2年はボルダリングですかね!

 

f:id:katsuyukikun:20170525222240p:plain

 

初めた理由

会社の先輩に「ボルダリングやらない?」と誘われたのがきっかけです。社会人1年目の時半年間で体重が13kg増えまして・・・運動しなきゃなと思っていたところにこういう誘いがあったので二つ返事でokしました。

 

やってみて〜最初〜

靴と手の滑り止めはレンタルできたのでレンタルしました。注意事項などがまとめられたDVDを10分程度見ていざ実践へ。

 

初級編ですら結構登れないことに愕然としました。しかも1時間くらいでもう握力と腕に力が入らなくなり帰宅ww

 

初級のなかの中盤までしかできなかったのを鮮明に覚えています。

 

やってみて〜中盤〜

意外と二回目以降は体の使い方を覚えてスイスイ行けました!

結構登れましたね。。。。

 

ただ登る斜面が鋭角になればなるほどどこに力入れるんだ?状態でした。

そして握力無くなったら帰宅という感じでしたね。

 

やってみて〜終盤〜

久しぶりに「やりたい!」と思ってお店に行ったら、閉店してました(T ^ T)笑

 

 

ボルダリングの楽しさ

これはあくまで個人的な感想ですが・・・

「体を使う以上に頭を使ってどう進めばゴールできるのか、その可能性が高いのかをイメージしそれを記憶してそのイメージ通りに体を動かす」

というのが非常に楽しかったですな。

そして登れないなら登れないで今のはなぜダメだったのか、そもそもそのイメージ通りの動きをする体ではないのか、ということはここは足入れないとダメか・・・と次に活かすための思考を巡らせる過程も楽しかったです。

いわゆるPDCAというのをめちゃくちゃ回して成功させるって感じですね。

 

 

社会人1年目に人にPDCAの回し方という体でやってみるのも面白いかもですね。

あとは筋トレ!!

 

筋トレが最強のソリューションである マッチョ社長が教える究極の悩み解決法

筋トレが最強のソリューションである マッチョ社長が教える究極の悩み解決法

 

 

 

仕事の進め方を学び加えてメンタルも鍛えて、一流のビジネスマンになりましょwww

 

 

 

終わり。

 

本気ですか?覚悟はありますか?

最近結構な頻度でそういう思考になっているような気がしているのでここらへんで一回発散させておきます笑。

 

あっ、ちなみに俗にいう意識高い系のエモい話っぽく聞こえるかもしれませんw

 

どのレベルなのか認識できているか

ベンチャー企業に勤めているひととかに話を聞くと「世界規模でビシネスをするんだ!」などと志が高い目標が結構出てきます。

このこと自体はすごくいいことだと思います!!目標を持ち一歩ずつそこに向かって全力で向かうことが達成するためには必要なことなので。

ただ今、現状の自分がどのレベルにいるのかというのを客観視できているのかというのは別問題です。

 

そりゃいろんな人がいるので自分よりも”できない人”だなと感じることもあると思います。そういう経験がなまじあるから「やってるつもり」「目標をめざして頑張っているつもり」になっている感覚に陥ってしまうような気がしています。

あとは、あれか・・SNSみたいなものがあるのでなんか知らないけど自分ってすごい、認められている、という感じを得やすいのかもしれないですね。

 

 

まあなんというか大きな目標を口にはするが実際のところ、現状の自分に満足してしまっているのかなと・・どこか楽をしたいなという甘えから環境を変えていく努力までもしないのかなと思います。

 

近くに凄い人がいたり、同じ土俵に立っていたりするとレベルの差というのを肌で感じ、否応なしに今の自分を認識できるんですけどね。。もしそういう環境がないなら作りにいくしかないかなとも思います。

 

 

覚悟はあるか

結局はここに落ち着くんですけどね笑。

一度でもいわゆる客観的にトップクラスだよねと認められる経験をしたことのある人なら理解できると思います。(いうて僕も高校のとき野球でスカウトもらうくらい毎日死ぬ気で考えながら部活動やってました)

誰よりもそのことを考え続け、毎日努力し、なにが起ころうとひたすら高みを目指して走り続ける。これをしたって成ることは確実ではない世界です。

 

ビジネスもそうかなと思います。ただやっかいなのがスポーツのようになにが勝ちでなにが負けなのかというのもいまいちはっきりしない分野です。

だからこそ今までやってきたことや経験に固執しすぎてしまい、多様な価値観を受け入れられず成長が止まるということが起こるのだと思います。

 

 

なのでやっぱり常に考えて欲しいと思うことは

「自分はどのレベルで戦いたいと思っているのか、そして今どこで戦っているのか、そして今の自分にはなにが足りていないのか、なにが必要なのか」

 

自己認知ですね。

 

そのためにも周りからの声には耳を傾け、謙虚に貪欲に成長する精神を養うとともにチームとして組織として現状に満足せずに目指したいレベルに向かって走れるための当事者意識というのは大切だなと思いました。

 

   f:id:katsuyukikun:20170518025725j:plain

 

 

言葉でこの感覚を伝えるのって難しいですよね、どういったらこの緊迫感のような焦りのようなものがお腹の底から湧き上がってくる感覚を表現できるのか。

アウトプットしていく中で見つけていけられるといいなと思っているしだいです。

 

 

 

終わり。