Adventures in Angular

Adventures in Angular is a weekly podcast dedicated to the Angular JavaScript framework and related technologies, tools, languages, and practices.

Subscribe

Get episodes automatically

124

124 AiA From Junior to Senior Developer


3:10 – Euphemisms for Junior Programmers

5:00 – Is “Junior Developer” a useful label?

15:25 – Junior/Senior Developer labels and correlations with knowledge

18:00 – Hiring and the interview process as a Junior Developer

30:00 – Benchmarks for Senior Developers

Picks:

Postman (John)

National Hour of Code Week (John)

“Forgetfulness” by Billy Collins (Ward)

Asana (Charles)

Standard operating procedures for important tasks (Charles)

This episode is sponsored by

comments powered by Disqus

TRANSCRIPT

Charles:     Hey everybody and welcome to episode 124 of the Adventures in Angular show. This week on our panel we have Lukas Ruebbelke.

Lukas:        Hello.

Charles:      Joe Eames.

Joe:            Hey everybody!

Charles:      Alyssa Nickel

Alyssa:       Hey it’s actually Alyssa Nickel.

Charles:      Nickel, okay. Wait, what?

Alyssa:       Yes, it sounds like NyQuil. Nickel.

Charles:      Next time I’m going to introduce you like that, you’ll be like, “No.”

Alyssa:       I’ll go with NyQuil. I like it. Put people to sleep like that.

Charles:      John Papa.

John:          Hi.

Charles:      Ward Bell.

Ward:         What am I doing here?

Charles:      I’m Charles Max Wood from www.devchat.tv. I don’t know because you’re definitely a senior not a junior.

Ward:         Oh, this is it. We’re going to get serious now. We’re going to get into age discrimination.

Charles:      We’ve covered just about every other kind in the pre show.

Ward:         Let’s face it, it’s the only group discrimination that I’ll ever get to join.

Alyssa:       Wait, the seniors?

Ward:             The age discriminated against developer because in every other respect, and this is going to feed right through our show topic. In every respect, I am as privileged as it gets. It’s great to be me.

Charles:    We did have the discussion beforehand. We decided to talk about being a junior. What it means to be a junior and what it means to sort of move beyond being a junior. Does that sum it up okay?

Alyssa:       Yep. It’s like how long does it take to get to that point where you’re not a senior developer but you’re also not a noob either and how much of that does transfer to other jobs, other skill sets or is it basically back to square one if you choose not an Angular shop kind of thing.

Ward:         I want to start with some euphemisms for junior programmer.

Charles:      Euphemisms.

Ward:         Yeah, and how low does it go.

Joe:           I can only imagine.

Ward:        Let’s start this off. There’s junior, what else do they use, double junior.

Lukas:         Double junior. I never heard of that.

Alyssa:       Noob.

Charles:      [00:03:10]

Ward:         Newbie, noob, tyro,

Joe:           Tyro?

Alyssa:       Never heard of tyro. You’re making stuff up now.

Ward:         No, no, no. That’s you’re dictionary words for today these days. Look it up.

Joe:            We’re not hip like Ward.

Ward:         You don’t spend your time reading the dictionary instead of getting work done.

Charles:      Oh my gosh. It’s actually a word.

Alyssa:       No, it’s not. What does it say?

Charles:    Tyro. Noun, a beginner or novice. Novice, beginner, learner, neophyte, newcomer, initiate, fledgling.

Alyssa:       I take my hat to you sir.

Ward:         That’s why I am a senior developer.

Charles:      He knows more ways to call people noobs than anyone else.

Ward:         Exactly.

Alyssa:       Especially we have time, I think that another interesting topic is, is it difficult to be a senior developer from that aspect of nobody wants to hire you because they don’t want to pay that much money or they would rather work with someone…

Ward:         That doesn’t exist.

Alyssa:      That doesn’t exist?

Ward:        That doesn’t exist.

John:        Oh my gosh.

Alyssa:       That’s a lie?

John:          That happens all the time for me. I see so many places trying to hire but they’re like, “You know what, I want a junior developer with 10 years experience at Angular because I don’t want to pay.”

Joe:                Next.

Charles:      I wanted to ask to begin with, is it even a useful distinction to call someone a junior developer?

Alyssa:       Whether it’s useful or not, people do it. Job descriptions do it.

Ward:         Labels are always useful.

Charles:          That’s right.

Alyssa:       Define what you mean by is it useful? Do you think like it’s harming people by calling them juniors?

