software development careers: why, what, and how?

54
Software Development Careers: What, Why, and How? This evolving presentation was initially given to the 3rd year B.Tech. students at JIIT. It is useful for all engineering and computing students. It is being frequently updated in view of the newer information and insights. Published on: 13 rd June, 2015 Last update: 24 th July, 2015 Sanjay Goel JIIT, Noida, India, 2015

Upload: sanjay-goel

Post on 28-Jul-2015

2.524 views

Category:

Career


0 download

TRANSCRIPT

Page 1: Software Development Careers:  Why, What, and How?

Software Development Careers:

What, Why, and How?

This evolving presentation was initially given to the 3rd year B.Tech. students at JIIT.

It is useful for all engineering and computing students.

It is being frequently updated in view of the newer information and insights.

Published on: 13rd June, 2015

Last update: 24th July, 2015

Sanjay Goel

JIIT, Noida, India, 2015

Page 2: Software Development Careers:  Why, What, and How?

Ecosystem:

Is something Changing Drastically?

Page 3: Software Development Careers:  Why, What, and How?

Growing Indian Economy

India is the bright spot in the global landscape - IMF

Goldman Sachs, 2007

Bloomberg Business, April 2015

Source: US Department of Agriculture

Page 4: Software Development Careers:  Why, What, and How?

Growing Indian Consumers and their Buying Power• The rural demand saved India from economic crisis in 2008.

• In the last one decade, the Gross Enrolment Ratio (GER) in higher education has

increased from 11% to 20%. The target is to increase is to 50% by 2030.

• Rapid increase in wealth and urbanisation

o India has been the biggest contributor to global poverty reduction between 2008-11, with

around 140 million people lifted out of absolute poverty -- Global Monitoring Report on

the Millennium Development Goals, The World Bank, 2014-15.

o Wealth in India will grow fastest @ 21% between 2014 and 2019 , the 2nd best is China

(10.3%). -- Boston Consulting Group report, 2015

o Indian economy : 1 Trillion Dollar (2008) 2 Trillion Dollar (2014),

The World Bank, 2015.

o Indians earning >$5/day: 5 crore (2010) 15 crore (2020)

o $1-$5/day: 35 crore (2010) 50 crore (2020)

o e.g., Bullocks in an eastern UP village: 1200 (1995) 04 (2005).

(Reason: Dalits who used to plough the bullocks had moved to the city).

o e.g., Branches/Profit of J&K Bank: 280/1.48 Cr (1989)777/1,100 Cr (2014)

o In many pockets, the labour wages have significantly increased as labourers are not

available. Thanks to social welfare scheme.

• The number of creators and consumers is increasing rapidly in India.

Page 5: Software Development Careers:  Why, What, and How?

Changing Needs for Building

New Generation IT Start-ups

• Reduced capital requirement

– Cloud Services for servers

– Open Source for infrastructure and developmentn software

– Cheaper Bandwidth

– Cheaper access to marketing channels because of internet penetration

Page 6: Software Development Careers:  Why, What, and How?

Changing India, WIPO, 2014

Specialisation Index

Page 7: Software Development Careers:  Why, What, and How?

Changing India

• According to a 2010 Nasscom report, there are over 300 captive and

Engineering R&D service companies in India employing about 1.5

lakh engineers. It forecasts that Engineering R&D will reach $24

billion by 2015, and possibly $45 billion by 2020.

• 85% population will have high-speed (3G and 4G) connections in next

5 years.

– Social media users in rural India: 1.2 crore (2014) 2.5 crore (1015)

• IT services majors plan automation jobs to cut down

– Incremental recruitment by the IT services industry will halve to

55,000 in fiscal 2018 from 105,000 in fiscal 2014 (Crisil report,

2014)

– e.g., Wipro may bring down 30% (47,000) of its headcount in the

next three years. (2015 News)

Page 8: Software Development Careers:  Why, What, and How?

Changing India

NASSCOM Startup Report 2014

• India currently has around 3100 startups in the technology product and digital

space.

• India is the 3rd largest startup ecosystem globally adding 800 startups annually.

• By 2020 there would be more than 11,500 startups, employing over 2.5

lakh people.

• Indian startup investments increase by 300% in Q1 2015, beats China in the

number of deals

Page 9: Software Development Careers:  Why, What, and How?

Changing IndiaGovernments in Action• GOI sets up a new Ministry of Skill Development and Entrepreneurship, 2014

