SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
Becoming a
 Professional Java
     Developer

    Yakov Fain,
Farata Systems, USA


  Kiev, Ukraine 2012
Я понимаю, что многие из вас могут не согласиться с моей
  точкой зрения, считая, что вы живете в другой стране,
      которая заставляет вас вести себя по другому.
    Но моя цель – помочь вам понять правила игры на
   международном рынке ИТ, безотносительно вашего
           географического местоположения.

I realize that many of you may not agree with my point of view
   arguing that you live in a different country that force you to
   behave differently. But my goal to help you understand the
 rules of the game in the international IT market regardless of
                  your geographical location.
What is this talk about

Ø  How to look for a job (resume, interview, offer)

Ø  Cultural differences in outsourcing projects

Ø  What being a senior Java developer means

Ø  Working as employee or contractor

Ø  What s your salary

Ø  Keeping your skills up to date
The game called Looking for job
                 The IPO pattern:

               Getting the Interview

               Passing the interview

               Considering the Offer

Solve each of these tasks s-e-p-a-r-a-t-e-l-y!!!
Your First Job
•  Who s your first employer and what s your first salary
   don t matter.

•  Your goal is to learn how to:

  - Work in a team
  - Talk to business users (turn off your iPod… periodically)
  - Manage your time
  - Deliver what s expected

•  Try to answer the question, Is programming the right
   career for you?
Head Hunters

Q. What real-estate agents and
  head hunters have in common?
  They both work for the other
  party. They want to close the deal
  no matter what.




     Never not burn bridges with head hunters.
               We need each other!
Are you a Senior Java Developer?

Yes, because I’m already 25 and work with
Java for 5 years.

Yes, look at the title on my business card!


Yes, we have 20 Java developers in our
company, and everyone comes to me for help.
Are you a Senior Java Developer?

Why your project is
 built on Struts
  Framework?
Are you a Senior Java Developer?

Can you compare
 using HTTP vs.
    Sockets?
Are you a Senior Java Developer?

Would introducing
Yes, because I’m already 25 and work with
Java for 5 years.

messaging benefit
Yes, look at the title on my business card!


  your project?
Yes, we have 20 Java developers in our
company, and everyone comes to me for help.
Are you a Senior Java Developer?

 Can you work on
Yes, because I’m already 25 and work with
Java for 5 years.

  assignments
Yes, look at the title on my business card!


     without
Yes, we have 20 Java developers in our
company, and everyone comes to me for help.
   supervision?
Are you a Senior Java Developer?

Are you a problem
Yes, because I’m already 25 and work with
Java for 5 years.

  or a solution?
Yes, look at the title on my business card!


Yes, we have 20 Java developers in our
company, and everyone comes to me for help.
How people from Kiev answer to
         “Why are you looking for a job?”
I don’t really need money – I own an apartment and rent it out.

I like my job, but just want to see what’s available.

Our client is in London, and the VPN connection is very slow

 Don’t be afraid to say that you need more of these:
Looking for Another Job
•  Do it when the sun is bright
   and the grass is green.

•  Making a couple of more hryvnias a month is not
   a reason for switching jobs.

•  Learning new technologies, growth opportunities
   can be a reason for a move.

•  Do I have to quit to get raise? Can’t this stupid
   boss understand that I may leave soon? How to
   ask for a raise?
Golden Rules of Resignation
Don t resign just because you are angry with your boss.

Give an advanced notice - verbally and in writing.

Do not accept a counter-offer.

Do not resign until you’ve found another job.


Do not give advices to your boss on the way out.

Don t post negative blogs about the company you quit.
Contractors (a.k.a. Consultants)

• Contractors work for money. They do not have career
  goals.

• In the USA they work on W2 , corp-to-corp ,
   or on 1099 .

• There are try-and-buy or contract-to-hire deals.
I work and they get rich!
Most consultants work for clients through a 3-rd party
firm/agency.

Such agencies make a buck
on every hour you worked.

Don’t like it? Find a direct contract.
                 Can’t find a direct contract?

                   Get back to work!

                      Arbeiten!
Be an Employee If…
Ø  You want to have a title “Senior Director”, and you are
    planning to move up the corporate ladder.

Ø  Job interview are stressful for you.

Ø  You need good medical coverage (USA specific).

Ø Having a ping-pong table in the office is more important than
   being an IT Pro with up-to date skills.

