Share
Embed
Transcript
94 slides
-
How to Land a Good Go Job or what to
watch out for so your new team member won't break the service 2020-03-28 Ole Bulbuk Senior Go Engineer, solarisBank AG; co-organizer of Berlin Go meetup; involved in hiring decisions for 20 years -
What to expect? Where to !nd (remote) jobs Peculiarities about
remote jobs Job situation in Berlin 4 -
What to expect? Where to !nd (remote) jobs Peculiarities about
remote jobs Job situation in Berlin Hiring process 5 -
What to expect? Where to !nd (remote) jobs Peculiarities about
remote jobs Job situation in Berlin Hiring process Technical interviews 6 -
Where to !nd (remote) jobs Gopher Slack: #jobs Newsletter: https://golangweekly.com/
(https://golangweekly.com/) Work with Go: https://workwithgo.com/ (https://workwithgo.com/) Golang projects: https://www.golangprojects.com/ (https://www.golangprojects.com/) We work remotely: https://weworkremotely.com/ (https://weworkremotely.com/) Remote OK Go jobs: https://remoteok.io/remote-golang-jobs (https://remoteok.io/remote-golang-jobs) Indeed remote Go jobs: https://www.indeed.com/q-golang-l-remote-jobs.html (https://www.indeed.com/q-golang-l-remote-jobs.html) 7 -
Peculiarities About Remote Jobs Big experiment: currently we all do
remote jobs Full remote companies have !gured things out 9 -
Peculiarities About Remote Jobs Big experiment: currently we all do
remote jobs Full remote companies have !gured things out This is currently getting better 10 -
Peculiarities About Remote Jobs Big experiment: currently we all do
remote jobs Full remote companies have !gured things out This is currently getting better It really is a matter of trust 11 -
Peculiarities About Remote Jobs Big experiment: currently we all do
remote jobs Full remote companies have !gured things out This is currently getting better It really is a matter of trust Make the employer believe that you perform well when remote 12 -
Peculiarities About Remote Jobs Big experiment: currently we all do
remote jobs Full remote companies have !gured things out This is currently getting better It really is a matter of trust Make the employer believe that you perform well when remote It often helps to accept lower pay during probation period 13 -
Job Situation in Berlin Language for almost all Go positions:
English By far biggest market for Go positions in Germany. 15 -
Job Situation in Berlin Language for almost all Go positions:
English By far biggest market for Go positions in Germany. Salaries are highly dependent on the location of the company. 16 -
Job Situation in Berlin Language for almost all Go positions:
English By far biggest market for Go positions in Germany. Salaries are highly dependent on the location of the company. Junior developers earn around 50K. 17 -
Job Situation in Berlin Language for almost all Go positions:
English By far biggest market for Go positions in Germany. Salaries are highly dependent on the location of the company. Junior developers earn around 50K. Senior developers earn around 80K. 18 -
Job Situation in Berlin Language for almost all Go positions:
English By far biggest market for Go positions in Germany. Salaries are highly dependent on the location of the company. Junior developers earn around 50K. Senior developers earn around 80K. Rare lead developers earn more. 19 -
Job Situation in Berlin Language for almost all Go positions:
English By far biggest market for Go positions in Germany. Salaries are highly dependent on the location of the company. Junior developers earn around 50K. Senior developers earn around 80K. Rare lead developers earn more. Most jobs are for mid- to senior developers. 20 -
Hiring Process Screening interview with HR person Coding challenge Technical
interviews Algorithms and data structures? 24 -
Hiring Process Screening interview with HR person Coding challenge Technical
interviews Algorithms and data structures? Brain teasers? 25 -
Hiring Process Screening interview with HR person Coding challenge Technical
interviews Algorithms and data structures? Brain teasers? Cultural !t 26 -
Hiring Process Screening interview with HR person Coding challenge Technical
interviews Algorithms and data structures? Brain teasers? Cultural !t CTO or other boss 27 -
Advertisement bidding Low latency (ca. 50ms) request handling High concurrency
Scalability matters 31 -
Advertisement bidding Low latency (ca. 50ms) request handling High concurrency
Scalability matters Knowledge about the world held in RAM 32 -
Advertisement bidding Low latency (ca. 50ms) request handling High concurrency
Scalability matters Knowledge about the world held in RAM Web API 33 -
Advertisement bidding Low latency (ca. 50ms) request handling High concurrency
Scalability matters Knowledge about the world held in RAM Web API Performance critical stu" behind interfaces 34 -
Advertisement bidding Low latency (ca. 50ms) request handling High concurrency
Scalability matters Knowledge about the world held in RAM Web API Performance critical stu" behind interfaces Many engineers love high performance stu" 35 -
Advertisement bidding Low latency (ca. 50ms) request handling High concurrency
Scalability matters Knowledge about the world held in RAM Web API Performance critical stu" behind interfaces Many engineers love high performance stu" Enough room for normal devs 36 -
Advertisement bidding Low latency (ca. 50ms) request handling High concurrency
Scalability matters Knowledge about the world held in RAM Web API Performance critical stu" behind interfaces Many engineers love high performance stu" Enough room for normal devs Few, small companies 37 -
Cloud technologies Go for system programming Command line tools Low
level programming 40 -
Cloud technologies Go for system programming Command line tools Low
level programming Low latency services 41 -
Cloud technologies Go for system programming Command line tools Low
level programming Low latency services Highly skilled engineers 42 -
Cloud technologies Go for system programming Command line tools Low
level programming Low latency services Highly skilled engineers Few, small companies 43 -
FinTech Use Go as modern Java Mistakes can cost a
lot of money 45 -
FinTech Use Go as modern Java Mistakes can cost a
lot of money Web APIs 46 -
FinTech Use Go as modern Java Mistakes can cost a
lot of money Web APIs Room for devs who test carefully 47 -
FinTech Use Go as modern Java Mistakes can cost a
lot of money Web APIs Room for devs who test carefully Quite some companies from small to medium 48 -
Blockchain technologiy Distributed services Very abstract stu" Highly skilled engineers
Few, small companies 52 -
Diverse companies building services Use Go as modern Java Web
APIs Lots of room for devs with diverse backgrounds 55 -
Diverse companies building services Use Go as modern Java Web
APIs Lots of room for devs with diverse backgrounds Many companies from small to huge 56 -
Diverse companies building services Use Go as modern Java Web
APIs Lots of room for devs with diverse backgrounds Many companies from small to huge Fastest growing segment 57 -
Job market take away Web APIs Business software Growing with
more adoption of Go 60 -
HTTP Search terms: stateless HTTP, REST (REpresentational State Transfer), HTTP
methods (GET, POST, DELETE, PUT, PATCH), idempotence, gRPC, GraphQL (nice to know) No Web without HTTP 62 -
HTTP Search terms: stateless HTTP, REST (REpresentational State Transfer), HTTP
methods (GET, POST, DELETE, PUT, PATCH), idempotence, gRPC, GraphQL (nice to know) No Web without HTTP If the client doesn't get the response back it will try again: idempotence 63 -
Authentication Search terms: Cookie + server side session, JWT (JSON
Web Token), OAuth 2.0 Authentication: Who is it? 64 -
Authentication Search terms: Cookie + server side session, JWT (JSON
Web Token), OAuth 2.0 Authentication: Who is it? You really need to know about JWT 65 -
Authentication Search terms: Cookie + server side session, JWT (JSON
Web Token), OAuth 2.0 Authentication: Who is it? You really need to know about JWT O"er only 1 good cipher for JWT 66 -
Authentication Search terms: Cookie + server side session, JWT (JSON
Web Token), OAuth 2.0 Authentication: Who is it? You really need to know about JWT O"er only 1 good cipher for JWT OAuth 2.0 is nice to know 67 -
Authorization Search terms: Role based authorization (RBAC) Authorization: What is
allowed? RBAC is king and many companies use some derivative 69 -
Database Search terms: SQL, RDBMS (Relational DataBase Management System), SQL
injection, DB migration, DB transactions, DB lock levels Heart of every business software 70 -
Database Search terms: SQL, RDBMS (Relational DataBase Management System), SQL
injection, DB migration, DB transactions, DB lock levels Heart of every business software Long term storage -> hard to change 71 -
Database Search terms: SQL, RDBMS (Relational DataBase Management System), SQL
injection, DB migration, DB transactions, DB lock levels Heart of every business software Long term storage -> hard to change Types: relational, document, key-value, graph 72 -
Database Search terms: SQL, RDBMS (Relational DataBase Management System), SQL
injection, DB migration, DB transactions, DB lock levels Heart of every business software Long term storage -> hard to change Types: relational, document, key-value, graph Use cases: business data, archiving, caching, ... 73 -
Database Search terms: SQL, RDBMS (Relational DataBase Management System), SQL
injection, DB migration, DB transactions, DB lock levels Heart of every business software Long term storage -> hard to change Types: relational, document, key-value, graph Use cases: business data, archiving, caching, ... RDBMS (Relational DataBase Management System) is still the most important 74 -
3rd Party API Search terms: service resilience, time-out, circuit breaker,
retry with randomized exponential back-o" No direct in#uence on third party! 75 -
3rd Party API Search terms: service resilience, time-out, circuit breaker,
retry with randomized exponential back-o" No direct in#uence on third party! Can stop the whole system 76 -
3rd Party API Search terms: service resilience, time-out, circuit breaker,
retry with randomized exponential back-o" No direct in#uence on third party! Can stop the whole system Error handling is paramount 77 -
3rd Party API Search terms: service resilience, time-out, circuit breaker,
retry with randomized exponential back-o" No direct in#uence on third party! Can stop the whole system Error handling is paramount Call to 3rd party in the context of a transaction 78 -
Testing Search terms: test pyramid, test funnel, stress tests Deployment
with con!dence 79 -
Testing Search terms: test pyramid, test funnel, stress tests Deployment
with con!dence A good test suite is the basis for every refactoring 80 -
Testing Search terms: test pyramid, test funnel, stress tests Deployment
with con!dence A good test suite is the basis for every refactoring Good tests enable and support changes 81 -
Code Quality Search terms: surviving software dependencies, clean code Maintainability
Simplicity counts E"ects can be seen only long-term 84 -
DevOps Search terms: Docker, Kubernetes, Observability/Telemetry, Prometheus (monitoring), Jaeger (tracing)
Many problems today arise between systems 85 -
DevOps Search terms: Docker, Kubernetes, Observability/Telemetry, Prometheus (monitoring), Jaeger (tracing)
Many problems today arise between systems Being able to debug inter service problems is very important skill 86 -
Bad Job Interviews Brain teasers Algorithms and data structures Only
the top x% of engineers work for us 89 -
Wrap Up Talked about all parts of the hiring process
Focus on technical interviews 91 -
Wrap Up Talked about all parts of the hiring process
Focus on technical interviews Happy applying! 92 -
Thank you Ole Bulbuk Senior Go Engineer, solarisBank AG; co-organizer
of Berlin Go meetup; involved in hiring decisions for 20 years https://#owdev.github.io/static/present/2020/go-job/present.html (https://#owdev.github.io/static/present/2020/go-job/present.html) @#owdev_org (http://twitter.com/#owdev_org) Attributions for images: All Gophers have been taken from Maria Letta's excellent 'free-gophers-pack'. Spider web by: I, Luc Viatour / CC BY-SA Passport photo by: Noble / Public domain Stop sign by: United Nations / Public domain Test pyramid by: Abbe98 / CC BY-SA