Someone asked me recently if I had any advice for a mid-20’s woman who had just discovered she was a geek. She wants to get in to the tech industry, but doesn’t know where to start.
First, know that diversity is a top concern for tech companies. Studies continue to show the white-male-dominated bias in Silicon Valley. (Somewhat tangentially, I recommend reading “how Asians may be functionally folded into whiteness,” which explores the inclusion of Asians into the dominating segment of the tech workforce.) In my experience, the predominately male, predominately white bias permeates the tech industry and extends far beyond the borders of Silicon Valley. It’s front-of-mind in my current office, where we question daily how we can increase the diversity of our workforce.
I’ve been in technology since the late 90’s. I’m working at my third startup, and I’ve worked at a Fortune 500 company. Almost twenty years in the industry, two college degrees, and I still – frequently – find people that make me feel like a complete, clueless n00b. There are some really, really smart people in the tech field. A small percentage of them are assholes and will make you feel stupid and small. But it’s a small percentage. And they’re assholes. If you find somebody like that, avoid them, and avoid the place they work. A company that tolerates that kind of person is not a place you want to work. Many of the really, really smart people are awesome, though. They understand that inclusion is more powerful than derision. Many of these people can be found at local Meetups. If you think you’re interested in something, go to a Meetup! It might be over your head, but there’s usually a good opportunity to ask questions. If you don’t like to ask questions in front of the whole group, there’s generally time for socialization afterwards, where you can ask and learn in a more intimate setting. It’s great networking – use a local Meetup event to start connecting with people on LinkedIn. Recruiters leverage LinkedIn heavily. They also leverage networks and referrals. Going to Meetups by yourself can be daunting. If that’s the case for you (frankly, it is for me), find a friend to go with. But go.
When you find something you’re interested in, study it. Pick a project and build it. Resources have never been as available to you as they are today. There are tons of great books about programming and technology. They’re a great option to get started. But perhaps even more functional are sites like Code School and Code Academy. They have web-based, self-paced programs that can teach you a variety of programming languages. Most of the starter classes are free, but they cover a surprising amount of depth. You may have to pay for some of the more advanced courses, but you should be more confident in your desire to commit at that point. You can also find great courses at sites like Udemy and Skill Feed.
Ruby and Python are popular languages right now because of their flexibility and adoption of cloud principles. I have a personal predilection for Free Open Source Software (FOSS), and both Ruby and Python tend to be heavily used in open source projects. Java is another core language that is widely used. I know a bunch of good software engineers that are clueless when they get outside their one-language comfort zone. It can be a good thing to get really deep with a single language. This is due, partially, to the fact that knowing a language is one thing while knowing the ecosystem of tools around that language is another. And there are some fundamentals that you will need to know like Object-Oriented Programming (OOP) and 12-Factor Application Design. But don’t be intimidated. Just go learn. That’s why I provided links.
Once you’ve started to get comfortable with a language, you can start to see what’s out there. You can examine and possibly even contribute to projects in the community. There is a TON of code on GitHub that you can view, tweak, and learn from.
When you’re ready to start building your own idea, there are plenty of ways to make it happen. Amazon is taking the world by storm with their Amazon Web Services (AWS). It provides businesses a flexible and scalable platform to build their products, but it also provides you a great place to learn and test. (Just be careful of the costs you incur.) AWS skills are in high demand, so it’s a good time to fold that in to your repertoire. But if you want to keep things cheaper and unclouded (sorry) by AWS, I recommend running virtualization software like VirtualBox on your computer. Share your code on GitHub and ask for help in places like Stack Overflow.
Many companies focus on hiring senior-level software developers. I believe this is because they only know how to evaluate results, not potential. To be fair, evaluating a person’s potential is a difficult thing to do and is a gamble. You might be able to find a company looking for an entry-level developer. You might be able to find an internship. But focusing only on software development opportunities can be constraining. Many software QA positions can lead in to software development. And there are a number of other roles that work closely with software engineers without requiring as much specific technical knowledge. Project managers and product owners come to mind. They typically have more interaction with the business and help facilitate and/or direct teams of software engineers. There also seems to be an increasing demand for user interface and user experience (UI/UX) specialists, but that’s a world I know relatively little about.
All this said, it’s still a white-male-dominated industry. Lord of the Rings, Star Trek, Star Wars, Dr. Who, Marvel, and DC are everywhere. Joss Whedon is a god among men. Some of the stereotypes are true. And you will encounter discrimination. Hopefully it’s not a lot. And hopefully it was committed ignorantly and the perpetrator feels horribly when you point out to them. And I agree with my wife’s assessment: “Tech has more obnoxious, well-meaning humor than most other fields.” Most of the people I’ve worked with are warm and inclusive and welcome diversity with open arms, but at the same time, there’s no sacred cow. Very little is off limits for teasing. What this means in practice is that the line between “fun” and “harassment” is remarkably blurry. If you have thick skin, you can probably tolerate it. If you have a sarcastic, irreverent sense of humor, you’ll probably love it.
As a final note, there’s a lot of cachet that comes with a college degree in computer science. There are companies that only hire from Stanford and MIT. You can get a great education at your local public university. But it’s not an absolute necessity in a tech field. I have worked with many great people who didn’t have a college degree, and I’ve worked with many great people who had non-relevant degrees. (Two history majors spring to mind.) Functional, hands-on education, technical ability, and personality count for more than an expensive piece of paper. (And if you find a company where that’s not the case – you didn’t want to work there anyway.) In my experience, the main difference between good hires and great hires isn’t technical ability. It’s the ability to communicate, work as a team, and bring a positive attitude to the office every day.