Ø  You are one of the first employees in a startup company.

Ø  Your spouse already works as a contractor.
Be a Contractor If…
Ø You don’t care about your title – you just need cash.

Ø You d like to have a chance to work with different
technologies.

Ø You like learning new stuff and keeping your skills up to date.

Ø You hate corporate politics.

Ø You enjoy meeting new people and working in different
environments.

Ø You are reasonably healthy.
What’s the main goal of a
     professional IT contractor?

  Petro, XYZ is a library of good looking UI
   components. Please use it in our Web
                 application.

You know for sure that using this UI library will slow
down the development and XYZ has some bugs.


                 How to react?
Client   Contractor
While Comparing Incomes, Remember This

  Contractors don’t get any benefits.

  •    No paid holidays
  •    No paid vacations
  •    No paid sick days
  •    No paid trainings
  •    No paid gym memberships
  •    No paid visit to massage parlors
Lost in translation
The American team lead John to the remote developer Petro:
“Petro, I like the way you programmed classes Employee and Contractor with methods
increaseSalary() and increaseRate(). You could have done it a little bit differently by
introducing the interface Payable with one generic method increasePay().”


Petro thinks to himself:
“John likes my solution. There are so many different ways of achieving the same result
in Java. It’s time to work on the next assignment.”


What John really meant:
“Petro is clearly junior and has no clue about designing to interfaces. If he won’t fix his
junk code, I’ll replace him.”
Presenting Yourself Online
Why Ukrainian programmers are considered brain dead right
           after celebrating their 35th birthday?
What s your salary?
 - It s the most confidential and sensitive information in the USA.
 - Do not tell anyone, and do not ask anyone.
 - People who are entitled to know this number already know.


Only your boss, HR, and, sometimes your spouse know this secret number.
Salary Use Cases 1

At the corporate party. Vlad to Peter: “I
got a $10K bonus”.

Peter: “Wow! That’s so cool!”

They don’t go for a beer anymore.
Salary Use Cases 2
Two former college mates at a family party.

Vlad spent 3 years working on the PhD.

Peter was working for an offshore company
and revealed his salary of $3K.

Vlad got divorced three months later.
Salary Use Cases 3
Masha is a team lead.

Super star Petro literally programmed the entire project
himself.

Petro found out that Masha was making more money.

Petro is pissed off.

He didn’t know that without Masha they wouldn’t even
get this project and he would have to look for a job.
Salary Use Cases 4
Alex found out that his teammate Petro is making more.

During annual review Alex said, “Why Petro is making
more? I have a lot more Java experience than Petro.”

The manager promised to look into this.

Alex was laid off two weeks later.
Salary Use Cases 5

You’re making $3K.

A job ad offers $3.5 - $4K.

The first person to mention the number loses
Keep your skills up to date
Keeping your technical skills current is your job
security.

Do not just pick training from the list of courses offered
by your employer – find a quality training yourself and
get enrolled.

Who s teaching is more important than what s being
taught.

Technical conferences often feature great instructors.

Talk to vendors at the conferences.
Legally Free Books
You can legally download two of my e-books for free:

1. Enterprise Software Without the BS

2. Java Development for Kids, Parents and
Grandparents in Russian, French, and English
Useful URLs
Email: yfain@faratasystems.com

Our company Farata Systems: faratasystems.com

Our company blog: flexblog.faratasystems.com

Personal Blog: yakovfain.com

Twitter: @yfain

Podcasts in Russian: americhka.us, btradiopodcast.com

Podcasts in English: nobsit.libsyn.com

             Thank you for coming!

Weitere ähnliche Inhalte

Andere mochten auch

Bringing spatial love to your python application
Bringing spatial love to your python applicationBringing spatial love to your python application
Bringing spatial love to your python applicationShekhar Gulati
 
Java EE 6 and NoSQL Workshop DevFest Austria
Java EE 6 and NoSQL Workshop DevFest AustriaJava EE 6 and NoSQL Workshop DevFest Austria
Java EE 6 and NoSQL Workshop DevFest AustriaShekhar Gulati
 
AngularJS & Job
AngularJS & JobAngularJS & Job
AngularJS & Jobganesgo
 
Interacting with the DOM (JavaScript)
Interacting with the DOM (JavaScript)Interacting with the DOM (JavaScript)
Interacting with the DOM (JavaScript)Florence Davis
 
