タグ

software-engineeringとqiitaに関するnabinnoのブックマーク (94)

  • 配慮のできないエンジニアとの付き合い方 - Qiita

    リモートワーク中ワイ ワイ「あーーー!!!」 ワイ「ストレスが溜まるんじゃ〜〜〜!!!」 ワイ「株式会社ゆめみで働くのは、ストレスが溜まるんじゃ〜〜〜!!!」 娘(7歳)「パパ、どうしたの?」 ワイ「いや、あのな?」 ワイ「パパの会社には、エンジニアが沢山おんねん」 娘「知ってるよ」 娘「社員の大半がエンジニアだもんね」 娘「200人以上いるよね」 ワイ「せやねん」 ワイ「そんで、エンジニアってのは、性格にクセのある奴が多いねん」 娘「へ〜」 娘「それで、何がストレスなの?」 ワイ「あのな?」 ズバズバ物を言うエンジニア ワイ「周囲への配慮をせずに、ズバズバ物を言う奴がおんねん」 ワイ「何人もおんねん」 ワイ「それで、周りの人たちは傷ついてると思うねん」 娘「なるほどね」 ワイ「そういうズバズバな奴らがムカつくねん」 ワイ「けしからんねん」 娘「でも、パパも昔はそんな感じだったよね」 娘「

    配慮のできないエンジニアとの付き合い方 - Qiita
    nabinno
    nabinno 2023/06/17
    ズバズバ言うエンジニアは一周回って配慮していると思うよ。HRTやっていたら会社が傾いた過去をもっていて、率先して泥を被るというケース。尊敬しているエンジニアはそのタイプ。
  • エンジニアのための刑事事件対策まとめ - Qiita

    こんにちは。モロと申します。 実は数年前警察のお世話になり、数年裁判等をやって、昨年晴れて無罪放免となったのですが、そういえばその後どこにも情報をまとめていなかったことに気が付きました。 正直にいうとまったく気の進まない作業ですし、数年間これにかかりきりだったこともあり「わざわざまとめなくても誰でも知ってることでは……?」みたいな気持ちもあります。 とはいえ冷静に考えると大抵の人は一生関わり合いになることのない知識で、お世話になった界隈に対して何も残さないのも不義理という感じがしたため遅ればせながら筆を執らせていただきます。 はじめに 当記事は、実際に警察のお世話になり、数年間弁護士の方にご指導いただきはしたものの、あくまで法律の専門家でも何でもない一エンジニア(というか多少エンジニアリングをかじったデザイナー)によるもので、第三者による監修等もなされていません。 実体験に基づいて少しでも

    エンジニアのための刑事事件対策まとめ - Qiita
  • 開発生産性について議論する前に知っておきたいこと - Qiita

    はじめに 事業としてソフトウェア開発を行う企業にとって、自分たちの開発チームの生産性が十分に高いのか、あるいはそうでないのかについては大きな関心があります。 そのこと自体は、何かを計測し、改善するというのは営利企業としては健全です。一方で、ソフトウェアエンジニアリングの世界で「生産性の高さ」だと主張できる汎用性の高い指標は存在しません。こういった状況の中で、「生産性」を巡る議論は経営やビジネス部門とエンジニアチームとの間で繰り広げられ、場合によっては大きな不和や不信感につながることも珍しいことではありません。 今回は、エンジニアの開発生産性について、さまざまなステークホルダーと議論する上で把握しておきたいさまざまな論点について解説します。それによって、「我々が当に議論すべきテーマは何か」についての共通認識をつくるための土台を構築することを目的としています。 もしかしたら改善したいことは「

    開発生産性について議論する前に知っておきたいこと - Qiita
  • エンジニアマネージャー必見:報酬設計の考え方 - Qiita

    エンジニアの採用はすごく難しい状況です。エンジニア採用ニーズが多いのに、エンジニアがやる仕事の内容も難しくなってきており、幅も広がってきています。CTO自らが真剣に向き合って考えていく必要があります。 そして、せっかく採用したエンジニアには、長く働いて欲しい、仲間として最高のパフォーマンスを出して欲しいと思います。そのため報酬設計は重要な部分となります。 報酬設計の2つの側面 1.外的報酬 外的報酬といえば、賃金、給与が先ず思い浮かびます。その他にはポジション、地位も報酬の一つと考えられるでしょう。部長や部長等の役職がつくと社外で名刺交換した時にも見栄えが良くなります。 他にも手当てや秘書がついたり、経費の枠が増えたりと色々とあると思います。 2.内的報酬 仕事そのものやりがい等です。楽しい仕事と思えていればやる気も湧いてくるし、難しいと思うとやり甲斐を感じる人もいます。エンジニアの場合

    エンジニアマネージャー必見:報酬設計の考え方 - Qiita
    nabinno
    nabinno 2022/11/27
    『職場学習論』を見るに、エンジニア職が他の職種よりも内的報酬が低いのはデフォルト。内的報酬を向上させる人材はそうそういないので外的報酬でカバーするしかない。それさえもできない現場は誰も寄りつかない。
  • 半角スペースの有無だけでサーバーをぶっ壊しそうになった話 - Qiita

    記事は「番環境でやらかしちゃった人 Advent Calendar 2021」24日目となります。 前提事項 事故を起こしたのは確か6年くらい前 サーバーのOSは確かCentOS6 諸事情でワンオペだった 当時の記憶を元にした再現であり多少盛ってるので細かいツッコミは勘弁してください 何をしてたか ~~~番環境作業中~~~ (手順書ナガメー) よし、次はファイルの移動か mvコマンド入力してカチャカチャカチャ…ッターン mv: cannot move /bin/ac to '/home/user/work_dir': Permission denied mv: cannot move /bin/aconnet to '/home/user/work_dir': Permission denied mv: cannot move /bin/addr2line to '/home/us

    半角スペースの有無だけでサーバーをぶっ壊しそうになった話 - Qiita
    nabinno
    nabinno 2021/12/27
    ワンオペでも、というかワンオペだからこそ作業前に作業ログを作ってから実作業に入らないのかな、手戻り前提で書かない? 作業ログ書かないのはサンドボックスとか消えても困らないプロジェクトくらい。
  • アルゴリズムの世界地図 - Qiita

    0. アルゴリズムとは? まず、アルゴリズムとは何かを説明します。(0 節の説明はスライド「50 分で学ぶアルゴリズム」 の説明を参考にして書きました) さて、次の問題を考えてみましょう。 問題: 1 + 2 + 3 + … + 100 の値を計算してください。 単純な方法として、式の通りに 1 つずつ足していく方法が考えられます。すると、以下の図のように答えが計算されることになります。 これで答え 5050 が正しく求まりました。これはれっきとした アルゴリズム であり、この問題を 99 回の足し算 で解いています。しかし、計算回数が多く、計算に時間がかかるのではないかと思った方もいると思います。 ここで、方法を変えて、「1 + 100」「2 + 99」「3 + 98」…「50 + 51」の合計を求めることで、1 + 2 + 3 + … + 100 の値を計算してみましょう。 50 個の

    アルゴリズムの世界地図 - Qiita
  • 【お詫び】弊社社員が投稿した「Qiita」記事について|株式会社ブレインパッド(BrainPad Inc.)

    エンジニアに関する知識を記録・共有するためのサービス「Qiita」にて、当社が実施しております「BrainPad Advent Calendar 2021」に関して、ご報告申し上げます。 弊社社員が年12月22日(水)に公開した記事(以下、記事)において、同社員が別の投稿者が先行して「Qiita」に掲載していた記事を参考に記事を執筆した結果、題材や探索手法等が先行記事と類似している箇所があることが判明いたしましたので、記事を削除いたしました。(現在、件に関する概要の記載とともに別の題材での代替記事の掲載を検討中です。) 【経緯】 件の経緯といたしましては、以下の通りです。 年12月23日(木)夜、記事を執筆した同社員が、Qiitaの読者より「内容が過去の別の記事と類似している」点について通知を受けました。この際、同社員にて適切な対応および謝罪等がなされないまま、同社員の判断

    【お詫び】弊社社員が投稿した「Qiita」記事について|株式会社ブレインパッド(BrainPad Inc.)
  • エンジニア200人に聞いて、業務委託単価表を作りました - Qiita

    ISSUEへ移動しました 診断機能の結果も元に単価表の精度をアップデートしています。購読してお待ちいただければと思います。 2022年度最新版はこちら こちらの単価表を元に単価診断機能を作りました 様々なご要望を受け、新たに単価診断機能を作成しました!質問形式で現時点での単価目安を診断することができます。改良に改良を重ねていくのでぜひ一度受けてもらえると嬉しいです! はじめに 私は「ISSUE」という副業プラットフォームを運営しているのですが、プラットフォームを構築する際にエンジニアの方々約200人とお話しました。そのヒアリング内容からエンジニア業務委託単価表を作成してみました。単価はこれから副業フリーランスとして活動しようという方々がよく悩むところだと思います。私もそうでした。またすでに業務委託をしている方もどのタイミングで単価を上げる交渉をすればいいかとても悩むものだと思います。そん

    エンジニア200人に聞いて、業務委託単価表を作りました - Qiita
  • https://cdn.qiita.com/assets/public/white_papers/2021-a4badb25578b5778eff675ab53089721.pdf

  • エンジニア白書2021 - Qiita

    エンジニア白書2021」を大公開 Qiita利用ユーザー約3,000名を対象に大規模アンケート調査を実施 ダウンロードはこちら 国内エンジニア動向把握として、Qiitaユーザー約3,000名を対象にアンケート調査を実施し、「エンジニア白書2021」として公開いたしました。 エンジニアに人気の開発言語や使用している技術をはじめ、働き方、転職時に重要視する項目や、副業に関する興味と転職意向の関係性など、エンジニアにまつわるトピックスを様々な角度から調査しました。 調査概要調査目的

  • 新人の方によく展開している有益な情報 - Qiita

    新人の方によく展開させていただいている有益な情報をまとめておきます。今後も展開することがあるかもしれないため情報をまとめております。 あらたな、有益な情報がありましたら、随時追加してまいります。 有益な記事・論文・書籍等を執筆・紹介していただいた皆様に感謝申し上げます。 ちなみに、記事に記載されている情報は、お困りごと・お悩みごとをお聞きしたとき・気づいたときに、そのお困りごとに対して参考になりそうなものだけを展開していました。この情報を一気に展開していたわけではございません。 コードリーディングについて [1]ソースコードを読むための技術 https://i.loveruby.net/ja/misc/readingcode.html [2]派生開発推進協議会 関西部会 スペックアウトチーム,「派生開発におけるスペックアウト手法の提案」,派生開発カンファレンス2015,2015 http

    新人の方によく展開している有益な情報 - Qiita
  • SIerで仕事やっていてよく見るコードと直し方 - デメテルの法則違反 - Qiita

    仕事やっていてよく見るアンチパターンをまとめていこうと思ってます。今回はデメテルの法則違反です。 コードはScalaですが、RubyPythonJavaでも基同じです。 トピックは以下。 違反したコード とりあえず直す とりあえず直したあとのテスト デメテルの法則に違反したコード デメテルの法則とは、「直接インスタンス化したもの」か「引数として渡されたもの」以外のものを使ってはいけないという法則です。 class Profile(name: String, age: Int) { def showProfile(): Unit = println(s"my name is $name (age: $age)") } class Applicant(id: String, val profile: Profile) object Order { // デメテルの法則に違反している de

    SIerで仕事やっていてよく見るコードと直し方 - デメテルの法則違反 - Qiita
  • 海外「なぜ日本はハードウェアの時代と同じようにソフトウェアに秀でることができない?」 - Qiita

    Why doesn’t Japan excel in software as they did in hardware? (なぜ日はハードウェアの時代と同じようにソフトウェアに秀でることができない?) という英語Quoraのやり取り、分析が興味深かったので、まとめ。 仮説1: 日は完璧を求める 10人のエンジニアのソフトウェア開発会社を経営しているフランス人の友人が、ルイ・ヴィトン日支社のコンピュータシステムのマネージャーと同意した話:ソフトウェアはハードウェアではなく、産業用でもない。50年間同じトヨタカローラのように構築され、洗練され、完成されたものではありません。ゼロバグでそれを「完璧」にすることは不可能であり、したがって、「ゼロデフォルト」という、総合的な品質、継続的な改善を求める日人の精神に反するものです。 日は職人の国であり、漢字を書いたり、折り紙を折ったりする技術

    海外「なぜ日本はハードウェアの時代と同じようにソフトウェアに秀でることができない?」 - Qiita
  • プログラミングスクールのメンターを辞めました - Qiita

    追記 2021/1/25 あとがきを追加しました。 概要 半年近くとあるプログラミングスクールでメンターをしていましたが、諸事情で辞めました。これは決してネガティブな理由でやめたわけではないのはお断りしておきます。半年間メンターをしてみて、SNSでの悪評なども踏まえた上でプログラミングスクールに通うという選択についてどう思うのか個人の意見として書きます。内容は鵜呑みにはせず参考程度に考えてもらえると幸いです。ちなみにこの記事はスクールの比較記事ではありません。なのでおすすめのスクール紹介等は一切ありません。 結論 最初に結論を述べておきますが、プログラミングスクールに通うという選択自体は悪くないです。ただし、どのスクールを選択するのか、スクールの利用の仕方、自身の考え方によってはお金の無駄になる場合があると思っています。ただ個人的にはスクールに通う必要性というものは全くなく、好きな時間に質

    プログラミングスクールのメンターを辞めました - Qiita
    nabinno
    nabinno 2020/12/27
    もし私が講師になるならまず検索方法、DDGのbang search等の習得から始め、仕入れた知識を体系化する方法を教えるかな。ここが出来れば後は勝手に自走するはず。
  • 開発チームの生産性・健全性を客観的に知るためにリポジトリ履歴から機械的に可視化するツールを作った - Qiita

    はじめに ソフトウェア開発のチームの生産性や健全性というものは、内部の体感的として理解できるものの、外部の人間からは見えにくいものです。こういった情報の非対称性は開発チーム外の人々との関係の中での問題の原因になってきました。 また、複数の開発チームやプロダクトを束ねるEM、CTOや、管理職にとってそれぞれの状況を客観的な数字やグラフで可視化することは、全体的な戦略を考える上でも重要な参考情報になります。ですが、アンケートやプロジェクト管理を増やすほど、どんどんと開発メンバーに負担をかけてしまうことになり、計測のし過ぎによる疲れなども誘発してしまいます。 稿では、gitリポジトリのログ情報から、いくつかのグラフを生成し、チームの状況を可視化するためのツールgilotを作成したので、その目的と意図、そして使い方、注意点を解説します。 アプローチ方法 gilotのアプローチは、git log

    開発チームの生産性・健全性を客観的に知るためにリポジトリ履歴から機械的に可視化するツールを作った - Qiita
  • [Doc] 要件定義書テンプレート・要件定義書の書き方 - Qiita

    下記ドキュメントバージョンに関する注意点です。 バージョン番号のルールを定める:バージョン番号は、どのようにつけるかルールを定め、チーム全員が同じ理解で使用するようにする必要があります。たとえば、変更内容によって数字がどのように増えるか(major, minor, patch)、何桁で表現するかなど、具体的に決めておくことが重要です。 変更履歴を明確にする:どのような変更があったのか、それがどのバージョンで実施されたのかを明確にすることが必要です。これにより、何らかの問題が発生した場合に、どのバージョンから問題があるのか特定することができます。 ドキュメントの保存場所を一元化する:ドキュメントのバージョン管理には、ドキュメントを保存する場所を一元化することが重要です。それにより、異なるバージョンのドキュメントが、複数の場所に分散してしまい、誤ったバージョンが使用されることを防ぐことができま

    [Doc] 要件定義書テンプレート・要件定義書の書き方 - Qiita
  • "技術的負債"論の道案内 - アーキテクチャの資本コストと情報の非対称性 - Qiita

    はじめに ソフトウェアと組織経営をめぐる問題で避けては通れないのが、「技術的負債」と言う言葉です。一般には、「早さ」を求めて構築されたシステムの構造的な課題が、徐々に蓄積し、債務であるように徐々に開発速度そのものを遅くして行くと言う現象のことを意味しているように捉えられます。 これは、技術組織を持つ経営者や、ソフトウェアエンジニアではない発注者にとっては理解しにくいものです。またソフトウェアエンジニアであっても「古くなってしまったコード」や「わかりにくコード」全般のことを技術的負債と呼び、それをもって何かを説明したかのように考えてしまうことはままあります。 これらに起因して、双方のコミュニケーションが破綻してしまうこともよく見られる景色です。 技術的負債の経済効果は毎年マイナス12兆円 このような構造的な問題をはらむ技術的負債は、老朽化したレガシーなシステムとして、事業の組織改革を遅らせて

    "技術的負債"論の道案内 - アーキテクチャの資本コストと情報の非対称性 - Qiita
  • ElixirのPipeに関する7のTips - Qiita

    はじめに Elixir の Pipe は処理の記述を簡潔にすることができる便利なマクロであり、比較的利用する場面は多いことと思います。 この記事では、そんな Pipe に関する、開発が楽しくなるかもしれないちょっとしたTipsを紹介します。 1. IO.inspect を挟んで値を出力 Pipe の途中に IO.inspect を挟み込む ことで、処理している途中の値をコンソールに表示させることができます。 IO.inspect は与えられた値をそのまま戻り値として返すので Pipe の前後の動作に影響を与えることもなく、デバッグ時に有用な方法と言えるでしょう。 defmodule Hoge do def do_something do 10 |> plus(7) |> IO.inspect() |> minus(2) end def plus(x, y), do: x + y def m

    ElixirのPipeに関する7のTips - Qiita
  • TIOBE Indexはあまり参考にすべきでない - Qiita

    プログラミング言語の人気度に関するランキングで著名なものに、TIOBE Programming Community Index(以下、TIOBE Indexと表記)があります。これについて完全に信用する程ナイーヴな人はそうそう居ないかと思いますが、それでもある程度参考になると思っている人はそれなりに居るように思います。 しかし、はっきり言うと、参考にするとしても極めて弱い(ここで弱い、というのは、ちょっとしたノイズで順位が変動するといった意味です)ですし、特定の言語のランクが(選択したキーワードの都合で)異様に低かったり高かったりといった事が容易に起きます。以下で、参考にすべきでない理由について説明します。 まず、TIOBE INDEXは公式に算出方法が公開されています。 それによると、検索エンジンに対して、クエリ

    TIOBE Indexはあまり参考にすべきでない - Qiita
  • 100万倍速いプログラムを書く - Qiita

    この記事はなんなの プログラミングを始めたばかりで高速化の大枠が全くわからず意味不明なことをしていた在学時、こんな資料があったら良かったのになあ、と思って書いたもの。 書いて、在学時研究室に押し付けた後紛失したと思われていたものが発掘されたもの。 要約 ライブラリがあるならそれを使う。 ライブラリが無ければ、ボトルネック部分を探してそこだけ高速な言語で書きなおすか、可能なら事前コンパイルする。 最初から全てを Low-Level な言語で書くと大変、でも結果のプログラムは速い。 以下の時間の計測ではインポートにかかる時間は除いています。 使用するもの Python(3系) Numba Scipy Line Profiler Fortran(gfortran) QUADPACK QUADPACK以外の導入方法の説明は色んな所にあるので各自でお願いします。上3つに関しては、個人的にはAnaco

    100万倍速いプログラムを書く - Qiita