• Rs. 20,000 crore corpus for MUDRA (Micro Units Development Refinance

Agency) Bank, to refinance Micro-Finance Institutions --2015 Budget

• Rs. 1000 crore for SETU (Self-Employment and Talent Utilisation) to support all

aspects of startup businesses, and other self-employment activities,

particularly in technology-driven areas -- 2015 Budget

• SEBI approves a new trading platform and relaxes listing and fund raising norms

for startups, July, 2015

• Startup Village: Kerala Govt supported incubator now aims to create 10000 start-

ups by 2020 -- 22/07/15, Times of India

• T-Hub, Hyderabad: Telangana Govt aims make it the largest incubation facility in

India -- 23/07/15, The Hindu

Page 10: Software Development Careers:  Why, What, and How?

Changing India

• Global Giants are acquiring Indian startups – Google, Facebook, Microsoft, Oracle,

Amazon, eBay, Twitter, Yahoo, NewsCorp.

• Ratan Tata, Narayan Murthy, Azim Premji and many others invest heavily in

several Ecommerce and other startups. Even celbraties start finding startups:

Yuvraj Singh is funding two startups, 2015

• Times of India now publishes a weekly full page feature: Startrek

• The membership in Indian Angel Net-work : 60 (in 2007) 325 (2015).

• Infosys announces a change in its strategy, 2015

- Plans to train 70,000 employees in Design Thinking by end of this fiscal year

March 2016.

• Successful startups are enthusiastically grooming, funding, and supporting new

startups.

– e.g., “after 2 yrs, if you do not leave me and start your own business, I have

failed” – Khurram Mir, Founder, Harsha Natural, Kashmir

• <1% of start-ups by students (2008) 3% (2014).

• Mohan Das Pai‟s Vision 2025 -- (20/07/2015, CNBC TV)

– 1 lakh Start-ups, valued US $ 500 Billion, 30 lakh staff

Page 11: Software Development Careers:  Why, What, and How?

Changing India

• Bloomberg list of top 25 FDI destinations

– 2015: China, USA, India,...

• Top Three countries as per Baseline Profitability Index (BPI)

- Unctad World Investment Report

• 2015: India, Qatar, Botswana (SA: 51; China: 65; Brazil: 99; Russia: 105)

• 2014: Botswana, HK, Taiwan (India: 6; China: 43; SA: 54; Brazil: 95; Russia: 108)

• 2013: HK, Botswana, Taiwan (India: 7; China: 21; SA: 41; Brazil: 91; Russia: 98)

• India consistently in the list of three most favoured investment destinations

- Global Capital Confidence Barometer, Report, E&Y

– April, 2014: China, India, Brazil

– Oct, 2013: India, Brazil, China

– April, 2013: China, India, Brazil

– Oct, 2012: China, USA, India

– April, 2012: China, India, USA

– Oct, 2011: China, India, Brazil

Page 12: Software Development Careers:  Why, What, and How?

Changing IndiaGlobal job creation and youth entrepreneurship survey 2015, E&Y

• A majority of young population want to run their own business at some point.

– Global: 65%

- 27% immediately and 38% after working for someone else first.

- 36% have a fully formed idea. 25% have started developing a business plan.

– Mexico-91%; China-89%; Sub-Sahara Africa-88%; India-86%; ...Japan-36%

- 26% ideas in India are technology based business.

• Entrepreneurs in China + India feel most confident with economic direction

- Domestic - 95%

- Global - 89%

Page 13: Software Development Careers:  Why, What, and How?

Changing India• Corporate India announced their plans for collective

investment of Rs. 4.5 lakh crore in next 5 years in different

projects wrt Digital India Initiative, 2015.

– They hope to create 18 lakh new jobs through these projects.

• TCS plans to hire 60,000 more staff within one year.

– Big Projects announced by Ambanis, Sunil Mittal, Anil Agarwal, KM

Birla, etc.

• Govt of India has initiated an Open API policy

– All the relevant information and data of a Government Organization

shall be made available through Open APIs to other e-governance

applications and systems and the public.

• Likely to fuel entrepreneurship and economic growth while

increasing government transparency and efficiency as it has done

in some other countries, e.g., USA.

Page 14: Software Development Careers:  Why, What, and How?

India’s Ranks in Global Innovation Index, 2014

76

106

6693

31

82

110

935087

128

5794

58

78

122

106

33

99

31

83

80120

128

46

59

41

50

24

87

100

96