Developing modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular jsDeveloping modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular jsShekhar Gulati
 
Indic threads java10-spring-roo-and-the-cloud
Indic threads java10-spring-roo-and-the-cloudIndic threads java10-spring-roo-and-the-cloud
Indic threads java10-spring-roo-and-the-cloudShekhar Gulati
 
Thinking beyond RDBMS - Building Polyglot Persistence Java Applications Devf...
Thinking beyond RDBMS  - Building Polyglot Persistence Java Applications Devf...Thinking beyond RDBMS  - Building Polyglot Persistence Java Applications Devf...
Thinking beyond RDBMS - Building Polyglot Persistence Java Applications Devf...Shekhar Gulati
 
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaDeveloping Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaShekhar Gulati
 
Design Patterns for JavaScript Web Apps - JavaScript Conference 2012 - OPITZ ...
Design Patterns for JavaScript Web Apps - JavaScript Conference 2012 - OPITZ ...Design Patterns for JavaScript Web Apps - JavaScript Conference 2012 - OPITZ ...
Design Patterns for JavaScript Web Apps - JavaScript Conference 2012 - OPITZ ...OPITZ CONSULTING Deutschland
 
Working effectively with OpenShift
Working effectively with OpenShiftWorking effectively with OpenShift
Working effectively with OpenShiftShekhar Gulati
 
A Happy Cloud Friendly Java Developer with OpenShift
A Happy Cloud Friendly Java Developer with OpenShiftA Happy Cloud Friendly Java Developer with OpenShift
A Happy Cloud Friendly Java Developer with OpenShiftShekhar Gulati
 
Surviving as a Professional Software Developer
Surviving as a Professional Software DeveloperSurviving as a Professional Software Developer
Surviving as a Professional Software DeveloperYakov Fain
 
Open shift for java(ee) developers
Open shift for java(ee) developersOpen shift for java(ee) developers
Open shift for java(ee) developersShekhar Gulati
 
Introduction to Browser DOM
Introduction to Browser DOMIntroduction to Browser DOM
Introduction to Browser DOMSiva Arunachalam
 
Simple Mobile Development With Ionic - Ondrisek
Simple Mobile Development With Ionic - OndrisekSimple Mobile Development With Ionic - Ondrisek
Simple Mobile Development With Ionic - OndrisekBarbara Ondrisek
 
Building spatial back ends with Node.js and MongoDB
Building spatial back ends with Node.js and MongoDBBuilding spatial back ends with Node.js and MongoDB
Building spatial back ends with Node.js and MongoDBShekhar Gulati
 
Angularjs interview questions and answers
Angularjs interview questions and answersAngularjs interview questions and answers
Angularjs interview questions and answersAnil Singh
 
Real World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVCReal World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVCCarlo Bonamico
 

Andere mochten auch (20)

Bringing spatial love to your python application
Bringing spatial love to your python applicationBringing spatial love to your python application
Bringing spatial love to your python application
 
Java EE 6 and NoSQL Workshop DevFest Austria
Java EE 6 and NoSQL Workshop DevFest AustriaJava EE 6 and NoSQL Workshop DevFest Austria
Java EE 6 and NoSQL Workshop DevFest Austria
 
AngularJS & Job
AngularJS & JobAngularJS & Job
AngularJS & Job
 
Interacting with the DOM (JavaScript)
Interacting with the DOM (JavaScript)Interacting with the DOM (JavaScript)
Interacting with the DOM (JavaScript)
 
Developing modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular jsDeveloping modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular js
 
Indic threads java10-spring-roo-and-the-cloud
Indic threads java10-spring-roo-and-the-cloudIndic threads java10-spring-roo-and-the-cloud
Indic threads java10-spring-roo-and-the-cloud
 
Thinking beyond RDBMS - Building Polyglot Persistence Java Applications Devf...
Thinking beyond RDBMS  - Building Polyglot Persistence Java Applications Devf...Thinking beyond RDBMS  - Building Polyglot Persistence Java Applications Devf...
Thinking beyond RDBMS - Building Polyglot Persistence Java Applications Devf...
 
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaDeveloping Great Apps with Apache Cordova
Developing Great Apps with Apache Cordova
 