Charles:    No. I really don’t have any doubt about that. For one thing, everybody means something different by junior. I’ve talked to companies that are trying to hire and they’re like, “We don’t want any junior developers.” I’m like, “Well, what’s a junior developer?” They’re like, “Oh, less than two years experience or blah blah blah.” But ultimately, if you dig deep enough, what they’re really worried about is they’re not going to find somebody who can solve their problems that they’re either going to have to train or otherwise just can’t step in and contribute easily initially.

Alyssa:       I see.

Charles:      But I find that a lot of people chuck it up through experience. How many jobs have you worked? How many systems have you worked in? How many years have you been doing Angular? A lot of those are like they’ve been programming for 20 years and you’re going to call them a junior because they’ve only been doing Angular for a year?

Alyssa:       I’d love to know where you guys are at. Like how long have you been in the industry and what point if you’re like there yet did you technically become a non-junior developer?

John:          First of all, I actually do think there’s some marginal utility to understanding that somebody is saying I’m a new developer, I’m a junior developer because it says you have no experience. I find that more interesting than somebody who says they’re a senior developer because they could have 10 years of experience but it could be 10 years of doing the same thing that somebody had done 1 year 10 times and so they hadn’t really evolved. Or, “I’ve had 10 years but I’ve been doing this 10 years doing one thing. My whole life I’ve done one thing without exposure to other varieties.” You don’t evolve. I can’t usually tell by the number of years. That means they’re a better programmer than they were if they only had one year or two years but telling me you only have one year or two years is useful information.

I know you can’t know very much. If you’ve only been programming for a year, you don’t know how to program yet. That’s not a terrible thing. I just know where you are.

Alyssa:       Yeah. Although I have met one-year people, two-year people, five-year people that are superior to their peers with the same number of years of experience. I think it’s kind of going back to that.

Lukas:         Superior in what way? I think that needs to be qualified too.

Alyssa:       Superior as in their logic is more sound. They come to answers quicker. They can solve larger variety of problems issues like the definition of being a programmer, they are better at it.

Ward:             It’s certainly true. You see that in almost any technical field.

Alyssa:       You can’t just put a straight number of gears on it but I do think it is useful for sure, to classify.

Lukas:         It is. The reason why I was challenging that is that just because I’ve known people who are just wonderful coders at their thing but they never actually solved a problem. Meaning they’ve never jumped into somebody else’s code and fix somebody’s real problem or they code their thing in isolation meaning I’ve built the most beautiful tower but I’ve never actually put it in the middle of the city so I don’t know how it fits under the rest of the landscape.

There are a lot of different things that experience can give you. An experience doesn’t have to be years. You can get the same experience over a year if you’re only been for a year, if you’re on the right team. It all depends upon your environment. I think that’s one of the first learning experiences young developers go through, young meaning experience-wise, it’s not just the code. It’s how do you solve problems? How do you interact with your teammates? How do you work with your customers, your stakeholders? Do you solve problems too quickly or do you solve them too slowly because there is a balance there too.

Charles:      [00:09:24] though because I’ve also seen people that wind up on a team, they wind up staying on that team for two or three years and with everybody else also staying on that team and so they’re the junior even though they’ve been around for a few years and know the system as well as anyone else.

John:          I’ve got one of those guys on my team right now. He’s been on my team for three years but he’s only the junior because the rest of the people on the team had been doing this for 10, 15 years.

Alyssa:      Can he keep up?

John:         Oh absolutely.

Alyssa:       He’s so classified, that’s bizarre to me, that he’s still the junior.

John:         That’s corporate world though. You’ve got to have different levels of people according to HR. It’s a shame that this particular person is phenomenal. I would trust him with anything I wanted to do.

Charles:      Lukas, you want to jump in?

Lukas:        If I could just go back to John’s comment. I think he made a really good point is that ultimately with programming, we’re trying to solve problems. I think what I imagine a spectrum of junior to a senior programmer, I think it’s the person’s ability to not only build things but to build things that behave in a predictable manner. It became more of a skill, and became more of a craftsmen, my ability to solve problems or express ideas happened in a much more predictable manner and begin to happen at scale. For instance, I started in Flash using [00:10:49] which is very much like ES5 and I didn’t really have a sense of [00:10:55] programming. And so  by learning [00:10:58], I was able to express my ideas a little bit more elegantly and then from there,  I learned about patented oriented designs, design patterns which allowed me to then go things even at more scale that fit together better and was more predictable.