Page 15: Software Development Careers:  Why, What, and How?

Education Vs Innovation

Bruce L. Gary (1993), A New Timescale For Placing Human Events, Derivation Of Per Capita Rate Of

Innovation, and a Speculation On The Timing of The Demise Of Humanity

Page 16: Software Development Careers:  Why, What, and How?

Career

Do You Know Your Drivers?

Page 17: Software Development Careers:  Why, What, and How?

Career Anchors

Schein, MIT, 1996

• Autonomy/independence

• Security/stability

• Technical-functional competence

• General Managerial Competence

• Entrepreneurial Creativity.

• Service or Dedication to a Cause

• Pure Challenge

• Life Style.

• Future: we will have to become perpetual learners, more self reliant, and more capable than ever in dealing with surprises of all sorts.

– It should be a field day for those anchored in pure challenge!

Source: Two Decade long research

Page 18: Software Development Careers:  Why, What, and How?

Job Choices: New trends.

Stanford & UC Santa Barbara study, 2004

• Top 3 criteria for job choice among young graduates

– Intellectual challenge

– Financial package

– Reputation for ethics and caring about employees

Page 19: Software Development Careers:  Why, What, and How?

Ten Point Recipe for Success Azim Premji, At IIT Madras, 2001

1. Dare to dream

2. Define what you stand for

3. Never lose your zest and curiosity

4. Always strive for excellence

5. Build self-confidence

6. Learn to work in teams

7. Take care of yourself

8. Persevere

9. Have a broader social vision

10.Never let success go to your head

Source: 35 years of illustrious experience

Page 20: Software Development Careers:  Why, What, and How?

Work SatisfactionYour Career Sweet Spot is at the intersection of your

• Interests : what excites you

• Personality: the way you like to work and relate to others

• Skills and abilities: acquired and natural, what you can do easily

“You can only become truly accomplished at something you love.

Don‟t make money your goal.

Instead pursue the things you love doing and then do them so well that

people can‟t take their eyes off of you” - Maya Angelou

Page 21: Software Development Careers:  Why, What, and How?

Software Developer‟s Profession

What Does it Involve?

Page 22: Software Development Careers:  Why, What, and How?

Distinguishing features of Software Development1. Support for Cognitive processes Vs Physical processes.

• Ill-defined and socio-technical problems.

2. No high volume manufacturing/repeated implementations.

• New problems everyday.

3. Imagination Vs Physical constraints. Like „writing,‟

• Possible applications in all discipline

• Knowledge acquisition, construction, structuring, and representation.

4. Main Challenges- Requirements, Debugging, Project scoping and estimation

• Projects face higher uncertainty factor,

• Several iterations.

5. Highly vulnerable to failures and unpredictable behavior

• Discrete abstractions, complex interactions, inherent invisibility

6. Maintenance- learning misunderstood and changing requirement, removing

development errors and continued development.

7. Psycho-social Challenges - intellectual property, security, privacy, anonymity,

offensive content, cyber regulation, cultural diversity, user psychology and so

on.

8. Rapidly Evolution - Theories, best practices, and development tools

• Re-usage based development methodologies are more popular

Page 23: Software Development Careers:  Why, What, and How?

Some Facts about Software Development

1. 80% of software work is intellectual. A fair amount of it is creative. Little

of it is clerical.

2. The best programmers are up to 28 times better than the worst

programmers.

3. Reusable components are 3x as hard to build, and should be tried out in

three settings.

4. Design is a complex, iterative process. Initial design solutions are usually

wrong, and certainly not optimal.

5. Error-removal is the most time-consuming phase of the life cycle.

– Rigorous inspections can remove up to 90% of errors before the first

test case is run.

6. Maintenance typically consumes 40-80% of software costs.

– Understanding the existing product is the most difficult task of

maintenance.

Page 24: Software Development Careers:  Why, What, and How?

A Taxonomy of Software development related

Engineering Activities

1. Planning: project and risk planning

2. Design: design activities at various stages and multiple levels

3. Realization: implementation and maintenance

4. Evaluation: selection and evaluation of tools, technology, products,

and process

5. Client Interface: requirements and support

6. Ubiquitous Activities: process support activities that apply across all

phases of a project

7. Overarching Activities: applied companywide across the projects

Page 25: Software Development Careers:  Why, What, and How?

A Taxonomy of Software development related

Engineering Activities

Design: at various stages and multiple levels8. Prototyping

9. Component and interface Design

10. Component Selection