Design Patterns for JavaScript Web Apps - JavaScript Conference 2012 - OPITZ ...
Design Patterns for JavaScript Web Apps - JavaScript Conference 2012 - OPITZ ...Design Patterns for JavaScript Web Apps - JavaScript Conference 2012 - OPITZ ...
Design Patterns for JavaScript Web Apps - JavaScript Conference 2012 - OPITZ ...
 
Working effectively with OpenShift
Working effectively with OpenShiftWorking effectively with OpenShift
Working effectively with OpenShift
 
A Happy Cloud Friendly Java Developer with OpenShift
A Happy Cloud Friendly Java Developer with OpenShiftA Happy Cloud Friendly Java Developer with OpenShift
A Happy Cloud Friendly Java Developer with OpenShift
 
Surviving as a Professional Software Developer
Surviving as a Professional Software DeveloperSurviving as a Professional Software Developer
Surviving as a Professional Software Developer
 
Open shift for java(ee) developers
Open shift for java(ee) developersOpen shift for java(ee) developers
Open shift for java(ee) developers
 
Introduction to Browser DOM
Introduction to Browser DOMIntroduction to Browser DOM
Introduction to Browser DOM
 
Hicss 42 Presentation
Hicss 42 PresentationHicss 42 Presentation
Hicss 42 Presentation
 
Simple Mobile Development With Ionic - Ondrisek
Simple Mobile Development With Ionic - OndrisekSimple Mobile Development With Ionic - Ondrisek
Simple Mobile Development With Ionic - Ondrisek
 
Building spatial back ends with Node.js and MongoDB
Building spatial back ends with Node.js and MongoDBBuilding spatial back ends with Node.js and MongoDB
Building spatial back ends with Node.js and MongoDB
 
Angularjs interview questions and answers
Angularjs interview questions and answersAngularjs interview questions and answers
Angularjs interview questions and answers
 
AngularJS in large applications - AE NV
AngularJS in large applications - AE NVAngularJS in large applications - AE NV
AngularJS in large applications - AE NV
 
Real World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVCReal World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVC
 

Ähnlich wie Becoming a professional software developer

500-Level Guide to Career Internals
500-Level Guide to Career Internals500-Level Guide to Career Internals
500-Level Guide to Career InternalsBrent Ozar
 
Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013Wojciech Seliga
 
How to get the tech job of your dreams
How to get the tech job of your dreamsHow to get the tech job of your dreams
How to get the tech job of your dreamsbibakis
 
Resumes and job interviews for tech jobs
Resumes and job interviews for tech jobsResumes and job interviews for tech jobs
Resumes and job interviews for tech jobsAndy Lester
 
oDesk Freelancer Manual
oDesk Freelancer ManualoDesk Freelancer Manual
oDesk Freelancer ManualElance-oDesk
 
Confitura 2013 Software Developer Career Unplugged
Confitura 2013 Software Developer Career UnpluggedConfitura 2013 Software Developer Career Unplugged
Confitura 2013 Software Developer Career UnpluggedWojciech Seliga
 
Freelancer Manual
Freelancer ManualFreelancer Manual
Freelancer ManualMiqui Mel
 
yes!!! now you can know how to work!
yes!!! now you can know how to work!yes!!! now you can know how to work!
yes!!! now you can know how to work!silvioso
 
odesk_contractor_manual_2013.pdf
odesk_contractor_manual_2013.pdfodesk_contractor_manual_2013.pdf
odesk_contractor_manual_2013.pdfruelsilvano1
 
Best Practices Finding Co-Founder & Dividing Up Shares
Best Practices Finding Co-Founder & Dividing Up SharesBest Practices Finding Co-Founder & Dividing Up Shares
Best Practices Finding Co-Founder & Dividing Up Sharesbestpracticesbusiness
 
Work From Home Guide For Filipinos 0225
Work From Home Guide For Filipinos 0225Work From Home Guide For Filipinos 0225
Work From Home Guide For Filipinos 0225workingpinoy
 
The hidden job market
The hidden job marketThe hidden job market
The hidden job marketEhtesham Azad
 
Top 45 euronet worldwide interview questions and answers pdf
Top 45 euronet worldwide interview questions and answers pdfTop 45 euronet worldwide interview questions and answers pdf
Top 45 euronet worldwide interview questions and answers pdfjacobbell636
 
Summer of Code 09 and How to have a kick ass ICT career
Summer of Code 09 and How to have a kick ass ICT careerSummer of Code 09 and How to have a kick ass ICT career
Summer of Code 09 and How to have a kick ass ICT careersummerofcode
 