But then I think really the pinnacle or the mark of what I consider to be a really truly senior and experienced engineer is their ability to introduce predictability to existing and unstable systems so that when you actually look at a code base that’s legacy code or somebody’s got a head start on it that they can not only introduce code that makes it more stable but also communicate that to the team. That comes in a soft component but I think it’s really stability and predictability at scale when you start [00:11:51] then patent oriented design and then moving on to actually refactoring in and working with legacy code. That’s just been my experience over the last 15 years. Taking a bad code and making it good.

John:         I agree Lukas.

Alyssa:       I think I got a raw deal though because I was kind of thrown in to my first real dev job of like legacy code. It’s very, don’t-touch-that-directive. You-might-break-half-the-website-kind-of-thing.

Ward:         I got to tell you that’s a great experience Alyssa. Seriously.

Alyssa:       You don’t know how many nights I have wasted up crying because I think I’m going to get fired and my husband will come over and he’ll be like, “No. Honey this is a job for somebody who really, really knows the inner working of Angular. You just got to do your best.” That’s what I’ve been doing but I just feel like if that’s what you’re saying, senior people are doing, I’m like, “Well, dang it.” I’m like up here, up against the Rails.

Charles:      The other angle on that is it may not be deep knowledge of Angular, maybe deep knowledge of that system. That’s another thing that I think throws people off when they’re trying to gauge whether they’re senior or not is they work on a very highly complex system with a lot of moving parts and they never completely feel like they get it and so they classify themselves as a junior developer because there’s so much more to learn when in reality, they have pretty good handle on sort of the common tools that exist across that particular thing whether it’s Angular or Rails or OOP or something else.

John:        Let me give you a tangible instance for example. I’ve seen developers who don’t think about this and ones who do. Let’s say inside your MPM package JSON you’re using [00:13:46], or you’re using ^, or using >, or using =, what are you using for your versions in there? That’ s the kind of decision that I think beyond junior developer. Junior developers try to get it to work. A senior developer is thinking about what happens after today? Tomorrow when Angular comes out with a new version, Will this break my code? Those are the kind of things I think, the decisions come into when you start learning about, the more you code.

Alyssa:       That’s perfect. I love that but I’m truly curious if we could ever put a number to it. I know it would be like a really wide-ranged number because obviously experiences are all different in different companies but I’m just wondering, how long in it does it take? Is it five years? Is it literally like 10 to 20?

Lukas:        Honestly, I don’t know.

John:          It’s non-zero. That’s all I know.

Ward:            It’s non-zero. That was where I started with. I know what junior is but I don’t find senior to be a useful concept.

Charles:      I’ll tell you. I’m the only person with 20 years of experience with Angular 2.

John:         The other side is you can ask somebody who’s got literally six years of Angular 1 experience who isn’t very good. I mean, we’ve all known developers who have been doing this for years and they’re not really good at what they’re doing. I have been doing Java for 20 years. I am awful at Java. There you go. I’m not a Java dev.

Joe:            Well, wait a second. There’s a difference between I don’t know all the ins and outs of this framework and I’m awful at this technology. You can not know the ins and outs of a framework and still write decent code whereas there are plenty of people who might know the ins and outs of framework and not necessarily write a code that you would be happy to maintain.

Ward:       Are we correlating this junior-senior blah blah blah with knowledge about a particular technology or even a set of technologies? Because if we are, that’s not how I think.

John:              I don’t think so

Joe:           That’s oftentimes a very easily used measure for what is senior or junior. Obviously the first measure that people ever apply is years of experience. That becomes their litmus test for what is the senior versus a junior. This is a problem that exists all over the places. This is exactly when you go to an interview and they make you do coding exercises on a whiteboard, which is completely useful because we code all day long on a whiteboard. That’s what I do at my job. I code on a whiteboard. It’s ridiculous.

Alyssa:     What does that even mean?

Ward:           Hold on, I’m getting a new point here.

Lukas:      I’m surprised.

Joe: The reason that that is used, the whiteboard coding is used in interviews is not because it’s a good practice, it’s because it’s easily measurable practice. Let me continue my rant into standardized testing in schools. They don’t measure well how students are progressing but they’re easy to do. The SATs are terrible tests but it’s easy to grade. That’s why it’s the gold standard for college entrance exams because it’s easy to grade not because it’s a good test. The problem is if the measurement is really, really difficult, then it’s so vague and subjective, then it becomes nearly useless. You have to play this balance between what is a useful label and what is an easy label to apply. Years of experience become extremely easy, knowledge of a system is a little bit more difficult but still fairly easy to say that that makes somebody a senior or not a senior when in reality, I prefer someone who writes good code and knowledge of the system has potentially lot less support unless I need something done the next a couple of weeks.