11. Algorithm/ Computational Procedure Design

12. Architecting

13. Application Design

14. Service Design

15. Product Design

16. System Design

17. Network Design

18. Process Design

19. Infrastructure Design

20. Security Architecture Design

21. Process Tailoring

22. Test Design

23. Content Design

24. Standardization

25. Restructuring

26. Intellectual Property Management

Planning:

Project and risk planning1. Time to market Planning

2. Estimation and Costing

3. Resource Planning and

Management

4. Project Scheduling

5. Risk Planning and Mitigation

6. Staffing and Team

Development

7. Project Monitoring and

Control

Page 26: Software Development Careers:  Why, What, and How?

A Taxonomy of Software development related

Engineering Activities

Realization : Implementation and Maintenance27. Application Customization

28. ApplicationDevelopment

29. Component Development

30. Product Development

31. Service Development

32. System Integration

33. Infrastructure set-up

34. Process Implementation and Change Management

35. Configuration Management

36. Code AnalysisBuild and Release Management

37. Validation and Verification (Testing)

38. Maintenance, Enhancement, Up-gradation, Porting

39. Data Migration

40. Technology Migration

41. Performance Tuning

42. System Administration

43. Database administration

44. Network administration

45. Security administration

46. Service Management

47. Standards and regulatory

Compliance

48. Program Comprehension and

re-documentation

49. Reconstruction

50. Code Archaeology

51. Disaster recovery

52. Production support

Page 27: Software Development Careers:  Why, What, and How?

A Taxonomy of Software development related

Engineering ActivitiesClient Interface:

Requirements and support 61. Technical Marketing

62. Consulting

63. Feasibility Study

64. Work flow/Process Study and Modeling

65. Visualization

66. Knowledge Elicitation

67. Requirement Engineering

68. Migration Assessment

69. Test assessment

70. Product/ Requirement Definition and

Specification

71. Business Technology Alignments

72. Deployment and roll out

73. User Acceptance and Usability Analysis

74. User interface Design

75. End User Documentation

76. Customer Support

77. Infrastructure planning

Evaluation: Selection and

evaluation of tools,

technology, products, and

process 53. Application Audit

54. Process Audit

55. Technology Audit

56. Tools and Technology Selection and

Evaluation

57. Architecture Evaluation

58. Impact Analysis

59. Value Analysis

60. Usability Analysis

Page 28: Software Development Careers:  Why, What, and How?

A Taxonomy of Software development related

Engineering Activities

Overarching Activities applied companywide across the projects 87. Technology Entrepreneurship

88. Program Management

89. Infrastructure Management and Maintenance (Operations Management)

90. Contract Management

91. Partnership/ Outsourcing/ Vendor Development

92. Product Quality Assurance and Control

93. Process Quality Assurance and Control

94. Procurement

Ubiquitous Activities process support activities across all phases of a

project78. Measurement

79. Technical Documentation and Presentation

80. Innovation

81. Research

82. Presenting ideas and insights

83. Knowledge Management

84. Training and Talent Development

85. Group work, people management, and leadership

86. Idea convergence

Page 29: Software Development Careers:  Why, What, and How?

Professionals Recommendation for Most Important

Software Development Activities wrt Education

1. Algorithm/Computational Procedure/Component and Interface Design (79% respondents)

2. Application/Product/System Design/Prototyping (75%)

3. Product/Requirement Definition and Specification/Requirement Engineering/

Visualization/Consulting (75%)

4. Code Analysis, Program Comprehension, Re-documentation (68%)

5. Innovation and research (66%)

6. Application, Component Development/System Integration (65%)

7. Group work, people management, and leadership (65%)

8. Estimation and Costing, Project Scheduling (63%)

9. Product/Process Quality Assurance and Control (60%)

10. Validation and Verification (Testing) (58%)

11. Technical Documentation, Presenting Ideas and Insights (54%)

12. Test Design (52%)

13. User Interface Design (47%)

14. User Acceptance, End-user Documentation, Deployment and Roll-out, Customer support

(45%)

15. Security Architecture Design, Architecting, Component Selection (42%)

16. Project Monitoring and Control (40%)

17. Tools and Technology Selection and Evaluation (40%)

18. Usability/Value/Impact Analysis (39%)

Page 30: Software Development Careers:  Why, What, and How?

• Comparative study of star and average performer at Bell labs

which showed that

– taking initiative was ranked as the most important strategy

by star performers, while it was least important for average

