A Python Engineer
Under Giant Umbrella
Kir Chou @ PyConTW 2018
2
3
kir.chou note35kirchou
4My road
5
them ?
Category
- 3 types of industries
- 3 levels in python
- Python in giant company
- My Experience
6
types
of
industries
7
G8
G
Why do they choose Python?
9
• Migrating from Perl to Python
• General Script Language
• Validation, EDA Tool (RD)
• Integration Test (QA)
• Automation (DevOps)
• Data Analysis (Data)
G 10
Job Description
Object-Oriented programming languages; JavaScript;
HTML; DHTML; CSS; C; C++; SQL; Perl; Python; Tool
Command Language (TCL); R; Shell script
1. Collect and document user's requirements and develop
logical and physical specifications;
2. Research, evaluate and synthesize technical
information to design, develop and test computer-
based systems;
3. Develop data, process and network models to optimize
architecture and to evaluate the performance and
reliability of designs;
4. Plan, design and co-ordinate the development,
installation, integration and operation of computer-
based systems;
5. Assess, troubleshoot, document, upgrade and develop
maintenance procedures for operating systems,
communications environments and applications
software
G 11
Job Description
Object-Oriented programming languages; JavaScript;
HTML; DHTML; CSS; C; C++; SQL; Perl; Python; Tool
Command Language (TCL); R; Shell script
1. Collect and document user's requirements and develop
logical and physical specifications;
2. Research, evaluate and synthesize technical
information to design, develop and test computer-
based systems;
3. Develop data, process and network models to optimize
architecture and to evaluate the performance and
reliability of designs;
4. Plan, design and co-ordinate the development,
installation, integration and operation of computer-
based systems;
5. Assess, troubleshoot, document, upgrade and develop
maintenance procedures for operating systems,
communications environments and applications
software
G 12
Why do they choose Python?
• No legacy Perl debt
• General Language
• App/API/Data Process (SE)
• Automation (DevOps)
• Integration Test (QE)
• Data Engineer
• Data Analysis (Data)
G 13
Job Description
• Specific Skills:
1. practical knowledge related to databases MySQL or
PostgreSQL
2. Cassandra, Kafka, Elasticsearch, SQL, Redis, ZMQ,
Hadoop, AWS, Apache Solr…
3. Excellent Python (2.x and ideally 3.x) and Django (1.8+)
• Clear Title
4. Django React Full Stack Developer
14
G 15
Why do they choose Python?
• Migrating from Perl to Python
• General Language
G 16
Job Description
• Over X years’ experience in
software development
• Experience with OOP language
including Python
G 17
Job Description
• Over X years’ experience in
software development
• Experience with OOP language
including Python
Levels
In
Python
18
from os import *
env_list = [param for param in dir(environ)]
if '__len__' in dir(env_list):
available_attr_num = len(env_list)
19
What’s wrong?
from os import environ
available_attr_num = len(dir(environ))
20
21
How to be an python expert? James Powell
22
23
Hiring Bar
(X) Be familiar with XXX
(O) What have you done?
24
XXX in Giant Company
-> Specific library/framework aren’t required
25
Biome in Giant Company
-> Internal infrastructure
-> start from ZERO every projects
-> Internal development environment
-> XXX can not be used directly
-> Stack Overflow is not enough
26
>> amazon-sde-process <<
The wrong road I have traveled
• focused too much on Job description
• considered XXX library/framework important
• read too many python tricks
• read too many interview feedbacks
27
The reason why I’m here
Why did foreign tech companies enter to
Taiwan?
❓ entering local market?
❓ saving cost?
Brain drain in Taiwan
✅ Competitive technicians
❎ Small marketplace
❎ Result-driven investors
❎ SDE-unfriendly industries
28
Thank you!
29