Ward:       I’m still kind of lost because partly I don’t know what we’re looking for in terms of these distinctions. My answer to that is I almost never asked that question. I never have asked for anybody who is a senior this or that. If I’m hiring for a position, then I’m thinking about what the qualities of that position are and then I’m going and looking for somebody who has related experience, a relevant experience to that. And then I have the challenge of finding out, “Do they actually have it?” or, “Do they just look good when they walk in or on paper?”

John:         That’s discrimination by the way.

Lukas:      Looking good in a different sense. Whatever. You know what I meant.

John:              Sometimes it’s very awkward.

Ward:       Yes you did. This is a difficult thing. This is why I never turn this decision over HR because they’re looking for a scoring sheet. They never sent me anybody that I’m actually interested in hiring. Yet, I understand in large organizations that have to hire quickly, they need an HR department, they need a screen, and since they can’t know the substance, they have to have some artifacts that they point to. I guess, I’ve just been lucky enough that I never tried to hire massive amounts of people. I’m always hiring one or two.

John:         When you get like a thousand resumes, you need somebody to filter those styles and unfortunately or fortunately, HR will do that and get you down to 20 or 50. And at that point, honestly I’m with you Ward. I don’t look for a role like junior-senior principle whatever, even though the [00:19:31] title in that way, what I look for is first, does this person at least have a project where they used it? And then I looked at the resume, it’s okay they’ve got the most words. The second thing I look for in the resume, I’m divulging my information here, I look to see did this person worded as ‘worked on a team where they did Angular’ or ‘wrote this service with Angular that did xyz’? There’s a difference in the way they communicate that might indicate, this person just happened to be a one for the ride versus they were the ones who actually did this work. Those are the kind of people that I look for. The ones who actually built something, designed something, solved a problem, not just kind of tagged along.

Lukas:      You just can’t argue against a good portfolio. When somebody, if you look at [00:21:25] and say, “Look at these things, this is how I did it.” What are they going to say, “No, you did not do it.” I worked for a company that we would interview interns for the summer and it’s funny that John said that because the bar was so low [00:21:42] find full information of all the students who didn’t say, “Oh, we worked on a team and this is what we did,” and I can never get them to articulate something that they personally didn’t [00:21:54]. Somebody said, “Hey, I went on the internet and I did a tutorial and it took be about an hour. This is what I learned. This is what I liked about it.” I would have just fallen over and hired them on the spot because the way they confirm it was very general and we did this thing and [00:22:15] which was truly frustrating for me. Just a pro tip, if you ever are in an interview, being able to talk in concrete terms about what you’ve done, and articulate it in a very specific and real life context would just go a long, long phase.

Charles:    I’ll just pile on that too. Right now, I’m actually looking to hire a new virtual assistant. This isn’t programming but at the same time my business coach is pushing me to write some key performance indicators for this person. That’s essentially what everyone’s talking about. I want somebody that can do these things, that can perform in these ways, that can contribute in these ways because ultimately they’re going to reach those performance indicators, they’re going to do the things that they payoff. If I don’t have any indication that can you hit those, then I’m not so interested in hiring you.

Alyssa:           Have all of you often had the experience where, because you’ve heard it twice now, where you interview someone and you get this feeling or this idea about who they are, and then a week or month later, they’re not measuring up. Does that happen often or not really?

Lukas:      Oh yeah.

Ward:       There’s a theory out there that says you actually make the decision in the first 10 seconds and then you spend the rest of the interview trying to justify why you felt that way.

Charles:    Yeah, I compensate for that by trying to talk myself out of it.

Lukas:      I was going to touch it because I think you might have input on this. If you are hiring a consultant versus a full-time employee, that’s a different decision too. Being a consultant, I could try them out for a week or two and go back and say, “It’s not working.” Go back to the consulting agency get somebody different. But as a full-time employee, that’s a lot of cost and turnover if you make the wrong decision.

Ward:       Don’t you have a period of time in which you can just sort of see their [00:24:08]? For all of my employing stuff, there’s a probation period and it’s a no tiers thing and I’m really clear about it.

