How do we effectively funnel incoming developers to address this problem? – My Story – Lessons Learned For Junior Developers



How do we effectively funnel incoming developers to address this problem? – My Story – Lessons Learned For Junior Developers

2 4


Getting-Comfortable-Uncomfortable-

Slides for my Talk: Getting Comfortable Being Uncomfortable

On Github AimeeKnight / Getting-Comfortable-Uncomfortable-

Getting Comfortable Being Uncomfortable

Lessons Learned One Year After the Nashville Software School

Created by Aimee Knight / @Aimee_Knight

Ice breaker - make everyone step walk through something skating related… key will be to make them slightly embarrassed and uncomfortable. First off let me start off by saying I’m actually pretty comfortable up here... but only because I’ve learned to get comfortable with this type of feeling! I actually don't feel like I should be up here, but if I don't say it no one will! Over and over again I talk to juniors and we always have the same conversation. So, guess what, we’re finally going to talk about it out in the open! What I’m not going to do, is tell you that you have to do it this way, or that way... I can’t stand when people talk like that! Instead, I’m going to share what’s worked for me, and the common things I keep hearing about talking to others entering the field.
  • Average growth rate for software engineers from 2012 to 2022: 33%
  • Average growth rate for all other occupations from 2012 to 2022: 11%
  • Average pay for software developer: $93,000
  • Average pay for all other jobs: $35,000
  • In 2013 2,000 people graduated from boot camps
  • In 2014 6,000 people graduated from boot camps
  • 43 US based programming schools
"The numbers" There are currently three job openings for every unemployed technologist. Contrast that with an average job such as a construction worker, there’s only opening for every six people who are unemployed.

How do we effectively funnel incoming developers to address this problem?

Boot Camps are popping up everywhere, and while they're churning out highly motivated juniors, often it's seniors companies are really after. In order to bridge this gap together, we'll audit what it actually looks like to go from bootcamp grad, to full time developer, and what senior developers need to do in order to support this process. We all like to talk about numbers. I challenge you now, to talk about a solution, and acknowledge what this process will actually look like. It's all about making your way through the stages of competence.
It's all about making your way through the stages of competence as easy as possible.

My Story

Skating College Actually got pretty depressed for awhile trying to find my way after skating. Wordpress Rails
Peaked my interest. Totally speaking to that voice inside myself that’s always up for the next challenge!
Finally, I saw this... So there I was, an impressionable young developer. I’d decided that I wanted to write JavaScript!

JavaScript

Hacker news conversation mentors had about me. Podcasts I was interviewed on. Getting a raise. Helping with large conferences and a Meetup. and now, speaking. All while feeling totally out of my element.

Advice to my Fellow Junior Devs

What programming language should I pick?

How do I find a mentor?

How do I get a job?

Stop asking these questions out loud! They make you sound desperate!

Nope!

These are all things that will evolve organically if you follow the advice outlined.

Employers probably aren’t hiring you expecting you to solve their most complex problems. Sorry! :(

Dispel the elephant in the room and start with breaking in. On the other end of the spectrum, don’t hold back from applying for jobs because you don’t feel ready. Let your future employer decide this!
Leveraging social media, Hackathons and Meetups. Establish a presence in the community.

Hard work beats talent

Be confident and show how passionate you are. Literally every chance you get. Look for ways to contribute on GitHub. Doesn’t matter what. Believe it or not, this will likely lead to jobs. I was asked to work on my first productions Rails app as a result of submitting a documentation PR to the Rails Bridge Curriculum.

All jobs are not created equal!

You may need to strike a balance between your dream job, and ok for now, because ‘a job’ is better than sitting at home doing tutorials forever.
So, you've got the job and you see the code base for the first time

Hard work with practical approaches

The industry is filled with people who have been writing code, and studying computer science since they were kids. If overtime doesn’t sounds like a sacrifice you’re willing to make, then this may not be the career for you. Ex: Driving four hours to Rails Bridge, then four hours to Rails Girls. Ex: Driving three days to another bootcamp only to turn around and come home because I didn’t think it would be hard enough. People who are good at this enjoy it as a hobby too. If you’re really, really new, make sure this is something you truly want to do. It is definitely a ton of fun, but it can also be all consuming and stressful.
You’re going to be doing less of this...
And more of this... First strategy is to break stuff. Then figure out what went wrong and how to fix it. This is an excellent way to learn, as it makes thing stick!

Hard work with practical approaches

Refactor: Being a developer isn’t about writing code, it’s about producing working software while simultaneously hitting business goals and maintaining expectations. Can sometime lead to a death march, and before you know it code quality suffers, and your number of bugs goes up. With that said, don’t ever check in code that isn’t a little better off than before you started. Maintainable code is code that is easily readable, extendable, and testable by other developers. Write tests - makes you look like a grown up.

Moving past tutorials

Actually look at the source code for the libraries you use on GitHub. Read RFC's. Usually easier to understand than you think, and it’s almost always more accurate than the documentation.

Working Smart

Everyone knows the saying, ‘Failing to plan is planning to fail’. API Docs, Always spend time thinking about the system you’re going to implement before writing code. Have an opinion... be able to explain why you made the choices you made! Understand every single line of code you write. If it’s there, it should have a purpose, and you need to be certain it’s doing what you think it’s doing. Refrain from blindly copying and pasting!

Practice makes permanent

Reflect then repeat. Don't just strive to be a great developer, strive to be a great problem solver. Languages, libraries, and frameworks are just tools. They come and go. What's popular today probably won’t be popular a decade from now. You're going to need to be a lifelong learner.

One thing at a time

Pick one thing and stick with it - ES6, Angular.

Mental Awareness

Take care of yourself mentally and physically. I’ve been determined to stay in shape, and am trying to remain balanced. Wake up each day, go to the gym, and for a run before work. I do sneak in podcasts during that time sometimes. (Sshhh!) Only when I’m feeling up for it though. I’ve learned to go easy on the caffeine. Meditation is also extremely valuable in order to stay grounded and focused.

Stop calling yourself dumb!

It’s a self fulfilling prophecy. This is definitely the time to ‘fake it till you make it’! As much as you want your job to only be about writing code, that’s not reality. This can be an emotional career. Whether everyone (yes even guys) want to admit it or not, there are going to be highs and lows. Be aware of The Dunning-Kruger effect. Tendency of poor performers to overestimate their abilities relative to others and for high performers to underestimate their abilities.

When you don’t know how to do something, or you come across a tough bug remind yourself

Every time something goes wrong in your program, you have an opportunity to learn something new!

A positive outlook is huge. Without it you can enter a pretty vicious cycle You work your butt off because you feel inadequate Then you start to feel burned out And that happens over and over Establish boundaries to avoid burnout.

Pair Up!

Peer Learning

Working with a mentor

Bootcamps vs Going at it alone

Private Slack Channels

Junior Focused Hangouts and Meetups

Started learning alone, and was grateful for the opportunity to learn with others instead, as part of a bootcamp. Private Slack channel I set up at work for us to ask embarrassing questions My manager watching this probably didn’t even know about this till now!
Code Newbie podcast, twitter chat and Slack group Baltimore Junior Developer Meetup Really look forward to this time!

Developers who receive mentoring are promoted five times more often than those who don’t have mentors.

Sun Microsystems compared the career progress of approximately 1,000 employees over a 5-year period. Contribute to open source and ask for code reviews. Soak in what you see seniors do. Ask if you can stay late and just peek over their shoulder. Often times for beginners it’s hard to keep everything on our heads. Pairing up can help as it allows you to step back for periods of time to rest and absorb.

Expect to put in some overtime!

Getting Comfortable Being Uncomfortable Lessons Learned One Year After the Nashville Software School Created by Aimee Knight / @Aimee_Knight Ice breaker - make everyone step walk through something skating related… key will be to make them slightly embarrassed and uncomfortable. First off let me start off by saying I’m actually pretty comfortable up here... but only because I’ve learned to get comfortable with this type of feeling! I actually don't feel like I should be up here, but if I don't say it no one will! Over and over again I talk to juniors and we always have the same conversation. So, guess what, we’re finally going to talk about it out in the open! What I’m not going to do, is tell you that you have to do it this way, or that way... I can’t stand when people talk like that! Instead, I’m going to share what’s worked for me, and the common things I keep hearing about talking to others entering the field.