ROWAD Seminars |How to Become an Online Freelancer.
ROWAD Seminars |How to Become an Online Freelancer.ROWAD Seminars |How to Become an Online Freelancer.
ROWAD Seminars |How to Become an Online Freelancer.ROWAD Foundation
 
Top 7 design bridge interview questions and answers
Top 7 design bridge interview questions and answersTop 7 design bridge interview questions and answers
Top 7 design bridge interview questions and answersRayParlour99
 
Landing your Dream Job in Tech
Landing your Dream Job in TechLanding your Dream Job in Tech
Landing your Dream Job in Techmairna_rakhlin
 

Ähnlich wie Becoming a professional software developer (20)

500-Level Guide to Career Internals
500-Level Guide to Career Internals500-Level Guide to Career Internals
500-Level Guide to Career Internals
 
Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013
 
How to get the tech job of your dreams
How to get the tech job of your dreamsHow to get the tech job of your dreams
How to get the tech job of your dreams
 
Resumes and job interviews for tech jobs
Resumes and job interviews for tech jobsResumes and job interviews for tech jobs
Resumes and job interviews for tech jobs
 
oDesk Freelancer Manual
oDesk Freelancer ManualoDesk Freelancer Manual
oDesk Freelancer Manual
 
Confitura 2013 Software Developer Career Unplugged
Confitura 2013 Software Developer Career UnpluggedConfitura 2013 Software Developer Career Unplugged
Confitura 2013 Software Developer Career Unplugged
 
Freelancer Manual
Freelancer ManualFreelancer Manual
Freelancer Manual
 
yes!!! now you can know how to work!
yes!!! now you can know how to work!yes!!! now you can know how to work!
yes!!! now you can know how to work!
 
Karat at CMU
Karat at CMUKarat at CMU
Karat at CMU
 
odesk_contractor_manual_2013.pdf
odesk_contractor_manual_2013.pdfodesk_contractor_manual_2013.pdf
odesk_contractor_manual_2013.pdf
 
Best Practices Finding Co-Founder & Dividing Up Shares
Best Practices Finding Co-Founder & Dividing Up SharesBest Practices Finding Co-Founder & Dividing Up Shares
Best Practices Finding Co-Founder & Dividing Up Shares
 
Work From Home Guide For Filipinos 0225
Work From Home Guide For Filipinos 0225Work From Home Guide For Filipinos 0225
Work From Home Guide For Filipinos 0225
 
The hidden job market
The hidden job marketThe hidden job market
The hidden job market
 
Odesk Online Earning Bangla Tutorial
Odesk Online Earning Bangla TutorialOdesk Online Earning Bangla Tutorial
Odesk Online Earning Bangla Tutorial
 
SoT 2015 Career + kickoff
SoT 2015 Career + kickoffSoT 2015 Career + kickoff
SoT 2015 Career + kickoff
 
Top 45 euronet worldwide interview questions and answers pdf
Top 45 euronet worldwide interview questions and answers pdfTop 45 euronet worldwide interview questions and answers pdf
Top 45 euronet worldwide interview questions and answers pdf
 
Summer of Code 09 and How to have a kick ass ICT career
Summer of Code 09 and How to have a kick ass ICT careerSummer of Code 09 and How to have a kick ass ICT career
Summer of Code 09 and How to have a kick ass ICT career
 
ROWAD Seminars |How to Become an Online Freelancer.
ROWAD Seminars |How to Become an Online Freelancer.ROWAD Seminars |How to Become an Online Freelancer.
ROWAD Seminars |How to Become an Online Freelancer.
 
Top 7 design bridge interview questions and answers
Top 7 design bridge interview questions and answersTop 7 design bridge interview questions and answers
Top 7 design bridge interview questions and answers
 
Landing your Dream Job in Tech
Landing your Dream Job in TechLanding your Dream Job in Tech
Landing your Dream Job in Tech
 

Mehr von Yakov Fain

Type script for_java_dev_jul_2020
Type script for_java_dev_jul_2020Type script for_java_dev_jul_2020
Type script for_java_dev_jul_2020Yakov Fain
 
Web sockets in Angular
Web sockets in AngularWeb sockets in Angular
Web sockets in AngularYakov Fain
 
