18
Staying current in a changing marketplace Denver Code Club Meetup Craig Martin, Vice President of Engineering January 19th, 2017

Keeping up with Tech

Embed Size (px)

Citation preview

Page 1: Keeping up with Tech

Staying current in a changing marketplace

Denver Code Club Meetup Craig Martin, Vice President of EngineeringJanuary 19th, 2017

Page 2: Keeping up with Tech

Agenda

● Changing market● Approach and Adopting a new

technology● Staying Current● Evaluation Process● How Kenzan does it:

○ Tech Radar○ Skills Matrix / Badge Board○ Internal Projects○ Open Source Projects

Page 3: Keeping up with Tech

2003SOAP Webservices becomes popular

Technology changes really fast.

2005GoogleMaps & YouTube 2006

Initial AWS Cloud offerings

2008RESTful Webservices take hold

2013March

● React released● Initial Docker

release

2011● Google Cloud

Platform● January - Kafka● December - Hadoop

2010● February - Azure● October - Angular

2014● May - Apache

Spark● June - Initial

Kubernetes release

● October - HTML 5

2015● January -

Swagger2016

● January - Serverless architectures

● September - Angular 2

● July - Apache Mesos

Page 4: Keeping up with Tech

Approaching a new technology

To keep in mind!:

Perseverance will pay off

You never stop learning

Different technologies and starting points have different kinds of learning curves

Page 5: Keeping up with Tech

Adoption Expectations

Page 6: Keeping up with Tech

How to stay current?In a changing market

In Technology, standing still means falling behind

• Two main perspectives Individual or Company

• Correct attitudeEmbrace the change Create a culture or an attitude of looking forward

• Be criticalFor every good product there is a “Clippy”

• Apply in real world situations• Evaluate the alternatives

Is there a market need?Why is it better?

• Review from many perspectives (not just technology)

Page 7: Keeping up with Tech

Technology evaluation

● Updating/modernizing existing legacy applications

● Comparing “old” vs “new” technologies

● Evaluating emerging technologies

COMMON DRIVERS

COMMON PITFALLS

● Resume driven development

● Treating technology stacks different than architectural patterns

● Lack of consistency in approach

● Stuck in the theoretical - Start Building!

Page 8: Keeping up with Tech

Modernizing existing applicationCommon Use Case: Company has an existing legacy application that needs a major

feature overhaul or needs an upgrade.

1. Start with an honest evaluation of existing

application stack

a. What does it do well vs not so well (e.g. scalability, modularity, releases, extensibility, support, etc)

b. How much of the challenges is related to the technology?

c. Maybe code/arch cleanup would be better?

d. Understand the architectural patterns

2. Determine list of potential technology

replacements

3. Use the Pros and Cons as a template for each technology

a. Evaluate each pro and con against the potential technology

b. Suitability fit with development team(s)

4. Evaluate the “activity” of the the

technology

a. Lots of committers?b. Open Source vs

Closed Sourcec. Release Cadenced. Available tooling and

Plugins

5. Overall technology evaluation

a. Ease of use, code management, cost, complexity

Page 9: Keeping up with Tech

Comparing Old vs NewCommon Use Case: Company has a new tool or feature that needs to be built and we want to choose the right technology.

Objective evaluation of pros and cons:

● Differences in paradigm or architecture approach

● Features and gaps in tech

● Performance● Extensibility● Activity & popularity

= resources and support

Compare costs of each technology

● Open source technologies vs licensed technologies

● Maintenance costs are expensive and will most likely rise

Team Dynamics

● Skills of team● Code handoffs Likelihood of longevity

● Judge by popularity over time

● Extensibility● Voodoo Magic

Page 10: Keeping up with Tech

Evaluating Emerging Technologies

Common Use Cases: ● Helping clients to determine the correct strategic direction for their organization. ● Determining the technologies in market verticals and help establish the direction of the

organization.

Identify POC to get hands on with technology

● Focus on risk areas● Establish checkpoints

along the way

Understand and the market or client needs:

