PyCon Taiwan
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 巨大保護傘下的 Python 碼農辛酸史 - Kir Chou {%hackmd DR5p-QuLTwylJM8bYjJp1Q %} Slide: https://bit.ly/2Jwn8oE ## 保護傘 - 大公司: 可能讓員工無法發揮所長 ## 關於我 - [LinkedIn](https://jp.linkedin.com/in/kirchou) - [stack overflow](https://stackoverflow.com/users/2740386/kir-chou) - [Github](https://github.com/note35) ## 如何進大公司? - How to get into them? - what are them doing? ## 演講主要議題 讓想進大公司的人參考PYTHON的應用,與給予面試官一些面試PYTHON一些想法。 ## 大綱 - 3 種台灣產業 - 3 種 Python 能力水準 - Python 在大公司的使用情形 - 個人經驗想法 ## 三種產業 - 半導體產業 - IC Design House (IC設計公司) - OEM(Original Equipment Manufacturer / ODM(Original Design Manufacturer),就是代工廠 - 普通軟體公司 - RD < 1000人 - Software Developer 為主 - 巨型軟體公司(巨大保護傘) - RD > 1000人 - 各種人都有 ## 為什麼他們用 Python? ### 半導體產業 - 討厭 Perl(X) 轉換成 Python(O) - 作為腳本語言使用 - 驗證、EDA工具 (RD) - 整合測試 (QA) - 自動化 (DevOps) - 資料分析 (Data Scientist) - 比較像處理後端事務,不是用來做產品 - 普遍的職缺內容都包山包海 ### 普通軟體公司 (RD 1000 人內) - 沒有 Perl 包袱 - 作為一般語言使用 - App / API / 資料串接 (SE) - 自動化 (DevOps) - 整合測試 (QE/Quality Engineer) - 資料工程師(非講者專長) - 資料分析 (Data Scientist) - 職缺比較特定範圍 - 希望有即戰力 - 明確列出大量工具名稱(公司使用的核心工具) - 甚至指定Django版本 - 是台灣最普遍的職缺形式 ### 巨型軟體公司 - 討厭 Perl(X) 同樣需要轉換成 Python(O) - 跟半導體產業類似,描述也極為空泛 - 職缺要求很有該程式語言長期經驗 ## 三種 Python 能力水準 ### 等級一: ~~可愛的皮丘~~ - [So you want to be a Python expert?](https://www.youtube.com/watch?v=cKPlPJyQrt4) - Leetcode medium - 會使用內建function與module - 會使用Decorator/Context manager/Generator - 到底會不會使用專屬於 Python 的功能還是只是會 loop 跟 function - 熟悉OOP/MRO - 接觸過Test/Monkey patch - 熟悉生態環境/趨勢/寫作格式/歷史 - **How** to use Python ### 等級二: ~~皮卡丘~~ - 接觸Python核心/GIL問題 - 設計模式(Design pattern + 系統設計(System design) - **為什麼**要使用 Python? - **在哪裡**使用某 library/framework? ### 等級三: ~~憤怒的皮丘~~ - Python + 與 Python 整合 - 看 Python source 了解原理 - 看 Library source 了解原理 - **Where** to use Python ## Python 在大公司的使用情形 - 雇用標準不是看你會不會某個 framework,而是為什麼要用這個?你做過哪些專案?解決過哪些問題? - Library與Framework可能幾天就可以上手,但是背後的Domain knowledge才是無法短時間學習的東西,如:如何調整NN中model的參數 ### 大公司的生態 - 內部架構 - 可能要從0開始建立所有project - 內部開發環境 - 無法直接使用外部的東西 - Stack Overflow 不夠用 ## 個人經驗分享 ### 個人反省 - 太專注於職缺內容 - 太在意使用過的 library/framework - 其實重點在能創造價值,解決問題 - 讀太多 python 技巧 - 知道了也只是休閒,對工作沒有幫助 - 讀太多面試心得 - 面試者的背景跟你不一樣,無法直接套用在自己身上 - 被問的問題與面試者的背景很有關係 - 應該去思考該公司重視的項目 - 為何我在這裡 - 為何外國公司來台灣找人? - 外國公司找到的人似乎無法在台灣發揮 - 這些人可以從無到有建立搜尋引擎,可是寫到履歷上不好看 - 台灣的人才流失 - 競爭力 - 市場小 - 只看結果 - 硬體公司主導,對軟體公司不友善 # Q&A - 沒時間了,來 open space 找我 ###### tags: `pycontw2018`

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully