Onwukike Ibe, Software Engineer
What made you decide to work in tech?
I’ve always been drawn to computers from a young age. I knew I wanted my career to be oriented towards something more analytical, so when I first saw programming I was sold immediately.
What was the biggest obstacle you faced?
I think one challenge I faced was self-doubt. The closest I’ve come to giving up on programming was actually my first time trying to program. Often when people encounter difficult subjects for the first time it is not uncommon to think “maybe this is too hard for me” or “maybe this just isn’t my talent.” It also doesn’t help when some of the people around you have been programming since the beginning of high school. However, I just kind of realized that this was what I want to do, and had faith in my abilities. Having many more years of experience now, and looking back on those challenges, I have to say that starting earlier is not as big of an advantage as most people think. If I could get out two messages it would be that it really is never too late to learn to program, and even small projects that don’t seem like much can become great foundations for your future.
What is your experience being a POC in Tech?
One thing that I have to admit is disheartening is that you don’t see many engineers around you that look like you, or share the same culture as you. On one hand I feel that this doesn’t matter because it’s been relatively easy for co-workers to become good friends, and to find good mentorship. However, I often wonder if this subconsciously impacts people’s perceptions of you. It is possible that you didn’t get a promotion, or don’t get hired because of race; however, you cannot objectively prove these things, and while they may be true it doesn’t empower you to think that a situation doesn’t go your way because of race. Ultimately I like to acknowledge that I am an African-American in tech, but I don’t want to let that influence everything about how I see myself as an engineer. I encourage other minorities to do what they can to help diversity, whether it’s getting more people into the pipeline by teaching others to program, or promoting awareness of diversity through social media, but I firmly believe in proceeding almost as if race doesn’t exist, and trying to look at things as objectively as possible.
What was your perception about the tech industry before entering it? What is your perception now?
As a programmer leaving school I had this impression that every company had proper testing procedures in place, that code would be way more organized, and that every standard would be strictly followed. I thought engineers would be as meticulous about peer reviews, and product decisions, as an aerospace engineer would be in designing a spacecraft. It should go without saying that these views I previously held were absurd. Tech is not really unlike other industries. There is a lot of chaos and disorganization, and high expectations of performance. Many people I meet look at the perks engineers receive in the tech industry and think it must be so great to work for a company that provides all those benefits. And I have to say on one hand it is, but all of these benefits come with long hours, and high expectations of results.
What advice would you give to a young person who wanted to enter tech?
School is important, but experience at solving a practical problem may be more important. My single biggest mistake as a student was never doing an internship, or never joining a small open source project because I thought it would be insignificant. Because of my lack of experience, out of college I had a particularly hard time adjusting to real-world programming. Any experience you gain beforehand will be a huge help to you once you enter the industry. The second piece of advice I would give is actually somewhat academic, and it’s to make a schedule or a syllabus of the things you want to learn. Many times I’ve asked some of my friends who want to get somewhere in their career what they have learned, or what they have done to further themselves towards that goal, and they can’t really articulate what they have learned. If you want to know that you’ve improved towards your goal then break your goals down into smaller steps that you can realize on a daily or weekly basis. The last thing is to make sure to ask a lot of questions. I feel that there are a class of engineers that don’t ask as many questions as they should, and therefore only understand how things work at a superficial level. This is not to say that everyone needs to have an incredible depth of knowledge in some particular facet of programming, but in general I think engineers are people who are afraid of looking stupid, and this becomes one of the greatest limiting factors to achieving one’s true potential. So ask lots of questions.
Are there any projects you are currently working on?
I see a lot of hackathons , and personal projects dedicated to building some incredible apps, but personally those projects don’t appeal to me as much as data analytics, and distributed systems. Because of the nature of my interests my “sideprojects” are heavily integrated with my daily work. So a project that I’m working on and will be involved with in the future is “open-zipkin” (https://github.com/openzipkin). If you look at my github , github.com/oibe, you’ll see more systems-oriented projects that I hope to contribute more to in the future, and hopefully one day I will get around to creating a blog that explores data analytics and implementing them in real world systems.