Charles:    Depending on your statement [00:24:20] unemployment and what have you brought them along.

Ward:       I knew them two or three weeks. Look, obviously, you do the best you can because you don’t want anybody—there are going to be bad feelings if you have to say goodbye.

Lukas:      Exactly.

Ward:       You are going to do your best but don’t need to assume, “Where’s my best? I’m going to have a success. I’ve hired plenty people, it just didn’t worked out.” Forgive the expression, they look good but it just didn’t happen. They look great in some cases. Everything was so great in the interview, they were so impressive, they were so impressive at the board, then they just…

John:         Are you talking about me, Ward? Are you talking about me?

Ward:       Let’s take John for example. The chemistry is not there, or they have practices that don’t align with yours or you suddenly discover that they care about things that you don’t think are worth caring about.

John:              Like Star Wars?

Ward:       It could be Star Wars

John:         Let me ask you this Ward, here a concrete question for you. If you’re interviewing somebody, you ask them a question that is important to you and they look up the answer by Googling it. What are you feeling?

Ward:       Then I’ve asked the wrong question.

John:         Really?

Ward:       It’s my fault. I’m just so rarely interested in their exact skills. I’m much more interested in how they solve problems and whether they understand the problem in the first place.

John:         Isn’t that solving a problem though? Wasn’t the solving a problem by Googling it?

Ward:       I’m not going to ask a question that you can easily solve by looking it up on Google. That’s why I say I’ve asked the wrong question. At a certain level, I’m interested in a few [00:26:24] if I say, “Hey, go write up an Angular component for me.” And they have to look up at component then it’s off. That’s like saying, “Would you come in and play something on the piano for me.” And they have to paint the keys red, blue, green. Then, I know, “Alright, we’re out of here.” Because there’s a minimum threshold but I usually assume I’m past that point. For example, if they get the brackets on the Angie model on the outside instead of the inside, I don’t care. Or they can’t remember what the method is on the router, I don’t care because we’re beyond that point. If they’ve demonstrated just basic facility, I don’t care because I’m much more interested in whether they can solve a problem that I got for them to solve.

Lukas:      I agree 100%. I mean the questions I generally ask, I usually spend a minute to technical just to kind of see that at least they know what this thing is. Then, I focus most of my time on two things, one is how do you solve this problem? Let’s say I gave you an app that have to have x, y and z orders and customers, you had to use Angular to do this. How would you get the orders into a database? You can pick any technology you want and there’s actually walk-in through with their own discussion. What I mean by that is they start describing how they build it and based upon how they answer, I ask them more questions. Sometimes they’ll say, “Oh, I should create a service.” Okay, what’s that service look like? What should it do? What’s its responsibility? I don’t care about the code, what I care about is how do they think, and how do they communicate and how do they answer. When they don’t know something, I look for this and this is the biggest thing that bothers me. A lot of times people don’t know the answer, they don’t say I don’t know. Just say I don’t know. That shows a maturity.

Charles:    I always fall for the same thing. If I don’t get an “I don’t know” in an interview, they failed it because I will push until I find one.

Alyssa:     I have heard that a lot lately actually. They’ve much rather hear an ‘I don’t know’ then you kind of bladder through a made up answer.

John:         The second thing that I look forward too, which is actually harder to measure but I usually find a way and it’s based upon the first answers is I’m trying to figure out how this person will handle adversity. There are always going to be thrown into problems were teammates, customers, stakeholders, business, whoever is going to cause some kind of a strife in a project. When you’re faced with that, it’s important to know how people will behave and how will they actually act. Will they put in the extra time? Will they communicate clearly? Will they just put their hair on fire and run around like a crazy woman or man. I push to see what they’re going to be like because you use the people [00:29:08]. I want a Ward Bell in there who’s not flustered. I do not want somebody who’s going to run around like a chicken with her head cut off like my cat.

Alyssa:     How can you test that though in like a 30-minute interview?

Ward:       It’s not that hard. One of the ways to do that is to actually ask the person very hard questions about something that they did. You start by making it easy. You ask, “Tell me something you’re proud of. Tell me about the last project you worked and when you did something I don’t care what it was that you’re proud of.” Then they either can or they can’t. And I ask them to diagram it. That’s what I use for the board. Then I start probing about what made that important thing to do, why was that a value? Then I start challenging it and by challenging it or say, “Well suppose we didn’t care about X but we really cared about Y,” These are the ways I put stressors for the person in an interview. I think they’re fair stressors. Are they nimble in responding to that or do they freeze? It’s a way of finding out.