● Problems that need solving (industry gaps)

● Challenges unique to the vertical● Current competencies in the

organization or marketplace● Competition evaluation

Builds on the technology evaluations from above:

● Pros and Cons● Costs● Team Dynamics● Longevity

Develop adoption plan and implementation strategy

● Switching over legacy apps

● Training Staff● Rollout strategy

Page 11: Keeping up with Tech

WHO?Find the

right people!

WHAT?The

training! WHEN?Project

!● Not all people love

picking up new technologies

● Prove out critical challenges● Dedicate a percentage of the

week/month to learn the new technology

● Leverage online resources and provide training when needed

● BUILD, BUILD BUILD!● Join meetups and conferences in

town● Present a tech talk or teach to

others

● Start building immediately● Don’t be afraid to jump “too

early” into the project● Working on it is part of the

learning curve, and will shorten the productivity dip time

Tips on How

Page 12: Keeping up with Tech

How Kenzan does it....

• Tech Radar• Skills Matrix • Badge Board• Building Skills

• Internal Projects• Open Source Projects

Page 13: Keeping up with Tech

Tech RadarSubject Matter Quadrants

● Languages and Frameworks

● Tools● Techniques● Platforms

EvaluationAdopt (2 rings)Technologies in use, or recommended to clients.

TrialTechnologies should be used on internal projects or open source projects to gain practical experience.

EvaluationTechnologies worth putting effort toward investigating, pursued to generate a proof-of-concept.

HoldTechnologies not yet ready, out of date, or too risky to be used

Page 14: Keeping up with Tech

Tech Radar Maintenance

Tech Radar Maintenan

ce

Starts with the right people:

● Attitude and desire is importance

● Honest and critical (no ego’s)

Routine meetings with tech leadership● Monitor and discuss

new technologies ● Discuss P.O.C. for

emerging technologies

● Monitor existing legacy technologies

● Evaluate in progress P.O.C’s

Author competencies for relevant emerging

technologies

Routine “checkpoints” for projects and people● Project completion● employee project

rolloff● Manager &

employee checkins

Page 15: Keeping up with Tech

Skills matrix and competencies● Skills matrix is the sum of all the skills that we have● Each skill has a set of competencies ● Typically broken into 3 different levels (Beginner, Intermediate, Expert)● Goal is to have the “Kenzan Standards” of competencies ● Will be established once it is added to the tech radar

○ Only filled out when it becomes relevant

Page 16: Keeping up with Tech

badge board The goal of the board is to have an accurate representation of all the skills within Kenzan.

Functions:

● Provide the resourcing team a mechanism to determine which employees are best suited for a project

● Provide tenured employees a set of skills to work towards and competencies to meet those skills

● Set and track the "technology stack" within Kenzan's organization

It’s expected and encouraged that the badge board will evolve over time. This will happen both from a tech stack perspective and from a employee skills perspective.

Page 17: Keeping up with Tech

Open Source ProjectsOpen Source and Internal projects are strongly tied to Tech Radar and Badge Board

Open Source:● Kenzan benefits a lot of the open

source community● Open source projects are

Kenzan’s contribution to the community

● Usually created as Proof-Of-Concepts and experimentation with emerging technologies spotted in the Tech Radar.

Internal Projects:● Internal projects are for internal

Kenzan IP● They are created by “bench”

employees● Opportunity to pick up new

technologies and earn badges

Examples of Open Source Projects:

● MSL (Million Song Library) -> Angular + Java + Netflix + Cassandra:

https://github.com/kenzanlabs/million-song-library

● Keystone (Front End Build Tool) -> Node + Gulp + Yeoman:

https://github.com/kenzanlabs/keystone

Internal Projects:● Kenzan.IO -> React.JS, Wordpress API:

http://kenzan.io

● Tech Radar -> React.JS + Redux + Node

Page 18: Keeping up with Tech

Want to learn more?Follow us!

@kenzanmedia

www.linkedin.com/company/kenzan-media

techblog.kenzan.com

www.facebook.com/kenzanmedia/