Smart Skills for Mobile Developers - MobileMonday IIMA Keynote
Non-technical skills for developers
-
Upload
alexander-sukhanov -
Category
Software
-
view
320 -
download
2
Transcript of Non-technical skills for developers
![Page 1: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/1.jpg)
Non-technical skills for developers
![Page 3: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/3.jpg)
Disclaimer:
All of the following is the result of my personal experience and some stuff I’ve read over the time
![Page 4: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/4.jpg)
Intro
![Page 5: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/5.jpg)
We do our work in projects
• Projects have deadlines. We need to have a skillset to meet them.
• Most projects are done in teams. We need soft skills to efficiently work with other people.
• If your projects are done solo and don’t have any internal or external deadlines – Yay, you don’t need any skills at all!
![Page 6: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/6.jpg)
Non-technical skills
![Page 7: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/7.jpg)
I. Personal productivity
![Page 8: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/8.jpg)
Personal productivity
Read my other presentation on productivity: http://bit.ly/1U9ROdg
In short:1. Remember about death2. Set macro and micro goals for your roles3. Learn to set and prioritize every-day tasks4. Consider physiological and psychological
factors
![Page 9: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/9.jpg)
Personal productivity
5. Build useful habits6. Learn mechanics of working on computer7. Find the right tools8. Apply extra effort9. Remember to balance!
![Page 10: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/10.jpg)
II. Responsibility
![Page 11: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/11.jpg)
Responsibility
• Always keep your word– Think before giving your word– Do everything in your power to keep it– If you are failing – ask the person you gave your
word to to remove the obligation.• Learn the difference between doing a task and
having a task done– ‘Done’ is when your result is accepted– So start early. You may have to redo the task
within the deadline
![Page 12: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/12.jpg)
III. Juggling multiple tasks
![Page 13: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/13.jpg)
Juggling multiple tasks
• It’s not a skill you either born with or not. It’s developed.
• To do juggling efficiently– Keep track of multiple active tasks. Use tools,
write them down!– Switch from one to another with minimal time
loss. Zoom out, think.– Set priorities well– Learn to not care about something while you are
unable to work on it
![Page 14: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/14.jpg)
IV. Understanding business context of work
![Page 15: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/15.jpg)
• Business context of work is as important as a technical part
• Four levels of understanding business context:– Low. Having faint business context of a task. It's
not clear what it means and why it's important– Medium. Knowing business goals that this project
will accomplish.– High. Knowing not only business goals, but also
understanding overall organizational strategy and stakeholders' perspective
– Awesome. Full awareness. Additional knowledge of the market and competitors
![Page 16: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/16.jpg)
V. Forging compromises between business and technology
![Page 17: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/17.jpg)
Compromising between business and technology
• Goal of your work is to bring value to the organization/customer
• So you need to understand goals and problems of your clients and customers.
• Don't just execute. Ask others "why" a lot• Learn how to explain technical necessities
such as refactoring. Read: http://bit.ly/1WtyoP4
![Page 18: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/18.jpg)
VI. Managing relations with other people
![Page 19: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/19.jpg)
Managing relations with other people
• Management =! Manipulation• Learn their values. Work with those who share
yours• Give to others. They will help you back. In
most of areas they are much more productive then you
• Control your emotions. – If you are angry let those chemicals leave your
system. Drink a glass of water
![Page 20: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/20.jpg)
Managing relations with other people
• You could make mistakes. Own that!• Talk about ideas, not things and people• Win win game is better then zero sum game
![Page 21: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/21.jpg)
VII. Efficient communication & Positive politics
![Page 22: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/22.jpg)
Politics – a process by which a group makes a decision
![Page 23: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/23.jpg)
Efficient communication & positive politics
• Talk about ideas, not things and people• Understand team and organizational goals• While solving problem in a group the only
thing that you are looking for is the best idea– Doesn’t matter whose it is– If you have other goals – skip that discussion– Learn about 6 hats of thinking. Make others wear
the same hat and change it through the conversation. http://bit.ly/1SBkxbe
![Page 24: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/24.jpg)
Efficient communication & positive politics
• Control your emotions. – If you are angry let those chemicals leave your
system. Drink a glass of water• If intentions of others are not clear – assume
positive intent and then clear them up.• Learn how to critique and not to criticize: http
://bit.ly/1SUdawa
![Page 25: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/25.jpg)
VIII. Managing technical teams
![Page 26: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/26.jpg)
Managing technical teams
• Build trust (trust others first)• Lead by example• Protect your teammates• It could be stressful at times. It’s ok. • Focus on the product and the process. – But only on one thing at a time. – Have retrospective that targets the process
• Balance learning, teaching and doing the work
![Page 27: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/27.jpg)
Managing / being part of technical teams
• Learn how to delegate– State your goal (what, not how)– Set boundaries– Set rules (as minimum as you can). Think about
fail safe– State recourses other person have in his/her
disposal– Clarify the reporting– State Reward / Punishment (not money,
something from inner motivation)
![Page 28: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/28.jpg)
IX. Managing ambiguity
![Page 29: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/29.jpg)
Managing ambiguity
• Find and reduce accidental complication• Make things simple not complex: http://bit.ly
/19t9CLZ• Separate focus on the product and on the process• Iterate• Open information flow• Gather information in one place• Make decisions and reasons transparent to others
![Page 30: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/30.jpg)
X. Expanding client relationships
![Page 31: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/31.jpg)
Expanding client relationships
Trust is the main factor
1. Identify client needs2. Craft a solution in your head3. Can you or your team accomplish this?
Should the client seek help elsewhere?4. Match client's needs and your capabilities5. Negotiate a consensus
![Page 32: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/32.jpg)
XI. Learning
![Page 33: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/33.jpg)
Learning
• You're eager to learn. You'll dive right in to new technologies, new approaches, and new concepts and apply them to your work.
• Read a lot• Find a mentor• Build habits• It’s okay to make mistakes– It’s not important whether or not you make mistakes.
It's how do you react to them.• Read: http://bit.ly/1U9ROdg (slide 36)
![Page 34: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/34.jpg)
Trends
![Page 35: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/35.jpg)
1. Vertical structure -> Horizontal structure
• Reason: reducing accidental complication and communication overhead
• #1 Consequence: You are responsible not for a single task but for a whole project or technical part of it (e.g. front-end)
• #2 Consequence: You could influence a product. Valve, Uber.
![Page 36: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/36.jpg)
2. Office job -> remote job
• Reason: wide range of talent to hire from and more efficient work
• Consequence: Less control over you. A requirement to manage yourself. More: http://bit.ly/1R9ZTvJ
![Page 37: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/37.jpg)
What do you want to talk about next week?
![Page 38: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/38.jpg)
Questions?
![Page 39: Non-technical skills for developers](https://reader036.fdocuments.net/reader036/viewer/2022081604/589e7c521a28ab300b8b65d1/html5/thumbnails/39.jpg)
Thank you