John:         Here’s the easy one too, “In Angular, why did you choose UI router or the Angular router?” Make somebody actually explain so then you communicate. It’s not important what they chose, it’s how did [00:30:31].

Charles:    Anyway, I think what you’re driving it, the thing that I’m picking up here from John and Ward are basically, “Hey, do you know enough and do you have enough experience to figure out the answer and can you come to that conclusion and implement it properly? The other thing I’m hearing is given whatever situations we have on our team, what does that get us?

Ward:       This does circle back to the whole junior-senior developer thing because for me, the spectrum, your ability to respond in different ways is an indicator of your experience. Not your experience in this particular technology but of the experience as a developer because long time experience of a developer means that you’ve entrust to long rich experience. I don’t mean long time experience. Somebody could be sitting in the same chair writing the same programs for 10 years but the kind of rich experience that I think we’re talking about means that the problems that you face have changed, the people that you have to work with have changed, the pressure have changed and over time, you’ve developed a wide variety of strategies for solving problems that are both complex and technical and social problems and that’s what I’m looking for. That’s what makes you senior to me.

Charles:    But does it make you senior or does it just make you hireable or is that the same thing?

Ward:       I fully recognize that people are at different levels along that spectrum. I’m happy to hire somebody along that spectrum if they fit the job. I don’t have to have somebody who is necessarily a great presenter, or who is necessarily seen at all. Otherwise, nobody would get hired. I would never have been hired. I spent the first 10 years of my experience being very foolish and effectively unhirable.

Alyssa:     Foolish? Did you choose ActionScript over JavaScript or something?

Ward:       It’s far worse than that. It’s just so embarrassing.

Charles:    My job description says ‘Must love Star Wars’ so you are unhirable Ward.

Ward:       I am unhirable. At one point, for one client, I said, “I can really do that project that you really need but in order for you to have that, you need a relational database and since relational database then didn’t exist yet in commercial form, I’ll write the [00:33:11] database in my language and then I’ll solve your problem. Okay?” Terrible judgment. It was so cool. Relational database were so fresh and new and nobody had them and I’ve figured I’d write one.

Alyssa:     Do you ever worry like that with Angular 2?

Ward:       I see the same thing happen all the time. Oh, I don’t know. Maybe what we have to do is forget everything we know about immutable stuff and we should make sure that everything is immutable and observable. I’m just saying. People get on these hobby horses and they’ve never really done it before but they’ve been reading about it, they heard a tip and they decided that they got to bring that technology to your business problem whether your business problem needs it or not. That is the sign of somebody on that spectrum from beginner to super experienced. Somebody who does that is early in the spectrum [00:34:17]

Alyssa:     Makes sense.

Charles:    One other thing that I just want to get while we’re talking about this and sort of a measure for seriousness. I don’t know what word, experienceness, whatever. Lukas brought up this LambdaConf, standardized functional programming and it has certain concepts and skills that if you have a good understanding for it, you will qualify as a fire curemic or an ice [00:34:48] or something. Joe I think, pointed when we were talking about it they just didn’t want to say noob. My question is, is something like this useful or is it going to be different for each product or each company, or each team?

Joe:           It is pretty specific to functional programming.

Lukas:      It does give you skill, measurements potentially in functional programming but it doesn’t necessarily—It’s kind of funny, it’s broken down into concepts and skills on each level and there’s the same number of concepts and skills on each level which makes me feel like this is fairly artificial. Hey, we need exactly eight concepts here. We had exactly eight concepts. You’re going to have exactly eight skills. This is specific to that.

Charles:    [00:35:42] for Angular, [00:35:45]

Alyssa:     Oh my gosh, That’d be so cool. Honestly to see like you’re a junior Angular developer, you’re going to have a good grasp on these concepts and have these skills versus mid or senior, that’d be amazing to see.

John:         There is a company trying to do this and that is PluralSight. I’ll be a disclaimer, I do work for them. One of the things that they’re doing that I took was skills assessment for Angular. It’s interesting because I took this and they were the quizzes that I, myself wrote, Ward wrote some, Joe Eames wrote some, Lukas was in there, it’s all this learning path stuff to have. After it was done, they rated me on a scale like 1 to 250 I think it was but it was interesting to see how they did this. They bought a company called Smarterer which doesn’t sound very smart to me, sorry. They bought Smarterer which has done a lot of work on this just figure out how do rate people. Companies have been trying to solve this problem. What I didn’t like about it was I think obviously a lot of the questions were arbitrary. What I did like is instead of saying you’re a junior-senior-noob etc. they just kind of put you on a scale and said, “Okay, based upon where you are on the scale, where everybody else is in this database, here are the things you probably should go learn next versus here’s the stuff you shouldn’t even look at because you already know it.”

