Hey all, my name is Daniel, and I unlock tech careers at Lehman College. I'm a former engineer at Macys.com, mostly working on the iOS app.
While at Macy’s, during lunch breaks, I found myself reaching out to help students at my alma mater get a view of what the engineering industry looks like. I’m passionate about helping people be their best selves, and I try to find every opportunity to give back.
The question I ask myself every day is: `how can I bring the best out in folks.` How can I identify that in others, and show others who they can strive to be.
A few things to note-- Lehman College is a largely Hispanic/African-American institution, with a large minority population, though our CS department is very diverse. This is especially in contrast to Binghamton, where I studied Africana Studies for undergrad.
I actually did my second bachelor's degree in Computer Science at Lehman. I was given the opportunity to go back to the Bronx, and an opportunity like this one-- to be home and help others trying to break into tech-- can be difficult to come by.
Without guidance, you’re in a dark cave. By that, I mean a lot of people lose out on their dreams of being in technology. I survey students and many don’t know anyone in tech. Growing up here, you're often isolated from Silicon Valley or Silicon Alley. Especially when you live in the Bronx - just about everything you need is in your neighborhood, so you’re missing out on recruitment, meetups, events, and a lot of that tech culture.
That’s a well put question. I'd say that there's a huge relationship aspect.
Humans are social animals, even if it’s in this line of work. We may be talking in bits and bytes, but at the end of the day software engineers are human beings. A good amount of folks go into this profession to not talk to people, but it’s all a lie. Like you like to say, `software is a team sport`. At the end of the day you’re still talking to people-- you're gathering requirements, whiteboarding, reviewing each others' code, hiring, etc.
So really, the same rules apply for any line of work - you've got to be able to talk to people and communicate to folks.
You must be able to convince an engineer you’re someone they want to work with for 40+ hours a week. During interviews, you want to be friendly, you want to be approachable. These are things you might need to practice on, which is common! Building rapport is a skill, and it's not easy.
You can spend hours coding and practicing interview questions every day, but you also need support systems. You need people to bolster you, to challenge you, get you referrals, etc.
In my opinion, the recruiting system is kind of broken-- Applicant Tracking Systems often miss great candidates, so you need someone on the inside to get you a referral.
Things like connecting with people by going to workshops or attending tech meetups all help. Workshops can be less intimidating because the focus is less on the interaction, and more about building things.
Linkedin is another opportunity. It grants you access to anyone, and you can shoot any professional a message. I'd advise people to look online for guidance on how to send great cold Linkedin messages that don't come off as spam.
The people aspect is something I talk to students a lot about because it seems frivolous, and tons of folks have some anxiety about building a network. Look, it ultimately comes down to genuine curiosity and interest. It's about having a deep sense of empathy and adding value to the other person's life.
We’re all related in some way - maybe you and the engineer you're talking to went to same high school? Or college? Or grew up in the same area. You might share the same interests or engage in the same activities. There's always a way to connect.
Yes-- People, Projects, Problem Solving, Packaging.
We've gone through the importance of people.
Projects are your proof of work and of competency. Are you a React developer? I need to know you’ve built something in React. Past projects demonstrate that you can learn and ship products.
As a former iOS developer, I love seeing new grads who have shipped iOS apps because it demonstrates you know the lifecycle/ecosystem of getting in the apple store.
Hiring managers also want to see you can work in a large codebase, e.g. projects that are close to what you can do in a company. Experience with complex projects where you have multiple developers touching it signifies that you know a lot about version control, documentation, organizing code well.
Problem solving skills - this is the ability to take large problems and cut them down into smaller parts. This is why sites like AlgoDaily are very important. They let you practice and apply your interest into algorithms.
A lot of people react differently to coding interview challenges, but you want to get to a point where it’s an flow-state activity. Where you’re challenging your mind, but you're relaxed, and you’re partnering with your interviewer. This comes with constant practice - especially doing actual interviews.
Packaging - Linkedin, your resume, Github, and everything else you submit should display a consistent brand. A lot of my students will work at laundromats/delis or do retail jobs in college-- which is great for personal development-- but generally don't help you get that tech gig. A lot of new grads tend to think of their resume as a laundry list, but it should really be a summation of the value you can provide for the company. Knowing that, I usually encourage developing a personal website as a big step towards a unified personal brand.
I'll leave with this remark: Interviewing is like a second job in itself. Put time towards it.
A final note on negotiation - do it. This is really key, there's an article I read that said when folks don’t negotiate, it depresses salaries across all candidates. You have nothing to lose.
For more advice, you can reach me on twitter. Best of luck to all who are trying to break into tech!