Using JHipster for generating Angular/Spring Boot apps
Using JHipster for generating Angular/Spring Boot appsUsing JHipster for generating Angular/Spring Boot apps
Using JHipster for generating Angular/Spring Boot appsYakov Fain
 
Using JHipster for generating Angular/Spring Boot apps
Using JHipster for generating Angular/Spring Boot appsUsing JHipster for generating Angular/Spring Boot apps
Using JHipster for generating Angular/Spring Boot appsYakov Fain
 
TypeScript for Java Developers
TypeScript for Java DevelopersTypeScript for Java Developers
TypeScript for Java DevelopersYakov Fain
 
Reactive Streams and RxJava2
Reactive Streams and RxJava2Reactive Streams and RxJava2
Reactive Streams and RxJava2Yakov Fain
 
Using JHipster 4 for generating Angular/Spring Boot apps
Using JHipster 4 for generating Angular/Spring Boot appsUsing JHipster 4 for generating Angular/Spring Boot apps
Using JHipster 4 for generating Angular/Spring Boot appsYakov Fain
 
Angular 4 for Java Developers
Angular 4 for Java DevelopersAngular 4 for Java Developers
Angular 4 for Java DevelopersYakov Fain
 
Reactive programming in Angular 2
Reactive programming in Angular 2Reactive programming in Angular 2
Reactive programming in Angular 2Yakov Fain
 
Reactive Thinking in Java with RxJava2
Reactive Thinking in Java with RxJava2Reactive Thinking in Java with RxJava2
Reactive Thinking in Java with RxJava2Yakov Fain
 
Angular2 Development for Java developers
Angular2 Development for Java developersAngular2 Development for Java developers
Angular2 Development for Java developersYakov Fain
 
Reactive Thinking in Java
Reactive Thinking in JavaReactive Thinking in Java
Reactive Thinking in JavaYakov Fain
 
Angular 2 for Java Developers
Angular 2 for Java DevelopersAngular 2 for Java Developers
Angular 2 for Java DevelopersYakov Fain
 
Overview of the AngularJS framework
Overview of the AngularJS framework Overview of the AngularJS framework
Overview of the AngularJS framework Yakov Fain
 
Dart for Java Developers
Dart for Java DevelopersDart for Java Developers
Dart for Java DevelopersYakov Fain
 
RESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoTRESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoTYakov Fain
 
Integrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business WorkflowIntegrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business WorkflowYakov Fain
 
Intro to JavaScript
Intro to JavaScriptIntro to JavaScript
Intro to JavaScriptYakov Fain
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web ApplicationYakov Fain
 
Java Intro: Unit1. Hello World
Java Intro: Unit1. Hello WorldJava Intro: Unit1. Hello World
Java Intro: Unit1. Hello WorldYakov Fain
 

Mehr von Yakov Fain (20)

Type script for_java_dev_jul_2020
Type script for_java_dev_jul_2020Type script for_java_dev_jul_2020
Type script for_java_dev_jul_2020
 
Web sockets in Angular
Web sockets in AngularWeb sockets in Angular
Web sockets in Angular
 
Using JHipster for generating Angular/Spring Boot apps
Using JHipster for generating Angular/Spring Boot appsUsing JHipster for generating Angular/Spring Boot apps
Using JHipster for generating Angular/Spring Boot apps
 
Using JHipster for generating Angular/Spring Boot apps
Using JHipster for generating Angular/Spring Boot appsUsing JHipster for generating Angular/Spring Boot apps
Using JHipster for generating Angular/Spring Boot apps
 
TypeScript for Java Developers
TypeScript for Java DevelopersTypeScript for Java Developers
TypeScript for Java Developers
 
Reactive Streams and RxJava2
Reactive Streams and RxJava2Reactive Streams and RxJava2
Reactive Streams and RxJava2
 
Using JHipster 4 for generating Angular/Spring Boot apps
Using JHipster 4 for generating Angular/Spring Boot appsUsing JHipster 4 for generating Angular/Spring Boot apps
Using JHipster 4 for generating Angular/Spring Boot apps
 
Angular 4 for Java Developers
Angular 4 for Java DevelopersAngular 4 for Java Developers
Angular 4 for Java Developers
 
Reactive programming in Angular 2
Reactive programming in Angular 2Reactive programming in Angular 2
Reactive programming in Angular 2
 
Reactive Thinking in Java with RxJava2
Reactive Thinking in Java with RxJava2Reactive Thinking in Java with RxJava2
Reactive Thinking in Java with RxJava2
 