Alyssa:     That’s cool. I heard about Smarterer and I actually have been on the PluralSight office and seen the smartest people. I knew they were working on that but I didn’t know that they even did suggestions and stuff after your quiz so that’s pretty cool.

Ward:       That would be a ranking for somebody who was being hired to program in that language, would that be correct?

John:         Yes.

Ward:       That’s very useful if that’s what I’m hiring for. I’m hiring for somebody to execute. An awfully lot of important jobs in the development sphere, you or may not expect to be developing software as the primary responsibility.

John:         A lot of times, we’re hiring for a variety of skills to. You’re expected to know whatever it is thrown at you.

Ward:       Some of it you just say, “Look, I’ll learn that when I need it.” I may feel that you’re not measuring for something that will ultimately benefit you. Again, a little bit like Joe earlier, I have this sort of knee jerk reaction. I understand the need for them because we have to make quick decisions and we want some level degree of objectivity on the other hand, since I can’t pass those tests, I generally don’t think much of them because what else am I going to think?

John:         They are A measurement and I think it’s worth looking at them. Somebody got a 0 out of 250 on that score for example, I would say probably no. But just because they got a 200 or 250 on it doesn’t mean I’m hiring them either.

Alyssa:     I think it’s funny how we’re talking about your experience level as a developer and development in any of itself is very like ABC and there’s like all these formulas. It adds up and yet this is something that we’re kind of coming to the conclusion that it’s not exactly tangible in that way. There is not a ‘take this test’ or ‘do this one interview’ tactic to know fully. I think it’s really interesting.

John:         The tests for what they test for. If somebody who is reviewing it, you look and say, “I find this useful and only useful so far.” As long as you know why you’re using the test and know how much value that test has for the job that you’re about to put that person to work on then I think it’s just fine. I’d be afraid to use it for paid decisions or overall higher decision just blindly use it and I’ve been lucky enough not to be in a position where I’ve had to do something like that. I don’t know how this helps the questions for you which I think was a great question which is, “When do I stop being a junior and how is everybody going to know and my instinct is it stops happening when people stop asking the question. If I don’t have then you have two places to look. One in yourself and maybe I’m in the wrong place. If they’re still talking about me, it doesn’t really matter. If they’re still talking about me and they’re saying junior, then I have to figure what’s going on there. Maybe it’s time for me to go some place where I’m appreciated.

Alyssa:     It was definitely coming from a place because I am a junior developer but my title isn’t junior. It’s just flat out engineer I think actually. It wasn’t even coming from a place of this is a struggle at work but it’s just kind of a talk we’ve been having with some people in the industry and some local people here in Orlando of what does that actually mean, what does look like for yourself because I think it’s important outside getting a job and just to constantly challenging yourself and to have a way of measuring that and knowing where you’re at is always important. In the last month, I think I’ve gotten three different people who’ve never touched development before and they came up to me and they’re like how do I get started? What do I do? When I’m talking to people like that versus people like myself who have a year if I pull everything together and then versus people like you guys that are like legends that can do anything I throw at you. It’s just an interesting concept that I really wanted to kind of put into a formula but it’s looking like there isn’t now. There’s not a set, this checkmark, this checkmark, this checkmark.

Ward:       If people are coming to you and asking you for your stuff then you know you’re handling value and you’re gaming experience and you’re getting somewhere. If I’m not coming to you and asking you Alyssa, how do I do this because I know you know something then there’s something wrong with me, there’s nothing wrong with you. You said all that stuff and it makes me blush but I’ll tell you, I don’t feel that way. I don’t know the people that I hang out with.

Alyssa:     Really? That’s odd for me. You walk around in those awesome suits. I feel like that’s your developer bling.

Ward:       That’s my bling. I’m always stunned. Because most of the time, I don’t know what I’m doing and I don’t feel bad about it. That’s the thing, I don’t feel like I’m an impostor because I consider that to be the state of our art.

John:         Isn’t that part of what we do right now, is we’re constantly embattled with, I think when you see you’re developer, that means you’re  constantly doing things you’re not sure you can do. You challenge yourself.

