Sorry for 👻ing everyone over the last month or so. Life has been wild and I haven't been able to find the time to sit down and fully write something worthwhile. I've got a few articles half written but I feel this one is needed as it is, from a university perspective, graduation time. That means it is time to go out into the world and get shit done. This article is mostly aimed at developers but I am sure you could sub out developer and fill it with job X and it might make sense.
Almost daily I get asked for my advice on what someone should do. Should I apply for this job? Why haven't I found a job? What do you think of this tech? How should I optimize my database? The list goes on and on. It still blows my mind that people ask me for advice though. Let me go back a bit and give you some history on me.
I was just a kid with what we now know as ADHD. I couldn't sit still. I talked all the time and was constantly bothering other people in class. The final straw for my teacher is when I stuck several magnets on our class monitor and ruined it. My parents had to beg my teacher to let me advance to the next grade. She didn't think I would be able to make it.
I loved writing stories and drawing cartoons. I was given an assignment to create a St. Patrick's day story. I read it in front of the entire class. At the end my teacher belittled me and told me that it didn't make any sense. I didn't write anything worthwhile for the next decade.
I am assigned to the bottom middle school math class. I take a test that says I should be in a higher math class based off what I know but I have to get my teacher to sign off on it. She refuses.
High school was wild for me. I gave zero F's about school. My entire life I had been told I wasn't smart, why bother proving to other people I was? I quit playing team sports, grew my hair out and dyed it black and started skateboarding or snowboarding every single day which probably had one of the biggest impacts on shaping me.
Straight A's and on the Dean's list at college. Suck it haters. Married my wife the next year and we were given the best prize of all, a surprise child. Life just became a lot bigger than what it ever had been for me. My daughter is actually why I got into code. I needed to support her and my wife and minimum wage as a broadcast journalist in Bangor, Maine wasn't going to cut it.
Getting into web development had me scared. You mean, I was going to sit at a desk for 8 hours and do things that, up to that point my life I thought, only smart people could do. I was not traditionally smart, I hated math and I couldn't focus on something for more than 10 minutes unless I was moving. The one thing that web development did provide me was an outlet to create. I have always loved drawing and making things. Web development allowed me to create something without any supplies except for my laptop. I was in love.
Okay, okay. Back to what you came here for, advice. I will start out with giving advice to new graduates or boot camp grads and work my way up.
It might take you 6 months to get a job. It might take you three days. If you love what you do, the wait is worth it because you will be spending the rest of your working life doing web development unless your big idea of Uber but for private jets takes off (keep that one, it's on me). I meet so many people that are upset because they don't have a job a month after graduating. I will always ask them what they have been doing and it 99 times out of 100 goes like this:
Me: "Have you been coding everyday?"
Recent Grad: "No..."
Me: "When did you last apply for a job?"
RG: "Last week. I haven't heard anything back yet."
Me: "Did you send them a thank you letter?"
Me: "Have you gone to any meetups?"
There is a lot of "No" responses there. If you, as a newly minted developer, won't put in the effort for the easy stuff, you most certainly won't put in the effort for the hard stuff and companies will see that. Let me give you this single piece of advice that will help you the absolute most:
Sling code, everyday
There will be times when you feel like quitting but I promise, if you code each day for even 5 minutes, you will be blown away by how much you can learn and create in a short amount of time.
Writing code is also going to help with your job search. When you are new to the web development game, companies will want to see you are hungry to learn and you can easily show that by pushing your code to GitHub, contributing to open source (trust me, there are opportunities out there for you) or even just creating something on CodePen you can quickly show off. Now let's get to answering the questions I get the most.
I hate my job, should I quit?
This is a tricky one to tackle. I generally tell people that a job is not worth staying at if they are unhappy. Life is too damn short to waste away doing something you don't enjoy. But what if you have a family to support or a pack of turtles that require a special (read expensive) food? That can make things more difficult as you don't want to risk just getting up and quitting and waiting who knows how long to find a new job. YOUR TURTLES GOTTA EAT! I generally tell people that they should only quit when they know for certain they can get a new job but before that ever happens, have a conversation with your manager. Some managers might not have any clue you are unhappy or how to improve and guess what? The only way to improve is to get feedback and they need it just like you do. If that doesn't work out in a mutually beneficial way for both parties, it may be time to start looking elsewhere.
I feel weird about company X after my interview. Should I accept the position?
One thing real quick; I love interviewing. I really just love talking to people but interviewing is also a way to see if your skills are still sharp. I am not advocating for going out and interviewing for jobs you don't want but I think an interview here and there is a good thing. After a few dozen (hundred?) interviews, you start to get a feel for how it really went. You start to notice more things than just that nice salary, shiny new open working space and all you can drink bamboo protein shakes oh and don't forget the napping-foos-hammock. You start to notice things like your interactions with the hiring manager and how he didn't seem to enjoy being at work or the team lead who belittled another developer for what boils down to a matter of opinion.
This is when I can't stress enough you need to ask questions about the place you will be working. Dave Smith wrote a great list you can view here. Don't plan on asking all of the questions but you should ask some questions to get a better idea of what day to day life on the job will be. This will also help you in deciding if you should accept the offer or not.
Ultimately, I tell people to go with their first feeling about the company but it is not 100% accurate. Some of my favorite places to work included interview processes that I would consider not great. One of the worst jobs I have had included a very easy interview. It is tough but eventually you will get a good feel for how the interview went so trust yourself. I've turned down jobs where I would make more but have had horrible experiences with the people I would work directly with so I passed on the job. If it doesn't feel right, move on and keep working to improve each day.
How can I improve my interviewing skills?
Here is my list of interviewing DO's
This shouldn't really require more than what it is, but please take the effort to look nice. People want to know the people they are working with take care of themselves and one of the best ways to portray that is by taking off your pizza stained Star Wars shirt and taking a shower.
When I say to look the interviewer in the eyes, I don't mean like stare into their soul. Act natural. When giving a response, look at the person who asked it so they can tell you are engaged.
It is easy for people to zone out during an interview. It can be devastating for an interviewee to see someone in the room start to scroll through what you can only assume is Twitter. Why do they not care enough to pay attention? Are you doing a good job? Did I say something dumb? The self doubt will flood through you. One way to keep everyone engaged is to look around at each person in the room. This will let them know that you know they are there and hopefully keep them more engaged.
White boarding interviews are the worst, amirite? Seriously though, I think they are good to illustrate an answer but not to get an idea of how someone codes but alas, this is the world we live in. One of the best pieces of advice I was ever given was to bring three different color, fine tip dry erase markers with you. Why fine tip? Because you might have to white board on a 12 inch by 12 inch white board. No seriously, I have had to do that before. My handwriting is already bad and if I didn't have the markers I wouldn't have been able to write small enough on the outrageously small white board.
Now that is definitely not the norm but where the markers really come in handy is when the inevitable "Okay, let's have you go to the white board..." part of the interview happens. If you pull out your own markers, you look incredibly on point and prepared. Companies absolutely love it. My process once I am at the white board is to take the first color and write out directions you are given so you don't have to keep asking or so you can get some clarification where needed. I then take out the next color and start to write out pseudo-code, or code that isn't syntactically correct but will illustrate your thought process. With the last color I will actually write out the solution code. I am not kidding you, companies will love this.
I once did an interview for a large company out on the East coast. They flew me out and paid for everything. It was an awesome experience. When the interview started, there were four gentlemen sitting across the table from me during my interview and two people that were away from everyone else in opposite corners. I introduced myself to the four people at the table but no one else. At the end of the interview, one of the people in the corner asked why I never addressed them during the interview. "Uhh, I wasn't sure you were part of the interview." Turns out it was the CTO of the company 🤦♂. I was then asked why I didn't address the other person who turned out to be the receptionist. The reason they were in the interview was that they wanted to see how I would treat people before I knew who they were and then after I knew who they were. It was an eye opening experience to say the least.
An interviewer can see right through you not knowing an answer. Just say "You know, that is a fantastic question and something I don't have as much experience with as I would like but I am open to learning about it." Or something to that effect. If you do lie during your interview, two things will happen. 1: You will get the job and will be asked to do what you said you know how to do and look like an idiot or 2: The interviewer will try to take things a little bit further until you finally find yourself in too deep of a hole. Just don't do it.
What technology should I learn next?
Am I a senior dev?
You are what someone else says you are. If a company hires you as a senior developer, go ahead and call yourself one. I feel like titles are only there to help keep people feeling better about themselves. We are all developers and we have one goal to make bitchin' (and accessible) websites so go out there and make our husband/wife/partner/mom/dad/dog proud. Notice I left out cats because they cannot be pleased.
To sum things up, you should just have the constant goal to improve and learn something everyday. If you ever have a question, hit me with it and I will give you the best feedback I possibly can. Also, sorry for the non tech post but knowing this stuff would have saved me so much embarrassment and heartache early in my career. Keep your eyes peeled for more tech topics coming in hot this next week or so!
Written with love by Bryan Smith. Bryan is a designer and developer hailing from Salt Lake City, Utah. Check out his website site here!