Presentation is loading. Please wait.

Presentation is loading. Please wait.

What IS a Journeyman Programmer? Why this program?

Similar presentations


Presentation on theme: "What IS a Journeyman Programmer? Why this program?"— Presentation transcript:

1 What IS a Journeyman Programmer? Why this program?

2 A Journeyman Programmer 2-10 years industry experience Knows the fundamentals (mainly coding) Interested in technical and career development Willing to learn Wants to improve 20 years of experience or 1 year of experience repeated 20 times?

3 Technical Skills Needed Coding Debugging Infrastructure - Source Code Control and Build Systems Test & QA Integration Algorithms & Domain Expertise Design & Architecture Requirements

4 Non-Technical Skills Needed Teamwork Time Management Expectation Management Negotiation & Influence Communications Planning & Project Management Marketing Career Planning

5 Next Steps Talk to us! Give us feedback on Journeyman concept What should be included in the program? Join us – help create the program

6 Are All Managers Idiots? Do any managers actually “get it”?

7 Different World Views Engineers & Programmers – Introverted, self contained – internal reasoning – Deep knowledge – Satisfaction in solving technical problems Technology as an end Focus on technical issues Tend to approach everything as a problem to be solved – “Alpha Geek” mentality

8 Different World Views: Managers Broad world view – many factors Focus on business value Balance multiple goals and constraints Use money, people and other assets as tool to reach business goal Typically limited technical depth – Only interested in technology as a tool to reach another goal – Provide other value to organization

9 Skills Development Dreyfus Learning Model

10

11 Novice A novice is someone who needs strict rules to follow clearly. They need monitoring to accomplish immediate tasks and unambiguous instructions to succeed. Some of the tools and resources that can help a novice are: – Checklists – How-to's – Focussed elearning for specific job actions – Ability to seek out help and mentorship

12 Advanced Beginner For an advanced beginner, rules start to often become guidelines and they can start to apply these guidelines in similar contexts. Most new beginners tend to start here. The advanced beginner is keen to start new things, though they struggle with troubleshooting. They are therefore still focussed on their immediate tasks and aren't so fussed about the "big picture". – Controlled Simulations – Virtual Worlds to try out things in safety – Mailing Lists/ Social QnA and Communities to ask questions and find solutions to common problems. – Online Assignments to practice their new found skills.

13 Competent People at this level tend to build conceptual models to organize complex rules. They can often go a step beyond the Advanced beginner and troubleshoot issues. Most importantly, they like to plan their work, make decisions and take responsibility for their outcomes. A competent practitioner probably needs some of the following tools: – Case Studies to help them understand various real world scenarios. – The ability to participate on Forums and social platforms to "listen into" real problems and solutions – Access to blogs documenting peer experiences. – Podcasts and media that help them see work patterns and various applications of their skills. – And of course, all the experience they can get from their day job, helps!

14 Proficient Proficient practitioners tend to look at problems as a whole, rather than in terms of individual aspects. They need the big picture, and like to gain practical knowledge from unhindered experimentation. Oversimplification, rules, policies and guidelines frustrate them.

15 Experts Experts are as the name suggests, masters of their trade. They intuitively solve problems without much analysis and planning. They've had enough experience in identifying problem patterns and applying generalities to solve these problems. Experts often have trouble articulating many of their conclusions

16 Open Source Software As a tool for Skills Development

17 How to Apply What You’ve Learned? Do you have the opportunity in your job to exercise everything you’ve learned? – Most people don’t Developing skills requires: – Opportunity to use skills – Opportunity to try things and (safely) make mistakes – Feedback

18 Open Source Software Access to an entire software project Work on any part you are interested in Get technical feedback Get other feedback – Open Source is a full contact sport… Learn whatever you are interested in Get recognition

19 Getting Started in Open Source Start a new project from scratch Join an existing project – Pick something you are interested in – Look for projects in that area – Research the project and project team – Hack some code, dive in and submit it Talk to me for more insight into contributing to Open Source


Download ppt "What IS a Journeyman Programmer? Why this program?"

Similar presentations


Ads by Google