Angular2 Development for Java developers
Angular2 Development for Java developersAngular2 Development for Java developers
Angular2 Development for Java developers
 
Reactive Thinking in Java
Reactive Thinking in JavaReactive Thinking in Java
Reactive Thinking in Java
 
Angular 2 for Java Developers
Angular 2 for Java DevelopersAngular 2 for Java Developers
Angular 2 for Java Developers
 
Overview of the AngularJS framework
Overview of the AngularJS framework Overview of the AngularJS framework
Overview of the AngularJS framework
 
Dart for Java Developers
Dart for Java DevelopersDart for Java Developers
Dart for Java Developers
 
RESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoTRESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoT
 
Integrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business WorkflowIntegrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business Workflow
 
Intro to JavaScript
Intro to JavaScriptIntro to JavaScript
Intro to JavaScript
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
 
Java Intro: Unit1. Hello World
Java Intro: Unit1. Hello WorldJava Intro: Unit1. Hello World
Java Intro: Unit1. Hello World
 

Becoming a professional software developer

  • 1. Becoming a Professional Java Developer Yakov Fain, Farata Systems, USA Kiev, Ukraine 2012
  • 2. Я понимаю, что многие из вас могут не согласиться с моей точкой зрения, считая, что вы живете в другой стране, которая заставляет вас вести себя по другому. Но моя цель – помочь вам понять правила игры на международном рынке ИТ, безотносительно вашего географического местоположения. I realize that many of you may not agree with my point of view arguing that you live in a different country that force you to behave differently. But my goal to help you understand the rules of the game in the international IT market regardless of your geographical location.
  • 3.
  • 4. What is this talk about Ø  How to look for a job (resume, interview, offer) Ø  Cultural differences in outsourcing projects Ø  What being a senior Java developer means Ø  Working as employee or contractor Ø  What s your salary Ø  Keeping your skills up to date
  • 5. The game called Looking for job The IPO pattern: Getting the Interview Passing the interview Considering the Offer Solve each of these tasks s-e-p-a-r-a-t-e-l-y!!!
  • 6. Your First Job •  Who s your first employer and what s your first salary don t matter. •  Your goal is to learn how to: - Work in a team - Talk to business users (turn off your iPod… periodically) - Manage your time - Deliver what s expected •  Try to answer the question, Is programming the right career for you?
  • 7. Head Hunters Q. What real-estate agents and head hunters have in common? They both work for the other party. They want to close the deal no matter what. Never not burn bridges with head hunters. We need each other!
  • 8. Are you a Senior Java Developer? Yes, because I’m already 25 and work with Java for 5 years. Yes, look at the title on my business card! Yes, we have 20 Java developers in our company, and everyone comes to me for help.
  • 9. Are you a Senior Java Developer? Why your project is built on Struts Framework?
  • 10. Are you a Senior Java Developer? Can you compare using HTTP vs. Sockets?
  • 11. Are you a Senior Java Developer? Would introducing Yes, because I’m already 25 and work with Java for 5 years. messaging benefit Yes, look at the title on my business card! your project? Yes, we have 20 Java developers in our company, and everyone comes to me for help.
  • 12. Are you a Senior Java Developer? Can you work on Yes, because I’m already 25 and work with Java for 5 years. assignments Yes, look at the title on my business card! without Yes, we have 20 Java developers in our company, and everyone comes to me for help. supervision?
  • 13. Are you a Senior Java Developer? Are you a problem Yes, because I’m already 25 and work with Java for 5 years. or a solution? Yes, look at the title on my business card! Yes, we have 20 Java developers in our company, and everyone comes to me for help.
  • 14. How people from Kiev answer to “Why are you looking for a job?” I don’t really need money – I own an apartment and rent it out. I like my job, but just want to see what’s available. Our client is in London, and the VPN connection is very slow Don’t be afraid to say that you need more of these:
  • 15. Looking for Another Job •  Do it when the sun is bright and the grass is green. •  Making a couple of more hryvnias a month is not a reason for switching jobs. •  Learning new technologies, growth opportunities can be a reason for a move. •  Do I have to quit to get raise? Can’t this stupid boss understand that I may leave soon? How to ask for a raise?
  • 16. Golden Rules of Resignation Don t resign just because you are angry with your boss. Give an advanced notice - verbally and in writing. Do not accept a counter-offer. Do not resign until you’ve found another job. Do not give advices to your boss on the way out. Don t post negative blogs about the company you quit.
  • 17. Contractors (a.k.a. Consultants) • Contractors work for money. They do not have career goals. • In the USA they work on W2 , corp-to-corp , or on 1099 . • There are try-and-buy or contract-to-hire deals.
  • 18. I work and they get rich! Most consultants work for clients through a 3-rd party firm/agency. Such agencies make a buck on every hour you worked. Don’t like it? Find a direct contract. Can’t find a direct contract? Get back to work! Arbeiten!
  • 19. Be an Employee If… Ø  You want to have a title “Senior Director”, and you are planning to move up the corporate ladder. Ø  Job interview are stressful for you. Ø  You need good medical coverage (USA specific). Ø Having a ping-pong table in the office is more important than being an IT Pro with up-to date skills. Ø  You are one of the first employees in a startup company. Ø  Your spouse already works as a contractor.
  • 20. Be a Contractor If… Ø You don’t care about your title – you just need cash. Ø You d like to have a chance to work with different technologies. Ø You like learning new stuff and keeping your skills up to date. Ø You hate corporate politics. Ø You enjoy meeting new people and working in different environments. Ø You are reasonably healthy.
  • 21. What’s the main goal of a professional IT contractor? Petro, XYZ is a library of good looking UI components. Please use it in our Web application. You know for sure that using this UI library will slow down the development and XYZ has some bugs. How to react?
  • 22. Client Contractor
  • 23. While Comparing Incomes, Remember This Contractors don’t get any benefits. •  No paid holidays •  No paid vacations •  No paid sick days •  No paid trainings •  No paid gym memberships •  No paid visit to massage parlors
  • 24. Lost in translation The American team lead John to the remote developer Petro: “Petro, I like the way you programmed classes Employee and Contractor with methods increaseSalary() and increaseRate(). You could have done it a little bit differently by introducing the interface Payable with one generic method increasePay().” Petro thinks to himself: “John likes my solution. There are so many different ways of achieving the same result in Java. It’s time to work on the next assignment.” What John really meant: “Petro is clearly junior and has no clue about designing to interfaces. If he won’t fix his junk code, I’ll replace him.”
  • 26. Why Ukrainian programmers are considered brain dead right after celebrating their 35th birthday?
  • 27. What s your salary? - It s the most confidential and sensitive information in the USA. - Do not tell anyone, and do not ask anyone. - People who are entitled to know this number already know. Only your boss, HR, and, sometimes your spouse know this secret number.
  • 28. Salary Use Cases 1 At the corporate party. Vlad to Peter: “I got a $10K bonus”. Peter: “Wow! That’s so cool!” They don’t go for a beer anymore.
  • 29. Salary Use Cases 2 Two former college mates at a family party. Vlad spent 3 years working on the PhD. Peter was working for an offshore company and revealed his salary of $3K. Vlad got divorced three months later.
  • 30. Salary Use Cases 3 Masha is a team lead. Super star Petro literally programmed the entire project himself. Petro found out that Masha was making more money. Petro is pissed off. He didn’t know that without Masha they wouldn’t even get this project and he would have to look for a job.
  • 31. Salary Use Cases 4 Alex found out that his teammate Petro is making more. During annual review Alex said, “Why Petro is making more? I have a lot more Java experience than Petro.” The manager promised to look into this. Alex was laid off two weeks later.
  • 32. Salary Use Cases 5 You’re making $3K. A job ad offers $3.5 - $4K. The first person to mention the number loses
  • 33. Keep your skills up to date Keeping your technical skills current is your job security. Do not just pick training from the list of courses offered by your employer – find a quality training yourself and get enrolled. Who s teaching is more important than what s being taught. Technical conferences often feature great instructors. Talk to vendors at the conferences.
  • 34. Legally Free Books You can legally download two of my e-books for free: 1. Enterprise Software Without the BS 2. Java Development for Kids, Parents and Grandparents in Russian, French, and English
  • 35. Useful URLs Email: yfain@faratasystems.com Our company Farata Systems: faratasystems.com Our company blog: flexblog.faratasystems.com Personal Blog: yakovfain.com Twitter: @yfain Podcasts in Russian: americhka.us, btradiopodcast.com Podcasts in English: nobsit.libsyn.com Thank you for coming!