performers.

– ability to give good presentations was a core strategy for

average performers, while it was peripheral for the top

engineers.

How Bell Labs creates star performers.

Kelley R. and Caplan J. Harvard Business Review,

July-August 1993.

Page 31: Software Development Careers:  Why, What, and How?

Competencies of Exceptional and Non-Exceptional Software Engineers

Turley and Bieman, Journal of Systems and Software, Jan 1995

Task Accomplishment Competencies

• Leverages/Reuses Code

• Uses Methodical Problem Solving

• Mastery of Skills & Techniques (4)

• Writes/Automates Tests with Code

• Prior Experience

• Obtains Necessary Training/Learning

• Uses Code Reading

• Use of New Methods or Tools

• Schedules and Estimates Well

• Use of Prototypes to Asses Design

• Possesses Unique Domain Knowledge

• Uses Structured Techniques for Communication

Situational Skills Competencies

• Concern for Reliability & Quality

• Focus on User or Customer Needs

• Thinking - Strong Analytic Skills

• Emphasizes Elegant and Simple Solutions

• Innovation

• Attention to Detail

• Design Style

• Responds to Schedule Pressure by Sacrificing

Parts of the Design Process (2)

Personal Attributes

• Driven by Desire to Contribute (3)

• Pride in Quality and Productivity

• Enjoys challenge of assignment - sense of fun

• Lack of Ego

• Perseverance

• Desire to Improve Things

• Pro-active/Initiator/Driver

• Maintains “big picture" View (5)

• Desire to Do/Bias for Action

• Thoroughness - Methodical , Organized,

Cautious

• Driven by a Sense of Mission

• Exhibits & Articulates Strong Convictions (3)

• Mixes Personal and Work Goals

• Pro-active Role with Management (2)

Interpersonal Skills Competencies

• Seeks Help (1)

• Team Oriented

• Helps Others (1)

• Willingness to Confront Others (4)

SEs at HP, Common/NO or v. small difference/ > in Expert/ > in Non expert

Page 32: Software Development Careers:  Why, What, and How?

Level Large size IT

Services company

Large/Midsize Product

development company

Small size product

development company

Existential 1. Ability to work

in teams.

1. Ability to work in

teams.

2. Ability to apply

knowledge

1. Perseverance,

commitment, and hard work.

Pivotal

3. Perseverance,

commitment, and hard work.

2. Accountability and

responsibility.

3. Ability to apply

knowledge.

4. Problem solving skills.

5. Research skills.

Critical 2. Perseverance,

commitment, and

hard work.

4. Accountability and

responsibility.

5. Analytical skills.

6. Problem solving skills.

7. Research skills.

6. Attention to detail.

7. Analytical skills.

8. Integrity and authenticity.

9. Readiness for lifelong

learning.

10. Technical competence.

Obligatory 3. Listening skills. 8. Integrity and authenticity.

9. Critical thinking.

10. Design skills.

11. Technical competence.

11. Quality consciousness and

pursuit of excellence.

12. Critical thinking.

13. Design skills.

Competencies Expectation by different kind of companies

Page 33: Software Development Careers:  Why, What, and How?

Large size IT service

MNC

Small size Indian IT product Company

1. Familiarity with IT

systems

2. Ability to be flexible

and work analytically

in a problem solving

environment

3. Good communication

and interpersonal

skills

4. Good voice and

accent

5. Ability to resolve

technical issues and

escalate issues when

appropriate

6. Good attitude and

willingness to learn

vii. Okay to work in

24×7 shifts.

1. Passion to code and quest to work in Product Development

environment.

2. Extensive knowledge in object oriented analysis and design concepts.

3. Accountable for anticipating and resolving problems that impact the

current or developing products.

4. Ability to perform the research, design, definition and implementation

of the product software applications.

5. Deliver high quality software applications and solutions that are

extensible and scalable within the specified timeline.

6. Contributes to Code Reviews.

7. Knowledge in development environments, debugging tools, source

control systems.

8. Demonstrate creativity in identifying effective approaches to software

and solution development process and promote opportunities for

product innovation.

9. The ability to prioritise and plan effectively.

10. Must be comfortable working in small/large teams.

11. Should have Self confidence , dynamic personality and belief in

challenging yourself xii. Should willing to go extra mile to make a

difference for themselves and for the organization.

12. Should have good communication and interpersonal skills.

13. Having the enthusiasm to learn and grow with our organization