Ward:       What you have is faith because you’ve conquered this things before, you’ll do so again. The fact that there’s something that you don’t know, it doesn’t bother you anymore. You don’t sit around and say, “Well, I saw that back in 1968.” You don’t say that. You say, “Let’s see how this correlates with something I’ve had with my experience. Let’s bring my experience to it but I’m not going let my experience run [00:43:25] over this new thing that’s coming and I think that’s what happens. You just feel like this is the place where you belong and belonging means that you’re ready to take on new things that you don’t know, you’re ready to share what you do know with other and that’s the sign of a senior person.

Alyssa:     I thank you all because this has been a really interesting discussion and there’s been lots of value. I do feel better about the journey I had for not only myself but for the other noobs below me because I feel like it’s a much more positive and less jaded version than I have seen in others.

Ward:       Yeah. Feel good about it. Just have fun. If I’m not a noob on something that I’m not working hard enough and I know John feels the same way and everybody here. We just can’t wait to be totally incompetent again. It’s a great experience.

Charles:    Well if I’m not I’ll be bored. That was the thing that pushed me into, “Okay, now I want to learn Angular,” or “Now I want to learn ReactNative,” or “Now, I want to learn this other thing.” It’s the same thing with a lot of the areas of business that I’m struggling with right now. I need to figure this stuff out. It gets so boring if you’re just doing the same thing over and over again.

Alyssa:     It kind of sounds like, what makes good developers someone with ADD? Like, “Okay, I got this now. I’m bored. Let’s go to the next thing.”

Charles:    You’ll be surprised. Alright well let’s go ahead and get to picks. We’re already over our time. We started late but still. John what are your picks?

John:         I’m going to make two picks in general. One is that if you take anything out of today, I hope that you take out of this that the classifications really aren’t good for anybody except for [00:45:17]. Just do your best in your interview and try to solve problems with people and show the value on how you can be unique. You’re trying to get in a job. Don’t worry about what they’re telling you. Worry about being happy and having an impact. My second pick is using a tool that’s been old. It’s been off for a while, called Postman. It’s great for doing HTTP inspection. A lot of you may know about it, some of you may not but it’s fantastic.

My third pick is today, I taught an hour of code to my second-grader school, this is the National Hour of Code Week or the international one. This week in December, by the time this show airs it’ll be over but you can definitely try this at home or try it with a school in your area. I’ve done this the past couple of years and I’ll tell you, there’s nothing like seeing a group of second graders or ninth graders, different age groups, try this tool and it’s amazing to see their eyes open to, “Wow, this is what coding is like?” And they get to build like Star Wars games or Angry Birds games or whatever else there maybe on the sites these days. It’s absolutely fantastic go to www.code.org.com and check that out.

Charles:    Awesome. Ward, what are your picks?

Ward:       Okay. My pick in keeping with today is Billy Collins who is a poet. A very funny poet. We were talking about getting senior and I’m feeling more and more senior. One of his poems, I’ll just begin the beginning part, it’s called Forgetfulness. You’ll get a taste of this guy. It begins like this, ‘the name of the author is the first to go, followed obediently by the title, the plot, the heartbreaking conclusion, the entire novel with subtly becomes one you have never read, never even heard of. If one by one, the memories you used to harbour decided to retire to the southern hemisphere of the brain , it’s a little fishing village where there are no phones. You can imagine where this goes from here. It’s very funny but it’s very true about what’s happening with my memory these days. Taking it from there, go read Billy Collins, very funny poet.

Charles:    Alright, I’ve got a few picks I’m going to throw out here today. The first one is a Sona. It’s a task management system. I don’t know that I would use it for software projects but it’s really great for processes and things like that. For example, putting together conferences or podcasts or whatever. I’m really liking that.

The second pick that I have is basically, how do I put it, I discovered a few ideas I mentioned KPIs, key performance indicators, I’m learning a ton about this stuff but the other thing that I have figured out is having standard operating procedures when you’re working on stuff that you do over and over again like producing a podcast. I’ve been documenting that and I can hand some of that off to somebody else and I don’t have to worry about it every week which is also very nice. I’m going to pick that as well, just the ideas behind getting a process and a system around things that you do routinely. Anyway, those are my picks. I don’t think we have any other announcements. We don’t have any NGConf organizers here to tell us great news about stuff. We’ll go ahead and wrap the show up. Catch you all next week!

 

x