PyCon TW 2018 - A Python Engineer Under Giant Umbrella (巨大保護傘下的 Python 碼農辛酸史)

  • 1.
    A Python Engineer UnderGiant Umbrella Kir Chou @ PyConTW 2018
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
    Category - 3 typesof industries - 3 levels in python - Python in giant company - My Experience 6
  • 7.
  • 8.
  • 9.
    G Why do theychoose Python? 9 • Migrating from Perl to Python • General Script Language • Validation, EDA Tool (RD) • Integration Test (QA) • Automation (DevOps) • Data Analysis (Data)
  • 10.
    G 10 Job Description Object-Orientedprogramming languages; JavaScript; HTML; DHTML; CSS; C; C++; SQL; Perl; Python; Tool Command Language (TCL); R; Shell script 1. Collect and document user's requirements and develop logical and physical specifications; 2. Research, evaluate and synthesize technical information to design, develop and test computer- based systems; 3. Develop data, process and network models to optimize architecture and to evaluate the performance and reliability of designs; 4. Plan, design and co-ordinate the development, installation, integration and operation of computer- based systems; 5. Assess, troubleshoot, document, upgrade and develop maintenance procedures for operating systems, communications environments and applications software
  • 11.
    G 11 Job Description Object-Orientedprogramming languages; JavaScript; HTML; DHTML; CSS; C; C++; SQL; Perl; Python; Tool Command Language (TCL); R; Shell script 1. Collect and document user's requirements and develop logical and physical specifications; 2. Research, evaluate and synthesize technical information to design, develop and test computer- based systems; 3. Develop data, process and network models to optimize architecture and to evaluate the performance and reliability of designs; 4. Plan, design and co-ordinate the development, installation, integration and operation of computer- based systems; 5. Assess, troubleshoot, document, upgrade and develop maintenance procedures for operating systems, communications environments and applications software
  • 12.
    G 12 Why dothey choose Python? • No legacy Perl debt • General Language • App/API/Data Process (SE) • Automation (DevOps) • Integration Test (QE) • Data Engineer • Data Analysis (Data)
  • 13.
    G 13 Job Description •Specific Skills: 1. practical knowledge related to databases MySQL or PostgreSQL 2. Cassandra, Kafka, Elasticsearch, SQL, Redis, ZMQ, Hadoop, AWS, Apache Solr… 3. Excellent Python (2.x and ideally 3.x) and Django (1.8+) • Clear Title 4. Django React Full Stack Developer
  • 14.
  • 15.
    G 15 Why dothey choose Python? • Migrating from Perl to Python • General Language
  • 16.
    G 16 Job Description •Over X years’ experience in software development • Experience with OOP language including Python
  • 17.
    G 17 Job Description •Over X years’ experience in software development • Experience with OOP language including Python
  • 18.
  • 19.
    from os import* env_list = [param for param in dir(environ)] if '__len__' in dir(env_list): available_attr_num = len(env_list) 19 What’s wrong?
  • 20.
    from os importenviron available_attr_num = len(dir(environ)) 20
  • 21.
    21 How to bean python expert? James Powell
  • 22.
  • 23.
  • 24.
    Hiring Bar (X) Befamiliar with XXX (O) What have you done? 24
  • 25.
    XXX in GiantCompany -> Specific library/framework aren’t required 25
  • 26.
    Biome in GiantCompany -> Internal infrastructure -> start from ZERO every projects -> Internal development environment -> XXX can not be used directly -> Stack Overflow is not enough 26 >> amazon-sde-process <<
  • 27.
    The wrong roadI have traveled • focused too much on Job description • considered XXX library/framework important • read too many python tricks • read too many interview feedbacks 27
  • 28.
    The reason whyI’m here Why did foreign tech companies enter to Taiwan? ❓ entering local market? ❓ saving cost? Brain drain in Taiwan ✅ Competitive technicians ❎ Small marketplace ❎ Result-driven investors ❎ SDE-unfriendly industries 28
  • 29.

Editor's Notes

  • #3 http://www.diyiziti.com/Builder/108
  • #6 Objective How to get into FLAG? What are FLAG doing? 3
  • #9 Common Python Positions 1~1000 developers Backend – Application, API, Micro-Service, MQ, Serverless System… Full-Stack – Backend + Frontend + DevOps DevOps / Automation - Script! Script! Script with Process! No perl code base in here :D - Be familiar with XXX - Be familiar with YYY - Be familiar with ZZZ … (We used them!!!) (We plan to use them!!!) Giant company?? Software Engineer Because no one likes Perl. X years experience in software development
  • #11 https://www.simplyhired.ca/search?q=integration+engineer+%28python+%2F+unix+%2F+linux%29&job=FVNB8kNBV1cDiDrLamSIf065zQE6eAUbpmL5ek631UbYPgnWlae6NQ Specific Skills  Collect and document user's requirements and develop logical and physical specifications; Research, evaluate and synthesize technical information to design, develop and test computer-based systems; Develop data, process and network models to optimize architecture and to evaluate the performance and reliability of designs; Plan, design and co-ordinate the development, installation, integration and operation of computer-based systems; Assess, troubleshoot, document, upgrade and develop maintenance procedures for operating systems, communications environments and applications software  Programming Languages  Object-Oriented programming languages; JavaScript; HTML; DHTML; CSS; C; C++; SQL; Perl; Python; Tool Command Language (TCL); R; Shell script 
  • #14 http://pythonjobs.github.io/ Specific Skills: practical knowledge related to databases MySQL or PostgreSQL Cassandra, Kafka, Elasticsearch, SQL, Redis, ZMQ, Hadoop, AWS, Apache Solr… Excellent Python (2.x and ideally 3.x) and Django (1.8+) Clear Title Django React Full Stack Developer
  • #15 https://imgflip.com/memegenerator/What-Do-We-Want-3
  • #17 https://www.amazon.jobs/en/jobs/664497/software-development-engineer 18
  • #19 3 Levels of understanding in Python https://www.quora.com/What-is-the-difference-between-the-SDE1-SDE2-and-SDE3-positions-in-a-software-job