Competencies Expectation by a large size MNC IT Services company

Vs a Small size Indian IT product company

Page 34: Software Development Careers:  Why, What, and How?

Pearls of Wisdom

From a few JIIT Alumnus

Graduated during 2005 to 2009

Page 35: Software Development Careers:  Why, What, and How?

Messages from few JIIT AlumniDr. Amit Pandey, 2005, Chief Scientist, AldebaranRobotics,

France

• It is the time to thoughtfully dream of a goal, carefully identify the

milestones to achieve that and smartly plan "trajectories" to reach

those milestones.

• Focus on learning from everyone you meet on the way, instead of

wasting time in criticizing them.

• Take advice from within you as well. You will be closer to the

dream... but keep in mind, learning is continuous - A Learner

Page 36: Software Development Careers:  Why, What, and How?

Messages from few JIIT Alumni

Abhishek Gupta, 2005, Google, USA• Try to apply for a job where you will learn something new.

It will be scary at first but the long term benefits besides

knowledge include building self-confidence to tackle any

task in the future

Page 37: Software Development Careers:  Why, What, and How?

Messages from few JIIT Alumni

Prakash Gupta, 2005, Google, USA• Dream high and stick to your passion whatever that might be.

• Sharpen your problem solving, algorithmic and data structure

skills. Do not get carried away with specifics of language these

can be picked at any time.

Page 38: Software Development Careers:  Why, What, and How?

Messages from few JIIT AlumniVaibhav Choudhry, 2005, JDK team, Oracle (SUN), India

• I am privileged to work with the best engineers in the world. My one line of code goes to 6

billion device.

• I had powered ON first computer ever in my life at JIIT

• Coming to 3rd year, Our team of 4 delivered a project to ST Microelectronics, which was

judged by them as the BEST project out of 49 colleges. We delivered this just after our exam

with 200 cups of tea and no sleep of 6 days.

• We had a tough time in placement as we were the first batch of JIIT. Can you guess the % of

placement (It was 100 %)... How ?

• 3 of our friends work in Google USA. 20+ work on R&D. 10+ develop the core of

engineering. A few run their own company... How ?

• Joined a small services company from college placement -> Shifted to TCS in 3 months ->

Shifted to Sun Microsystems (the maker of java, solaris, Zfs, and many more) in 9 months

and working till date... Why ?

• Think of all these questions and you will stand right there, where you want to be ! All the

best.

• Live fearless! Think Rationale! Build, Break and Rebuild

Page 39: Software Development Careers:  Why, What, and How?

Messages from few JIIT AlumniPravesh verma, 2005, Senior Consultant, SAP Labs

• The perception of the IT market has changed over the past 10 years and so did the aspirations

of the fresh graduates. Now fresher are also seeking opportunities to work in start-ups or

trying to start their own new ventures. Markets is easily accepting new ideas from startups if

they are potentially good and it is providing a substantial platforms for the entrepreneurial

inclinations of new generations.

• Young and fresh minds are coming up with great ideas and new technologies like cloud/ big

data/ IoT etc, are acting as catalyst to get them the shape of new products and services.

• This is the best time if you are planning for a new startup or if you are looking to work in

fields which are new and different from the traditional platforms existed earlier.

• Industries to look for in near future are the one having new amalgamations of electrical and

IT fields and by this I clearly is pointing to areas like AI (Artificial Intelligence), IoT (Internet

of Things) and Robotics.

Page 40: Software Development Careers:  Why, What, and How?

Some other stars of the1st Batch• Vijayanand Chokkapu - Amazon (Forecasting)

• Vivek Sheel - Microsft

• Akansha - Microsoft

• Yogendra Rajput - BallyTechnology (Gaming company)

• Ravi Solanki - Qualcomm (before AMD)

• Chaitanya Ravi - Bloomberg

• Pravesh Verma - SAP (Have a patent on his name too)

• Aditya Kotari - SpiderCloud ( works on wireless technology)

• Neelima B - Pegasystems (Predictive Technology)

• Karan Bhatia - Marketing head - Transtutors

• Nakul Saxena - Project Manager Ciber.

• Deepak K - Researcher, Infosys Lab.

• Robin Singh – Texas Instruments (FPGA Programming)

• Abhishek Singh - Researcher in Juniper Technology

• Ankit Garg - Delhi - Starting his own company on Software Educational tool.

• Setu Garg/Chirag/Swaroop - CEO Woikr

