CHUCK:
Alright, that’s fine. We’ll just make you sound really smart.
[This episode is sponsored by FrontEnd Masters. They have a terrific lineup of live courses you can attend either online or in person. They also have a terrific backlog of courses you can watch including JavaScript the Good Parts, Build Web Applications with Node.js, AngularJS In-Depth, and Advanced JavaScript. You can go check them out at FrontEndMasters.com.]
[This episode is sponsored by Hired.com. Every week on Hired, they run an auction where over a thousand tech companies in San Francisco, New York, and L.A. bid on JavaScript developers, providing them with salary and equity upfront. The average JavaScript developer gets an average of 5 to 15 introductory offers and an average salary of $130,000 a year. Users can either accept an offer and go right into interviewing with the company or deny them without any continuing obligations. It’s totally free for users. And when you’re hired, they give you a $2,000 bonus as a thank you for using them. But if you use the JavaScript Jabber link, you’ll get a $4,000 bonus instead. Finally, if you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus if they accept the job. Go sign up at Hired.com/JavaScriptJabber.]
[This episode is sponsored by Wijmo 5, a brand new generation of JavaScript controls. A pretty amazing line of HTML5 and JavaScript products for enterprise application development in that Wijmo 5 leverages ECMAScript 5 and each control ships with AngularJS directives. Check out the faster, lighter, and more mobile Wijmo 5.]
[This episode is sponsored by DigitalOcean. DigitalOcean is the provider I use to host all of my creations. All the shows are hosted there along with any other projects I come up with. Their user interface is simple and easy to use. Their support is excellent and their VPS’s are backed on Solid State Drives and are fast and responsive. Check them out at DigitalOcean.com. If you use the code JavaScriptJabber, you’ll get a $10 credit.]
CHUCK:
Hey everybody and welcome to episode 180 of the JavaScript Jabber Show. This week on our panel, we have Aimee Knight.
AIMEE:
Hello.
CHUCK:
I'm Charles Max Wood from DevChat.TV. This week, we’re going to be talking about how to find a job.
To give you a little bit of background, the way this came about is I've been doing these 15-minute calls with people who want to talk to me about the shows and things like that. I kind of instigated that you can actually still get on my calendar by going to JavascriptJabber.com/15minutes and it will take you to Calendly and then you pick a time to talk to me.
Anyway, I've talked to a lot of people and there are several people out there that have been doing JavaScript for a while and they're thankful for the show and they give me feedback on who they want to hear from and what they want to hear about and things like that.
But there have been a fair number of people, I would say, probably 30% or 40% of the people I talk to at least, are new or new-ish. And so, they're either getting into programming right now or they're in a boot camp or they’ve just gotten out of a boot camp or they're self-taught and they're starting to think about, “Okay, I’d like to do this for a living.” And I keep getting asked how to find a job. So I thought, “Well, this would be a really great episode to do,” to just kind of help people out.
And you know, Aimee has been thinking about this a lot. I brought it up and she started telling me all the background that she’d been looking into.
AIMEE:
Yeah. So I'm getting ready to do this talk at Nodevember, kind of all about my journey into programming and lessons learned over the past year since I've gone from boot camp to JavaScript developer.
A big chunk of that talk, because obviously a topic on everyone’s mind is trying to find a job, I kind of take the approach in my talk that I'm preparing that I think that’s kind of something that will evolve organically if you put other things into place. But it’s definitely a huge part of the talk nonetheless. I’ll put links in the show notes for these articles.
But in preparing for the talk, I did some research on, I think the numbers were – don’t quote me on this, I’ll have to double check. But I think it was something like 3,000 people graduated from a boot camp in 2013 and might have been 6,000 that graduated last year. So with something this huge influx of junior developers and yes, programmers are in demand but I think in reality, it’s really senior developers are in demand. At some point, we need to bridge the gap between getting people from junior to mid-level to senior and just breaking in.
CHUCK:
I want to address the junior, mid-level and senior because I have people also ask, “What do I have to do to be a senior developer?” [Laughter]
CHUCK:
And I'm basically like, “Have your boss call you one.” There aren’t any hard and fast requirements. There are no certifications. So essentially, a senior developer is more or less somebody who’s going to be able to solve a wide variety of problems without too much spinning their wheels.
AIMEE:
And I definitely think it depends on the stack. I think my manager at work, I'm more mid-level on the frontend because when I decided to start my company – because I'm doing full stack JavaScript there, I kind of needed to pick. I just thought the frontend would be a good place to start. So I'm kind of more junior still on the Node portion but now I have flipped and I'm not doing anything on the frontend and only doing the backend so I can kind of even those out. But it really depends on the stack you're working on and the company too because it might depend how technical the domain you're working on is.
CHUCK:
And there are also companies out there that are sort of high-end or they have this idea that they're only going to hire top-end people. And so, a senior over there is going to be different from a senior somewhere else.
AIMEE:
Yeah.
CHUCK:
I can tell you that most of the senior developers I talk to, the people who have been doing it – I hate using the metric of years but the people who have been doing this for several years, the way that they find the jobs is they find their jobs through their networks. In other words, they're going to go work with their friends. And then if that doesn’t work out, then they're going to go work wherever they’ve heard is great. And then kind of their last ditch effort is to send resumes around like everybody else does.
And so just to keep that in mind as a junior developer or a mid-level developer – whatever you want to call yourself – if you're just getting into this and trying to find your first job, the people that have been doing it for a while are leveraging their network which is a strategy that you can use but you have to build the network first and they don’t.
AIMEE:
As far as finding my job, I would say it’s pretty much the exact same thing as what you said for a senior. It was all about the network. I didn’t really just go off and at random email people. Now I did at random because I was in Nashville, Tennessee at the time and we would be relocating to Baltimore. I did start sending out emails introducing myself to people but honestly truly not with the intention of trying to find a job.
The place that I work at now, I ended up reaching out to Jason Rhodes who was on a couple of weeks ago because I saw him tweeting about Node school he was holding and I figured it would be a great opportunity for me to learn more by mentoring with that. And through doing that and talking to him, he introduced me to the people where I work now.
So it really is just all about networking we can get into at some point. I feel like not all jobs are created equal. So you should also make some considerations there.
CHUCK:
If you're coming out of boot camp then, what do you recommend the people do? Should they do what you did or should they do something else?
AIMEE:
[Laughs] I felt like my approach didn’t work pretty well. My boot camp was six months and so I did not start networking immediately. I think I probably started networking or reaching out to people maybe a month and a half before graduation. What I did was send out emails to people that I noticed in the Baltimore area who are tweeting a lot about JavaScript or Node. I went ahead and followed all of the different meet-ups. So I reached out to the meet-up organizers but not asking for a job and genuinely asking like, “How can I [inaudible] into the community? How can I help? Are there any hackathons? When are your meet-ups? Do you have junior developers who speak at the meet-ups because I plan to give a small lightning talk?” That kind of thing.
And then as far as actual preparing for the job, I do think you need to reach a certain level before you start looking.
CHUCK:
Yeah, that’s fair. I mean, the way that I explain to people how job hunts work, is that they're looking for somebody who can solve a certain set of problems for them. They don’t always know what those are because sometimes they're going to change the feature set as they go along. So then what they want is they want somebody who can solve a certain class or certain classes of problems or who can pick up their area of expertise be that like lead gen was one job I had or medical information health records, things like that where you have to pick that stuff up. They want you to understand the code side and be able to pick up the other concerns that they have and then be able to solve the problems.
And so ultimately then, when you're doing the job search, it doesn’t matter necessarily if you're a senior, mid, or junior as much as are you going to be able to solve these problems in a time- and cost-effective manner so that it’s worth it to the company. And if you can convince them that you can do that, then you're probably going to get hired. Unless there are a whole bunch of other people who are convincing them of that and then they're going to take the best choice.
So the trick is that the people who are making these decisions are people and they are prone to bias just like everybody else. And so if they like you, then that bias can work in your favor. And if they don’t know who you are, then that bias can work for or against you depending on what it is. And so the trick is that if you can get noticed in a positive way, then that bias is going to work for you and they may make up their mind before they really know what you're capable of. And then all you have to do is prove that you're capable, not necessarily that you're awesome.
AIMEE:
Totally. And I think from a junior’s perspective on that, you have to keep in mind and humbly accept the fact that when someone is hiring a junior, they're not hiring you thinking that you're going to solve their largest problems. When you hire a junior, it is kind of a gamble. I think, typically, what they look for is someone who is willing to probably put in a lot of overtime. I mean, I put in a ton of extra time on my own leveling up and someone who’s excited because if they have to make a gamble on somebody because you really don’t have a whole lot to show yet. Yeah, you have maybe some small applications that you built but chances are, wherever you go work, you're going to be working on a much larger code base. So, you need to give them as much proof as possible that you're going to be a wise choice for them.
CHUCK:
Yeah, I completely agree. The passion and then just the ability to pick things up when you're looking at anybody who’s got less than maybe a year or two of experience. It makes a big difference because then you know, “Well, I can bring them in. I can hand off this much to them. And then I can give them a few things that they're going to struggle with but they're going to figure it out. And then I've got somebody who can solve those things too.”
AIMEE:
Yup. And I’ll say too, I was typically of the mindset – I know we’ve talked about this on the show before. I don’t have a technical degree. My degree is in something completely unrelated. So I went to this boot camp and for the longest time, I really felt like I was still at a disadvantage as opposed to someone with a degree. I was into that CodeNewbie Podcast and they talk on there too a lot of senior developers that they'd rather see somebody hungry and motivated than somebody who has a degree and is not really that eager to learn. That’s not to say that someone who has a degree might also be extremely eager to learn, there could be both.
But all that to say, I've had the experiences recently working with juniors who have a more traditional background and I've been shocked to see that their lack of passion kind of prevents them from really advancing. If you're coming at it with a non-traditional background, I wouldn’t get too discouraged. If you have that passion, I think you can still prove yourself.
CHUCK:
I think that’s true. I think though that the other thing that people look at – I mean, I hear the ‘is it worth four years to go to college versus get experience’. And it’s kind of a nuance discussion there because if you can get the job, then you're probably better off getting the experience. But sometimes you can't and then the default position of having a degree can, in a lot of cases, help you out because then at least they know that you have some classical or traditional training and that they can bring you in and they can build off of that.
I mean, there are definite tradeoffs there. I think it’d be an interesting episode to dig into whether or not it’s worth getting a degree but you can definitely be competitive with people who have degrees if you can demonstrate that you’ve got the experience, you’ve done the things that they want you to be doing because then you can show I have more relevant experience than the other candidate does because all they have is classroom and lab time.
AIMEE:
One thing that I would like to talk about if you think it’s good – we kind of talked before the call and I know it was talked about on Ruby Rogues episode a long time ago is not just looking for a job but looking for the right job.
CHUCK:
That’s definitely something that’s worth talking about. I will say that most of the people that I talk to, who are looking for a job and bring it up rather quickly and aggressively, have been looking for a while and they would probably take any job. But if you have the choice, I think it’s worth talking about how to determine whether or not it’s a good choice for you. Or in other words, if you get multiple offers, which one are you going to take?
AIMEE:
I guess I can time in with my junior perspective to start with. We were talking a little bit before the call. When I was at this boot camp, there were 30-some people and we’re all looking for a job and it seemed like I think when you're looking for a job, you need to have a list of either must haves, your must not haves, and maybe [inaudible]. And I would venture to say especially as a junior, if you don’t have certain financial obligations that you actually must make higher than compensation, at the top of your list should be things like does the company implement testing or TDD, do they do code reviews for each of your tickets, do they have a plan for you, are you going to actually have something to do or are you just going to sit in a corner and work on internal tools that they have. You should also, if we’re talking about JavaScript, does the company have a build system in place, are they linting, things like that because as a junior, you need to develop good habits. And without those things, I just think, in a year or so, you might be stuck because you haven’t really progressed. I think as a junior, your number one objective should be to get to midlevel as fast as possible and to shed that title.
CHUCK:
There are a few other things that I think go into that. Honestly again, I'm just going to tell you I don’t put a whole lot of stock into the title of junior or senior.
AIMEE:
[Laughs]
CHUCK:
When you're ready to move on from that first job, if you’ve been doing it for a while and you feel like you perform at the level of the average developers, then tell people you're the next level up. My first dev job, [Chuckles] I mean, granted I did programming for a while but I had not been professionally programming for a while. I had actually built the ticketing system at the company I've been working at before, but that was as the Tech Support Manager and it was just because the programming was fun and I decided to make a career change. So I went over to this consulting firm and over there, the title affects their ability to bill you out at a high rate. And so, I basically changed jobs from QA Engineer to Senior Rails Developer overnight and it was because they wanted to bill me out at that level. And depending on whether the client looked at my resume or looked at my work, some of them bought it and some of them didn’t. I mean, it really just depends on how you think of yourself and what you call yourself.
But that said, again, it comes back to what do you know, what problems can you solve. So if you're getting into your first dev job, first off I just want to warn folks, if you have some kind of salary requirement to make the bills – I keep hearing this number thrown around and I hate it because I just don’t think it’s realistic especially given the current state of things for new developers. But if you got it in your head that you're going to make $60,000 a year, don’t count on it especially since there are so many people out there looking for jobs at that level that honestly, you're probably looking more $30,000/$40,000 and that depends on where you live.
AIMEE:
I'm totally [inaudible] throwing out ballparks of salary ranges that I've seen people getting [inaudible] and graduating because that’s a common question I get a lot from people. So I'm pretty sure, this was in Nashville Tennessee, I think the range in salary for the people that were graduating from my cohort was anywhere from $35,000 to $60,000. Obviously, $60,000 was the max. So I do think if you are able to prove yourself, most of the people that I graduated with got significant raises pretty quickly.
CHUCK:
Yeah, that’s pretty common. And if you don’t, then you stick around for a year and then you go out and you get another job saying ‘I have a year’s experience and here’s what I've done’. I can almost guarantee you that you will leap up at least $10,000 if you ask for it.
AIMEE:
Yeah.
CHUCK:
It’s just the way that it works. In fact, most people even at the senior level, the most significant raises they get are when they change jobs.
AIMEE:
Yeah. I think too the people who came out of the cohort with the higher paying jobs, those are the people who put more time and ahead of time. I think it’s also important to really distinguish someone who has only done a little bit of HTML and CSS coding and then they go to a short boot camp, your salary definitely is not going to be that coming out. So the more time you can put in before the boot camp preparing, the higher the salary will be at the end.
CHUCK:
Yup. Then the other thing again comes back to who do you know and what do they know about you. I have all kinds of strategies that I've given people over the years to find and get to know people. We’ll talk about that in a minute. But the other things you should be looking at, just going back to what should you be looking at when you go to the job, when you get your job, what should they have, look at the people you're going to be working with. My first development job fulltime, they paired me up with their only other Rails guy. He’d been developing for like 10 or 15 years professionally. He was a top-end .NET architect who had gotten into Rails and was just super excited about it. And when I did the interview with him, half of the questions I answered – seriously, I answered ‘I have no idea’. And he explained the concepts to me. Incidentally, the interview took place during his daughter’s 8th birthday party. [Laughter]
CHUCK:
But he’s explaining to me what design patterns are and how to approach specific problems in Rails. And at the end, he told them to hire me. And it has kind of worked out that way. I didn’t know any of those folks. But make sure that they're going to have senior level people, high level people, people who have been doing it for a while who are involved in the community and who are as hungry as you are but at the higher level because those are the people that you're going to want to work with and learn from. They are the people who are going to help you level up faster than anything else.
AIMEE:
Yeah, definitely.
CHUCK:
And then the other thing is when Aimee said you want to find the place that has a plan for you. What I heard was you want to find a place that knows kind of the things that they want you to be able to do and are going to kind of throw you in the deep end and make you learn it because the worst thing ever and I've known a few people who graduated from boot camps got dev jobs and they kind of coasted into the job and then the company didn’t know what to do with them. And after a while, they were there for six months and they didn’t get anything. They didn’t learn anything. They didn’t fill a need at the company and then they got let go and it was doubly hard for them to find a job because now they have six months of experience and nothing to show for it. So then they're like, “What did you do at the last job? What have you learned?” Blah…blah…blah…And didn’t have a good answer for it.
AIMEE:
I've been very shocked. I was on the opposite end of that spectrum. I was definitely thrown into the deep end and just completely overwhelmed for the first couple of weeks. But some of my friends were on the opposite end where they didn’t have a plan for them and they were just sitting there reading tutorials and just not really learning anything.
CHUCK:
Chad Fowler, he talks about – and I know he didn’t come up with the term but I think he’s a classically trained jazz musician, is what he studied in school and things and then he graduated and played jazz for a while. And the he’s a CTO at a big company, big SaaS company, Wunderlist or Wunderkinder or whatever they are. Anyway, he wrote a book ‘The Passionate Programmer’ I think is what it is.
Anyway, he talks about being the worst guy in the band. That’s kind of the thing is your game goes up when you play with the top people in the field. So you want to be working with those top people. I mean, I can't iterate that highly enough. And get in there, ask them questions. The dumber the question, the better honestly because then, that’s where you learn. That’s where you start filling in what you don’t know.
AIMEE:
Mentorship is huge looking for a job too. And I would say even if they don’t have that where you're working, like I know where I'm at when you're so busy that there isn’t a ton of time for pairing and things like that. But I've kind of gone off on my own and I'm working with a mentor outside of work.
You can do those things even outside of your day-to-day, outside of the people you're working with.
CHUCK:
Absolutely. A lot of this applies to people at the higher end too. I've turned down jobs because I knew I would be the top dog at the company and I wanted to be the top dog of the company because I wanted to learn more stuff and feel like I had learned enough.
AIMEE:
Recently where I'm at, we’ve implemented like we have a weekly lunch and learn. I started doing a study group for juniors at work and then I actually do this with some friends who I don’t work with. Just any way during your work hours where you can share knowledge with the team is really beneficial for juniors, and I'm sure for seniors too.
CHUCK:
And if I were a new person trying to come in and then get a job and the company had somebody who is pulling something like that together, I would take a low salary to work there just because I
know that those people are serious about me leveling up and learning more and blah…blah…blah…
And the other thing to keep in mind is there's always a cultural component to a company. And not all cultures are going to work for all people. So it’s really hard to figure out whether that’s the kind of culture you want to be in until you’ve worked a few jobs. In my experience, most people they get into a job and then after six months are like, “Yeah, this culture is not for me.” And it doesn’t mean it’s a bad culture though I have worked in companies that had toxic cultures. In some cases, it’s just that they operate this way and I just don’t, whether it’s they expect everybody to be there at 8 o’clock and leave at 5 o’clock or whether they expect people to work long hours or whether everybody shows up in t-shirts and shorts and you're kind of a slacks-and-a-buttoned-down-shirt kind of person. I've seen all kinds of culture mismatches like that and all it really meant was that the culture and the business didn’t match up with the person and they were better off looking somewhere else. There was nothing wrong with the person or the company but as you work through it, you'll figure out kind of the ways that these companies work and you'll start to see the signs of ‘hey, this doesn’t really fit’.
But in the meantime, don’t be afraid to try one out and if it doesn’t work after six months, the start looking for something else.
AIMEE:
I think that’s totally fine too. I know a lot of people, a lot of juniors especially, it think after like the first year, are kind of ready to start looking for something else. And I think that’s totally fine.
CHUCK:
I have to say though that from the employer’s standpoint, I've heard a lot of employers complain about that, “We brought them up for a year and then they left.”
AIMEE:
[Laughs]
CHUCK:
And so I would, if you can, just find out what the expectations are and then if the expectations are ‘we’re going to train you for a year and we’d like you to stay for a few years’, make sure that you know how firm that commitment is, how firm that expectation is. And then make sure that you also understand that and that they understand that if it’s really not a great fit for you so that they understand the parameters you're working under and that you understand the parameters they're working under. That way, you don’t burn any bridges when you leave and things can work out best for both you and them.
AIMEE:
Definitely. I think too that’s why it’s really, really beneficial even before you take that job to make sure that it’s going to be challenging in a place where you do want to stay because you want to be able to stay there long enough where you're continually learning for the entire time you're there.
CHUCK:
Yup. One other thing I want to put in there is that when they ask for salary expectations, put a number up there maybe a little bit higher than you expect unless you know the job is really competitive, or unless you know that they're getting more qualified people than probably you. That way, they can make a decision there. But that initial number is what they're going to negotiate from.
And so, when you're looking for a job, go ahead and put a number out there that makes you a little bit uncomfortable. Not a lot uncomfortable, but just a little bit uncomfortable.
AIMEE:
[Chuckles]
CHUCK:
And just see what happens. You may have to adjust that and you may get some really good practice at getting interviews and not getting jobs because you're asking for too much. But I think that’s a healthy thing and then you can, like I said, adjust your expectations from there.
The other thing that I want to put out there is if you have any way of doing it, find somebody that works in the company, preferably on the team that they're hiring for and go to lunch with them and just pick their brain. Just find out what it’s like to work there. You're not going to get any better information about it than that. And those people will then give you the information you need to know whether or not you're really going to be happy there. And you can then evaluate they work this way, they do these kinds of things, they have these kinds of expectations, this guy really seems to hate his life or really like his life.
[Chuckle]
CHUCK:
You can kind of measure off of that and get a good vibe on what the company is about before you go get the job because you're going in and you're doing interview and you're putting your best foot forward but so is the company.
AIMEE:
Yup. Interestingly, when I was on the episode talking about my interview process, I had the perspective of where I'm at. But recently, I've been pulled in to kind of assist in interviewing some of the juniors and interns. So I have that perspective now as well.
My perspective when I was interviewing and I think like I said before, the company that I interviewed with, I felt that the process was pretty grueling. It was three different faces.
CHUCK:
Oh, wow!
AIMEE:
Yeah. But at the end of the day, come the third interview which was the in-person technical interview, whiteboard, the whole nine yards, you know what you know and that’s all you're going to know. Some really good things to do beforehand would be mock interviews with people, things like that. But when you're in there, not just when you're in there but even when you go to the actual job, I think just being honest is the most valuable thing you can do. So if they ask you a question where you don’t know, you just express your excitement to learn about the topic but be clear about where your knowledge ends because they're smarter than you so they're going to know when you don’t know.
But like we talked about at the beginning of the episode, for me I think the reason that things worked out pretty well was because I was so excited and passionate about what I was doing. I still am, I absolutely love this and that came across the interview. So I think that’s what kind of gave me the edge as opposed to other people they were talking to.
And then the same thing now when I've been able to go and interview for our intern positions or other juniors, it’s been really amazing to me to see we’ll have someone send us a link to a project that they’ve built beforehand and the project looks pretty good. But they come in for the interview and they're just so nervous and so unconfident that being a junior, you’d be kind of scared to hire him because of that. So I think it’s really, really important that’s the one point where you might want to fake it till you make it is to try to be just as confident and energetic and excited as possible when you're in there.
CHUCK:
I completely agree. And the reason for me is that when I interview people, I'm basically looking for a couple of things: one is can they do the job and that’s just base level, what do you know; or can they learn it and can they learn it quickly. And you can gauge that just by talking to them and maybe instructing them a little bit. “I hate whiteboard interviews,” I kept saying that. I was having these flashbacks and they're just so bad.
AIMEE:
[Laughs]
CHUCK:
Anyway, the other thing though is do I want to work with this person? And if I can hardly talk to you because you're so nervous, it makes it really hard for me to figure that out. And so, if somebody comes in and they're excited and enthusiastic and they love talking about this stuff and we wind up shooting the breeze about stuff for a while, code or anything else, to be honest. Those are major points because I know that I'm going to sit next to this person later on and I don’t want to sit there and go, “Can I talk to him? Am I going to make him nervous? Am I going to make him mad?” I don’t want to worry about that.
AIMEE:
Yes.
CHUCK:
And so, if I feel like, “Oh, we have a rapport,” then I'm going to hire you or I'm much more likely to hire you.
AIMEE:
Yeah. Even from a newer person’s perspective, you still have things to offer. I think a lot of seniors are so busy with some problems, they don’t always have the opportunity to stay up on some of the latest technologies. So I kind of see that as a niche something of value that I could offer at the place that I work. So there's always something that you can try to find that you can bring to the table. I know they weren’t using ES6 or anything where I was at, so I really took it upon myself to start to migrate our code over to ES6. And I had the time on my own to go ahead and research all those things.
Which brings me to another point as far as prepping for the interview and preparing for the first job, we’ve been blunt about the salary you should expect. I’ll also be blunt that it is hard work and you're probably not going to have much of a life for the first year. I think I worked every single weekend teaching myself or refactoring the code I was working on in my tickets so that come Monday, I was ready to push everything in the production and really be proud of the work I was doing. So be prepared to put in a ton of overtime.
I think one of my mentors told me to spend at least three extra hours each day on my own learning plus weekends.
CHUCK:
Wow! I don’t know how healthy that is.
AIMEE:
[Laughs]
CHUCK:
I can also tell you that when I got that first dev job, I probably worked 50 hours a week, maybe 60 on some weeks. But yeah, and it also really depends. Some places are really healthy to work for and they're just like, “Look, we don’t want you putting in a minute over 40 hours.” Usually you're an exempt employee anyway so it’s not about the overtime. They just don’t want you to burn out. They realize that you're a resource that they want to keep and keep happy and keep healthy.
AIMEE:
Yeah.
CHUCK:
Some places, they don’t care.
AIMEE:
[Laughs]
CHUCK:
So you get points for working long hours.
AIMEE:
This was definitely all on my own.
CHUCK:
Yeah.
AIMEE:
I'm just saying from a junior’s perspective if you want to level up. And I might have taken that to the extreme end of the spectrum like I have a tendency to do. But be prepared to put in a lot of extra overtime just so that you can continue learning and be more valuable. If you're coming from a boot camp, I think they say their job is to take you 20% to 80% of the way there. So if to get 100% of the way there, you need to do the rest on your own.
CHUCK:
Yeah, I think some of the boot camps give you the expectation that you'll get a job when you come out and others don’t.
AIMEE:
Yeah.
CHUCK:
I don’t know how realistic it is. I know that some of the boot camps do better at that than others and it usually boils down to who’s running it and who they're connected to. In other words, like what we've been saying before, a lot of times it helps to know people. Well, in this case, it’s the boot camp organizer that knows people.
AIMEE:
Yeah.
CHUCK:
And so, they're pulling strings for you to get you those jobs. But not every boot camp has that and even then, you still have to go in and prove yourself to get the job.
AIMEE:
Yup.
CHUCK:
I want to switch over to one other topic and this is one that I've been thinking about for a while. I really want to write a book on this. David Brady was going to write a book on this. But basically what it is, I've mentioned before that the interviewers and the hiring managers are people. And people have biases. And so, I know this is going to make some people angry because ultimately, what we would like to see in an ideal world is that it’s some kind of meritocracy. So you show up, you prove that you're as good as you are. Somebody else comes in and they prove as good as they are. And whichever of you is better, regardless of anything else, gets the job. If I go in for a job and Aimee goes in for a job and they're looking for somebody that’s much more like Aimee, Aimee would get the job in a perfect world. And if they're looking for someone who’s a lot more like me, then I would get the job. But it doesn’t always work that way, because we’re people and because we’re always not going to find out those things.
And so, there are a lot of ways to play that game a little bit and get to know people. And it’s going to be very valuable just in the information you gather as well as having those relationships.
So go to the users groups. Even if you're brand new, go to the users groups, get to know people there.
AIMEE:
Yup.
CHUCK:
You're going to learn, you're going to learn from the people who are there. You're going to make friends. Find out when they're going to lunch, go to lunch if there's a company you want to work for. If they're hiring, they probably have an empty desk. And so you can go in and you can say, “Hey look, I'm new. I'm not going to bother you folks but I’d really like to go into an office and kind of get a feel for what that’s like and blah…blah…blah. And so I would like to come in and fly your desk for a while.” And a lot of companies will unless they're really security conscious or worried about this side or the other, and as long as you don’t make a nuisance of yourself while you're there, they’ll probably let you do that for a while.
So then what you can do is you follow them out to lunch. Because when they go out to lunch, whatever, you're just another one of the developers going out to lunch. You're just not on their team and not on their payroll. But you build that rapport, you get to be part of what they're working on, you're going to be part of the conversations. And then when you apply, you’ve got a leg up because they already know who you are. They’ve probably seen you working on stuff and they like you. And that makes a huge difference.
AIMEE:
Hackathons are a really good way to meet with people or contributing to open source. If there's a good company that you see that you're interested in. Some people might scoff at it but even if it’s just a documentation thing, if you're new, if nothing else, you're proving that you know how to use git and you know how to do a pull request.
CHUCK:
One other thing that comes to mind is if they call you up, because sometimes they’ll call you up and they’ll say, “Look, we’ve looked at your resume. You're a little bit too green, we’re not really interested in hiring you right now.” You can ask them and this is something that I've seen done where they go, “Okay, what skill sets are you looking for? What do you really need?”
And the thing is when you look at those jobs descriptions, this is another pet peeve of mine, by the way. I'm just going to put this out there. If you look at the job descriptions and they list like ten million different technologies that you have to know, you really have to know like the five core ones that they have and you even on those, you can fudge on three of them.
So go apply for the job. If the job is listed, go apply for it. And then if they come back and they're saying, “We want somebody that’s really senior to you,” that’s one thing. But just talk to them and say, “Look, what technologies do I need to demonstrate that I'm proficient in, in order to get this job?” And some of them will blow you off and some of them will actually tell you, “Well, we really need to see that you're capable of working in AngularJS,” for example.
AIMEE:
Yup.
CHUCK:
So then go out and build an app with AngularJS and then go back to them in a week – I mean seriously, put your head down. You don’t have anything better to do other than go interview with other companies. So put your head down, go build an app in AngularJS and then bring it back to them. They’ll look at it. It will at least show some initiative which is really, really important for new people. I think Aimee said that six different ways already.
AIMEE:
[Laughs]
CHUCK:
But it shows some initiative, it shows that you're interested and that you're capable and that you really want to learn it.
And the other thing it does is it gives you an opportunity then to get some mentorship and learn a little bit more about what they really want. And then maybe the next job, you go in and you say, “Hey, I built this trying to get that other job and they gave me this feedback and this is how I've incorporated.” They're going to be sitting there going, “We can teach this guy what to do,” or, “We can teach this girl what to do.” And it really makes a huge difference.
When I worked at Mozy which is an online backup company here in Pleasant Grove, Utah, when I worked for them, there was a developer that came in and he went through all the interviews, they did the whiteboard thing too. I think that’s such a cool and unusual process.
AIMEE:
[Laughs]
CHUCK:
So they made him code on the whiteboard, blah…blah…blah. And then he had to come sit in our office and they had him build an example app in like two hours. They were brutal.
AIMEE:
[Laughs]
CHUCK:
And so he didn’t get everything done. They looked at what he had done. They tore it apart. Oh, man! They were merciless.
So he went home and he knew he hadn’t gotten the job because they just ripped it apart. He went home and he didn’t sleep that night. And he finished that project and brought it back the next day.
AIMEE:
That’s awesome.
CHUCK:
And it blew them all away and they hired him. And he wound up being one of the team leads on the development team within a year.
AIMEE:
That’s awesome. To that note, when you were talking about one end of the spectrum. But the other end of the spectrum is some people are so cautious that they are afraid to apply for jobs.
The company that I was interviewing for, I talked myself out of going on the interviews multiple, multiple, multiple times. And the person who I was, Jason Rhodes who was on the show, I would email him and he was like, “No, you need to let them decide if you're right for the company.” Like I said, on the other end of the spectrum, don’t hold back from applying for things. If you do it in a
good, polite fashion and you get turned down, then you'll know. At least you know where you stand. At least you know what you need to work on. But you never know you might be ready. So let the company decide that.
CHUCK:
Yep. There are a few other things that you can do that will really help too is just – but I completely agree. Let the company decide if they want to hire you. And if you can find out why they won't interview you or won't hire you, then you know what you can work on.
AIMEE:
Yup.
CHUCK:
So one other example I want to give, Saron Yitbarek who is on the Ruby Rogues Podcast. She just graduated from Flatiron School last year, I think.
AIMEE:
I think so, yeah.
CHUCK:
Sounds right to me. And she just got on with an apprenticeship at Thoughtbot. But those apprenticeships are fairly competitive. They get a lot of applicants to that.
AIMEE:
Yes.
CHUCK:
But I mean, she was on Ruby Rogues. She started CodeNewbie. If you go check it out, I think it’s CodeNewbie.org.
AIMEE:
I think so, yeah. It’s awesome.
CHUCK:
Yeah, it’s all awesome. Aimee has been on her show, I think.
AIMEE:
Yes, I was a while back.
CHUCK:
You can bet that when she applied, some of the folks over there knew who she was.
AIMEE:
Yep.
CHUCK:
You can also bet that as other people looked into who she was, it was kind of a no-brainer. Right?
AIMEE:
Yeah. You know that it’s a safe bet because she’s passionate about it. She’s going to put the work in. She wants it.
CHUCK:
And she’s out there. She’s got content out there that is valuable. I mean, she’s demonstrating that she not only is passionate about it but she’s built a reputation that they couldn’t deny her.
AIMEE:
Yep.
CHUCK:
And I think that’s also important. I mean, go out and meet people but then be doing the other things.
I had somebody that was new that said, “Yeah, I'm just starting to write my blog and I don’t know what to write because I'm going to be blogging about stuff that everybody else knows.” And I'm like, “Uh-uh, no.” Everybody doesn’t know what you know. And the other thing is that so you run into some stupid error. So you fire up your developer tools and you get on the console and you figure out how to solve it. Write a blog post about it. If I run into that error, I guarantee you I'm going to Google it. And if I find your blog, I'm going to be happy I found it. In my case, if it saves me hundreds of dollars, I may even talk about it on one of these shows.
AIMEE:
[Chuckles]
CHUCK:
Or your experience finding a job, your experience going to a boot camp, your experience learning how to do this, that, or the other in whatever language you're working in. I mean, all of those things are completely and totally relevant. And furthermore, if you're talking about your experience, then that’s something that is unique to you and it’s something that is helpful and interesting to everybody. Especially me, I keep saying, “Aimee, you're much closer to this situation that I am.”
I remember the parts of my story that made an impact on me as I was going through this but honestly I don’t know what it’s like to be a new developer now. [Laughter]
CHUCK:
Because they didn’t have boot camps when I was getting into it.
AIMEE:
Yeah.
CHUCK:
They didn’t have some of these other challenges that are out there. And so, if I can read somebody else’s experience or hear about it from Aimee or hear about it from the people I'm talking to on this 15-minute calls or have a chat through DMs on Twitter, that’s extremely valuable to me because then I'm sitting here going, “Okay, there's a certain segment of this audience that’s experiencing these things.” And I know this market well enough to know that some of the things that I know will help them short circuit some of the issues that they're running into. But I would have never known to bring it up unless I've been talking to people. And so, put that out there. And you may help somebody else on their journey as well.
The only other thing I think that I was going to mention briefly that I didn’t bring up was you can also meet people at conferences especially local conferences. Out here in Utah, there's Mountain West JavaScript, there’s Mountain West Ruby Conf. ng-conf is actually in Salt Lake City. There's React Rally was out here. There are other events that people put on. Denver is not that far away from me. If you're out in Baltimore, I can think of a number of larger cities that are within driving distance of you. You can go to those events and you're probably going to meet people from where you're at.
Code Camps, they're all over the place.
AIMEE:
Yes. At the end of the day, if you're going to these things and you're talking to people, introducing yourself to people and genuinely just expressing your excitement, I really feel like things will just evolve organically.
CHUCK:
And don’t be afraid to mention that you're looking for a job. If the conversation veers that way, bring it up.
AIMEE:
Yup.
CHUCK:
“Oh well, you seem like a great person. I think I’ll put you in touch with my friend so and so who’s hiring.” I mean, it can't hurt. And then you’ve got a personal recommendation from somebody you just met.
AIMEE:
Yeah. Because too, we talk about technology but really, one thing that I've definitely learned over the past year, it’s less about the technology and more about just your ability to problem solve especially if you're working on like a complex app. You're going to spend more time sitting back and thinking about how to solve the problem than actually writing code.
CHUCK:
Yup. The only other thing I would add to that is that your ability to communicate if you're working on a team is also critical. If you don’t play well with others, then you work on that, or you need to find projects where you're the only developer and as a new person, that’s probably not going to happen.
AIMEE:
[Chuckles] Yeah, that part just goes back to just genuine people skills. Taking responsibility when you make a mistake like owning up to this rather than making excuses, showing up on time. All those normal things that you would need to be successful in the job still apply.
CHUCK:
Yup. And I can even tell you how many times I've seen projects that were failing and it wasn’t because they picked the wrong technologies. It was because they picked the wrong people. And it wasn’t because the people weren’t capable, it’s because they wouldn’t work together well.
AIMEE:
Yeah. That’s Conway’s Law, right? [Chuckles]
CHUCK:
Yeah, the structure of the code reflects the structure of the team that created it.
AIMEE:
Yup. [Chuckles]
CHUCK:
Anything else to add?
AIMEE:
No. I don’t think so. I've stressed over and over again, it’s the excitement I think was the number one thing that enabled me to succeed so far.
CHUCK:
Yup. And it makes a big difference, it really does.
AIMEE:
Yup.
CHUCK:
Well, and it was that excitement that when you came on the show after you were – after the show, we all looked at each other and said, “We got to get her back on.”
AIMEE:
[Laughs] Yeah, it’s just the excitement and passion and hard work. It is hard work. [Chuckles]
CHUCK:
Well, if it comes easy, then we don’t appreciate it.
AIMEE:
Yup.
CHUCK:
Alright. Let’s go ahead and do some picks.
Before we get to the picks, we’re going to give a quick mention to our silver sponsors.
[This episode is sponsored by TrackJS. Let's face it, errors cost you money. You lose customers, server resources and time to them. Wouldn't it be nice if someone told you how and when they happen so you could fix them before they cost you big time? You may have this on your Back End Application Code but what about your Front End JavaScript? It's time to check out TrackJS. It tracks errors and usage and helps you find bugs before your customers even report them. Go check them out at TrackJS.com/JSJabber.]
[This episode is sponsored by Code School. Code School is an online learning destination for existing and aspiring developers that teaches through entertaining content. They provide immersive video lessons with inbrowser challenges, which means that each course has a unique theme and storyline and feels much more like a game. Whether you've been programming for a long time or have only just begun, Code School has something for everyone. You can master Ruby on Rails or JavaScript as well as Git, HTML, CSS, and iOS. And more than a million people around the world use Code School to improve their development skills by learning or doing. You can sign up at CodeSchool.com/JavaScriptJabber.]
CHUCK:
I am working on getting JS Remote Conf 2016 website up. So it will probably be up here within the next week or two. You'll know that it’s 2016 because the dates change and all the speakers disappear on the website. I don’t know how I'm going to get it redesigned for next year. I'm kind of feeling lazy so I probably won't. [Chuckles] But yeah, it was a great success last year. A lot of people enjoyed it.
People are really gung-ho about Angular Remote Conf which is going to happen this week as we record. So when this comes out, it will be over. And I'm also doing it for Rails Remote Conf. But I know that’s not this show.
Anyway, so JS Remote Conf was the first one I did and people really seemed to dig it. So yeah, I'm looking forward to doing it next year. It will probably be at the end of January instead of in the middle of February. And yeah, I'm looking forward to that opportunity to connect with a whole bunch of people. I try and keep the early bird prices down so that people can just show up for like 100 bucks. So keep an eye for that as well.
Last year, I did the early bird ending on my birthday. I will probably do the same thing just because I feel like it. But yeah, keep an eye out for that. And like I said, there are a whole bunch of great talks that were given. If you want to get the talks, you can actually find them in iTunes if you search for ‘remote conferences’. And then you can also, on my YouTube channel, there's a playlist for JS Remote Conf 2015. So just check all those out.
AIMEE:
My schedule is slowing down at the end of the year. So hopefully, [crosstalk].
CHUCK:
I thought I’d jump on you now.
AIMEE:
[Laughs] Just to attend. I want to be able to watch. Based on our conversation today, I may change up my picks actually. But I do like to do this health-type picks. My healthy pick is going to be standing. I know a lot of people have standing desks. I have like a small platform at work. But on days I work from home, I have like a nice platform at home that I've been using. I just think the more physically active you can get, the better. And I think standing, for me, kind of promotes taking a break to go get something to drink or whatnot, whereas if I'm sitting, I have a tendency just to sit there way longer than I should.
And then my more technical pick, I was going to pick an article that I read about promises. I think I've picked it on this show before. But I know this is, especially if you're JavaScript developers, a challenging topic when they're first coming over to the language. So, it’s called ‘We have a problem with promises’. I’ll put a link to that.
I also have been looking, just to kind of practice my programming chops, there's a site called Interview Cake. And they have a lot of different – they have a challenge that they’ll send you out every week and some of them, I believe, are in JavaScript. So if you're looking to level up for your interviews, that’s a really, really good site to watch.
And then I will finish off my picks by picking Nodevember again. I picked this a while ago. But I'm doing a full talk there on all of this. It’s called ‘Getting Comfortable Being Uncomfortable’ which has been the story of my life for the past year. So I'm sure that will be up on YouTube afterwards. But if you're anywhere near the Nashville area, you should come check it out.
CHUCK:
Alright. The standing desk picks made me think of a couple of things that I've done. One is there is the life hacker $22 standing desk Ikea thingy which is pretty awesome. You buy about $25 worth of Ikea parts and hardware and then you put it together. And I've got one of these sitting on my desk. I may take a picture of it, if I ever get around to cleaning it off. I have used it in the past and it’s pretty nice.
I also have a very nice anti-fatigue mat that I have on the floor. It’s nice enough to where I can stand on it for a couple of hours barefoot. A lot of times with standing desks, I have to wear shoes just for the support for my back and stuff but I can get away with standing on that for a few hours. I really like that. That said, that very nice anti-fatigue mat cost more than my standing desk did.
AIMEE:
[Laughs]
CHUCK:
It costs more than $22 but I'm really liking that.
I don’t know if I picked this last week or not but I'm just going to pick it again because I really like it. It is the Pebble Time Steel. The Pebble is the smart watch. It’s one of the first ones that came out after the rumors that Apple was making a watch. And I really like it.
We had a long talk on The Freelancers’ Show on the live Q&A that we did earlier today. Overall, the things that are nice about it is the battery life, it lasts – I think I plugged it in on Thursday or Friday and it’s about half-empty now and it’s Tuesday afternoon. So just to give you an idea, I'm pretty sure that the Apple watch will last you a day or two if you're not using it a lot. And so, this is really nice. It comes with a really nice leather band on it. Since I did back the steel, I get the steel watch band that hasn’t shown up yet. But they’ve got a lot of fun interfaces. And I just found out that you can actually program the Pebble watch with JavaScript. [Chuckles]
AIMEE:
I know, that’s awesome. That was the one reason I got one too.
CHUCK:
Oh, you got one too?
AIMEE:
Yup.
CHUCK:
Awesome. But yeah, I love getting the notifications. The other thing is that I like having the Bluetooth headphones so I can actually make that all work and then when I'm out running, I can control the songs and stuff with my watch instead of having to find a little switch or button somewhere. So that works out pretty nicely as well. And those are my picks.
AIMEE:
Sounds good.
CHUCK:
If you have any other questions about finding a job or anything else, you're welcome to tweet at me. I'm @cmaxw on Twitter. Also if you follow me, I do have an automated tweet that goes out and says, “Hey, do you listen to the shows?” And I've been having some awesome conversations on Twitter about that. Just, “Oh yeah, I listen to JavaScript Jabber.” And then I start asking about ‘what episode did you listen to’ and ‘who you are’ and ‘where you live’ and kind of get an idea of who’s out there. So if you want to connect with me and you don’t want to do a 15-minute call, then that’s another great way to do it.
AIMEE:
One thing that I should have thrown in earlier, I also started, if anybody’s interested – because I do get emails a lot from other people who were in similar situation as I was a year ago. I started a GitHub AMA which is ‘Ask Me Anything’. So I’ll put a link in here. If you have any questions, you can put them in there. I like to put them in there because I think it’s really valuable for other people to go in and read. I know some developers who I really admire, they have them and I like to read theirs. So if you have questions, feel free to open an issue there and I will get back to you.
CHUCK:
You got to tell me how this works.
AIMEE:
[Laughs] You can just fork the project and then you set it up so people can open an issue there and you can just respond to them. So I’ll put a link in here and it should make sense.
CHUCK:
That just sounds really interesting. So how do you do it? They submit a question on the issues and then you just answer on the issues?
AIMEE:
Yep. Just like a typical, if you want to send an issue to a library, it will work the exact same way. [Inaudible] which I just realized people have been asking me questions and I didn’t know they were. So I have something to get on.
CHUCK:
I'm really tempted to do this as kind of a Jekyll blog because you can host those on GitHub. And so then the question would be the title of the answers would be the blog posts and then you can just submit issues.
AIMEE:
Awesome.
CHUCK:
So is this open issues or are closed issues the ones that you’ve answered?
AIMEE:
No, I need to answer the ones that are there.
CHUCK:
Okay.
AIMEE:
Yeah. Closed ones would be the ones that have been answered. But I need to get to the ones that are open right now.
CHUCK:
So the one that you forked is the original one?
AIMEE:
Correct. I think Kent Dodds has one. Dan Abramov that we had on last week, he has one. So I like reading theirs.
CHUCK:
You're going to ruin my life.
AIMEE:
[Laughs]
CHUCK:
Alright. I'm going to retroactively pick this because it looks cool. [Laughter]
AIMEE:
Awesome.
CHUCK:
Alright. Thanks Aimee for coming. Hopefully this helps some folks out. I know I'm going to probably make some people angry with some of the stuff I said but I don’t care.
AIMEE:
Yeah, me too. But yeah, hard work.
CHUCK:
Yeah.
AIMEE:
[Laughs]
CHUCK:
Alright. Well, we’ll talk next week.
[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.]
[Bandwidth for this segment is provided by CacheFly, the world’s fastest CDN. Deliver your content fast with CacheFly. Visit CacheFly.com to learn more.]
[Do you wish you could be part of the discussion on JavaScript Jabber? Do you have a burning question for one of our guests? Now you can join the action at our membership forum. You can sign up at
JavaScriptJabber.com/Jabber and there you can join discussions with the regular panelists and our guests.]