• Ankur Jain (ECE) - Founder of Ajonit-Software (His blog on Software Testing also

makes good money for him)

Page 41: Software Development Careers:  Why, What, and How?

Messages from few JIIT AlumniKumar Lomash, 2006, Senior Computer Scientist, Adobe, India

• I always find the quote by Dijkstra very inspiring. It keeps me focused on the

problems than the technology. "computer science is no more about computers

than astronomy is about telescopes". A true engineer should always remember

this, it has helped me single out interesting projects and problems from others

which are a distraction at best in the industry.

• Every project team has certain roles which focus on the fundamental problems

like algorithms, software design, architecture, etc. And then there are other roles

which are technology specific like which language to use, platform specifics and

technical know how. To be and remain a sound engineer one should always

focus on the former roles and challenges.

Page 42: Software Development Careers:  Why, What, and How?

Messages from few JIIT AlumniAmal Tiwari, 2006, Lead UX Designer, InMobi, India

• Make. Share. Repeat. Given what we do for a living and the resources we have

today, it is easier to build any idea you have and share with people. Get feedback

and improve. Question convention. For HCI/Design folks, having diverse

experiences is very important in life to build world-class products at scale.

• Passion + integrity + hard work

– I can't stress enough how important it is to have all the three.

• It's good to have a purpose.

• Honesty and morals aren't just dictionary words.

• "Slog". Struggle is necessary.

• GPA stops mattering.. Eventually In reality, GPA matters for some time after

college. But in the long run, what matters is what you have done, what you have

built and where you are going. I have seen many examples of people with low GPA

doing well because they kept working hard on projects, built and launched stuff;

they were the right mix of humility and confidence.

• It's an exciting time to be a CS (or HCI) guy! Best wishes

Page 43: Software Development Careers:  Why, What, and How?

Messages from few JIIT AlumniAnuja Sharma, 2006, PhD candidate, UTAH University

• Don't blame, don't wait. Do your best and move on with a smile! Instead of blaming the

system around you, do the best you can and move on. And do it with a smile and a sense of

challenge and responsibility. If situations give you the opportunity to compensate for

someone's limitations- do it- and do it with pride and be grateful for this chance.

• Think big and have a vision! Have a goal that is personal, intimate and has the potential of

driving you for the next 20-30 years. It doesn't have to be realistic at this point but it should

be something bigger than your personal circle of life- family, friends and career. It should be

something that challenges you and brings out the best in you. It should be your personalized

way of serving the society, the nation and the entire world.

• Expand your comfort zones! The early 20's provide the perfect platform to take risks. You

can definitely be prudent about your choices but don't sit in your comfort zone. Stretch to

learn and reach out to each other.

• 'What can I give' versus 'What am I getting'! The former would make you stronger and

reduce stress and pressure on you. This would encourage your creativity as you would

always be focused on providing solutions. This attitude would make you successful with all

ranks of people.

Page 44: Software Development Careers:  Why, What, and How?

Messages from few JIIT AlumniAditya Kumar Singh, 2006, DeloitteI graduated in 2006 with highest on campus package and highest number of offers (3) and I

joined a semiconductor firm that was into product development. Few things I would

like to share with you all:

• Know yourself- It‟s very important for you to understand your own strengths and

weakness. Keep 2 things in mind:

– a) People judge you by what you have achieved, while you judge yourself by what

you are capable of achieving

– b) Play to your strengths and improve on your weaknesses

• Decide what you want to do. It doesn‟t matter if you want to go for higher education

later or want to make a career in a particular field.

• I might sound cliché but you should know your resume: each line of it. Also reach about

the company you are interviewing for.

• Don‟t over plan. I did not participate in the placement process of first 2 companies on

campus as my „dream company‟ was the third in the schedule. I did not even make it to

the interview of that company, was eliminated in the GD itself.

Page 45: Software Development Careers:  Why, What, and How?

Messages from few JIIT AlumniSiddharth Batra, 2007, TwitterOne of the biggest fallacies of human life is assuming things are linear. Careers

aren‟t made by rising the same amount every year, careers are step functions, and

the advantage of being exceptional at the start of your work life will be enormous

by the end of a decade.

Find your unique path in life.

Here are the three pieces of advice, I would have liked to give myself in 2007:

1. Your time early in life is exponentially more impactful than later in life

2. To value your time earlier in life, take risks, it‟s the best time to do so.

3. Work furiously hard and be unapologetic about it. You‟ll never remember the

weekends you took off and always remembers the things you create.

If you made it this far, as a bonus piece of advice to myself, find someone who‟ll

love you for working hard and being unapologetic about it.

Page 46: Software Development Careers:  Why, What, and How?

Messages from few JIIT Alumni

Priyank Singh, 2007, Microsoft, USA

• Even after working in the industry for so long, when it comes to

judging candidates we still go back to basic of data structures,

algorithms and designing principals. In short whatever you will study

right now it will help you in future and you will have to keep updating

yourself always.

Page 47: Software Development Careers:  Why, What, and How?

Messages from few JIIT Alumni

Nikhil Wason, 2007, Cofounder Card back, India

• On deciding what to do in life: identifying that one activity that gives

you immense happiness even if you would not be paid for it – that‟s

what you should be pursuing!

Page 48: Software Development Careers:  Why, What, and How?

Messages from few JIIT AlumniAngad Singh, 2009, Tech Lead, InMobi, India• The first few years of a software engineer are a critical foundation on which the

rest of the career is built. The most important thing for first 2 years of career -

LEARNING. Money or stability should be the least of your concerns right now.

• Run far away from a high paying job in a big MNC which has less than

ordinary work.

• Run far away from white collar labour jobs at the likes of mass recruiting

offshore consulting firms where you will be just used as a tiny human tool.

• This is the time to explore and adventure, you will not have the luxury later in

your career when age brings its responsibilities on your shoulders.

• Try to find a place where you get mentored, thrashed into discipline and

refined. Try to learn how "things are done" by the pros before leaping into

doing it all alone just in the beginning.

Page 49: Software Development Careers:  Why, What, and How?

Some Final Tips

Page 50: Software Development Careers:  Why, What, and How?

Avoid a Career in Software Development - Justin James

If

1. You'd rather be trained than self-teach

2. You like regular working hours

3. You prefer regular raises to job-hopping

4. You do not get along well with others

5. You are easily frustrated

6. You are close-minded to others' ideas

7. You are not a "details person“

8. You do not take personal pride in your work

9. You prefer to shoot first and ask questions later

10. You do not like the geek type of person

Page 51: Software Development Careers:  Why, What, and How?

Tips for all

Spend at least 40 hrs/ week to:

1. Apply theories or concepts to practical problems or in new

situations

2. Analyze the basic elements of ideas, experiences, or

theories, such as examining a particular case or situation in

depth and considering its components

3. Synthesize and organize ideas, information, or experiences

into new, more complex interpretations and relationships

4. Judge the value of information, arguments, or methods, such

as examining how others gathered and interpreted data and

assess the soundness of their conclusions

5. Prepare research based reports integrating ideas from

various sources and concepts of different courses

Practice, Practice, Practice (Tips for Software Developers)

1. Algorithm Design

2. Prototyping

3. Code Analysis, Program Comprehension, Re-documentation

4. Application/Component Development

5. System Integration

Page 52: Software Development Careers:  Why, What, and How?

Problem Understanding and Solving Tips for Software Developers

1. Clarify the problem

2. Identify key elements of the problem

3. Draw a picture or diagram of the problem or a relevant process or situation

4. Consider a specific example

5. Consider extreme cases

6. Visualize the problem or a relevant process or situation

7. Imagine being the problem, a key process, or the solution

8. Simulate or act out a key element of the problem

9. Change perspective

10. Consider levels and systems

11. When the problem can‟t be solved

– restate the problem

– solve some related problem that may be

• more general,

• more specific,

• more special,

• or analogous,

– solve some part of the problem

Page 53: Software Development Careers:  Why, What, and How?

Take Risks by William Arthur Ward

• To laugh is to risk appearing the fool

To weep is to risk being called sentimental

To reach out to another is to risk involvement

• To expose feelings is to risk showing your true self

To place your ideas and your dreams before the crowd is to risk being called naïve

• To love is to risk not being loved in return

To live is to risk dying

To hope is to risk despair and,

To try is to risk failure

• But risks must be taken

The greatest risk in life is to risk nothing

The person who risks nothing... does nothing, has nothing, and becomes nothing

• He may avoid suffering and sorrow

But he simply cannot learn and feel and change and grow and love and live

Chained by his servitude, he is a slave

He has forfeited his freedom

• Only the person who risks is truly free.

Page 54: Software Development Careers:  Why, What, and How?

Please share your comments, views, and

missing information wrt any of the issues raised

in this presentation.

May God Bless You.