Special tips for people looking to enter the tech industry
Recently I had the pleasure to talk at Ironhack about testing to their new cohort of Web Development students. Unfortunately due to work, I could not be present for their final project presentation but I thought a lot about them.
I went to talk about testing in web development — and we did — but we ended up talking a lot about the market, how it is to work as a developer, what fears and anxieties I overcame this past year and what they should not worry about.
It's been about a year since I graduated from the bootcamp at Ironhack and talking to them made me think a lot about how the experiences I had in the past year changed me. It made me think how far I've come on this journey to become a developer, the things I left behind, the dreams that changed (and the ones that didn't) and how I grew and matured as a person and as a professional. But probably the most important: how their fears were the same as my friends and I had when we graduated.
Thinking about that made me want to share some of the general knowledge I learned this past year, with some tips specially for those that did not follow the traditional CS path into tech.
Unfortunately making yourself seen is super important when you're a beginner. Before companies can come find you and offer you jobs (sometimes this happens to juniors and associates too) you'll need to make yourself present. "Present where?" you might ask, well, here are some of the most important places:
Take the time to build out your LinkedIn profile and maintain it, you'll still need it to find jobs and to send it to recruiters, and this is the best way to make sure people are finding you on there. Having key words about your areas of work and interest on your profile is what's going to bring you those job offers.
Create a Twitter account if you don't have one. There's a huge tech bubble there, greater than on any other social media. Find the people you learned from or that you watch videos on youtube from and follow them. Make posts introducing yourself to the bubble and to people individually, there are always job offers there and people are always willing to help.
Add a profile to your GitHub — you should already have a GitHub account by now — if you don't know how, I have another article explaining how to do it:
If you're any good at writing or talking, write about what you're learning, teach someone something new here on dev.to or on medium, or maybe create a video, a post on LinkedIn or on Twitter. Teaching others is the best way to learn it yourself (and solidify that learning) and also a great way to make yourself seen.
The most important thing we forget when trying to find a job is that in any interview we're also interviewing the company. It's super important to find a company that aligns to your beliefs: it makes your job easier and more enjoyable, it helps with connections, with not having burnout syndrome and more than anything it helps with your mental health overall.
Sometimes we tend to overlook the importance of the company's culture on our mental health but it's one of the most important things for how your daily work life it's going to be.
When it's your time to ask anything in an interview (if they don't care to give you some time to ask questions, the company might not be worth it), you have the chance to get a glimpse of what working at that company will be like. Ask the difficult questions and see how they react and what they answer. Interpret what they mean when they say things like ownership or flexible hours; Do they expect you to work for the company as if it was your own but not pay you for that? Do they mean you'll be working way more hours than a normal 9 to 5?
What are your personal red flags for a company? You might not know them right away or even recognize the traps on interviews, you'll learn them eventually but the important part is that you know what you expect from the company and from your future job. What is important to you?
After some interviews you'll learn how to ask the hard questions and interpret the answers. You'll also learn your red flags and even refine what you expect from your new job. I learned a lot about what I wanted from the place I'd work on after I had been through some interviews. Sometimes you don't even know what you can ask for when you've never been in the tech industry.
This is perhaps the most important thing I learned this past year because it made me a lot less anxious in general.
When I say "nobody knows anything" what I mean is: the development world is made of people that need to constantly adapt to new frameworks, technologies and languages, so people end up not getting too attached to what they know because sooner or later they'll need to "know" other things.
Don't get me wrong, you'll still need to know the fundamentals of programming deeply, but to be a good developer you need to learn to adapt and adapt yourself to learn. ALL THE TIME.
We are professional learners and as time goes by we get so good at learning that we don't care much about what we don't know. If we need to know something to do a job we can learn how to do that in a heartbeat.
From what I've seen this past year even my seniors are frequently having to learn something new, something they never needed before or a new technology, and this is not a problem. It's impossible for someone to know everything. There is infinite tech knowledge out there and if you need to learn it for a job or a task, you just go and learn it. Everybody does that.
In order to learn new things this fast, we frequently need to open space, so we end up "forgetting" stuff we don't use frequently. This might seem like a problem in other areas, but in tech this couldn't be further from the truth. Whenever we need to use some specific information we forgot, we know we can do some quick googling (stack overflowing?) and it will be there.
In my conversation with the students, one of them asked me what makes me feel I'm not a senior engineer yet. My response was simple: the only difference between me and a senior engineer (aside from the mentoring aspect) is that they have learned and forgot a lot more things than I have, so when they are faced with a problem, they have a larger pool of things to pick from to solve said problem.
The thing is: although I'm saying "forgetting", I'm not talking about completely forgetting what you've learned. I'm talking about how generally we forget how to implement something or certain specificities of what we learned, but we still know those are ways to solve specific problems. The important part is just knowing those things exist for when you end up needing them in the future.
Google and Stack Overflow will be your best friends
People coming from bootcamps or from teaching themselves have more than learned how to learn things, so we shouldn't be worried about that in our jobs, we'll learn and forget a lot and sometimes make this better than people with CS degrees, the difference is in the size of your pool of forgotten things. The more you read/learn different things the larger your pool will become, the more exposed to different approaches you'll be and the better you'll be at solving complex problems.
This comes from a phrase Emanuel de Souza said on LinkedIn that I immediately wrote on a sticky note and glued onto my computer screen:
We do not get smarter alone. We "borrow" other people's intelligence by understanding their point of view.
Although you are probably very proactive in your studies (if you're not, you might want to rethink the tech world) you won't get very far alone. Good code needs exposure to several ways of thinking and when you expose yourself to other people's intelligence and processes of thought you learn a lot and make your code better.
One of the first things that happened when I started learning to code — and I think is a part of everyone's journey when entering the code world — is that I slowly changed how my thought process worked. I started learning how to break big problems into smaller ones, how to think about each small step I needed to write to make the computer do simple tasks (and I quickly learned that the computer needs a lot more detailed instructions than I had thought), or how I could solve the same problem in several different ways.
When you do pair programming or just watch another programmer work — and this programmer can have any level of expertise in this case — you learn a lot about how to think differently not only for processes but also for things you already thought you knew in code; Sometimes people use code structures different than you're used to. All this exposure to new ideas improves your own code greatly. Observing other people work through some problem is also a good way to learn about how things are done in your team and/or the company you just entered.
The great thing in tech is that, most of the time, if you care enough about your work to make it good and keep looking, you'll find your way into what you deem a good company. Everything happens really fast in technology and the industry itself is changing at a fast pace all the time. For example, a few years ago the number of remote jobs wasn't even nearly close to what we have available today after the pandemic started. This helped a lot with people not being stuck with the companies in their area anymore, they can now look for better opportunities outside their comfort zone. You can also do that, you just need to overcome the fears we all have of "I'm not enough for tech" or "I'll never find a job" and it will eventually happen for you.
I hope these tips leave you feeling a bit less fearful of your future in tech and help you learn to embrace the chaos of knowing you don't and you can't know everything. You'll eventually find your way into learning from others, searching stuff on Google and creating your own pool of forgotten things.
If you'd like to ask anything or would like to talk about your experience and how you can improve your socials, reach out to me on my twitter! I'd love to hear about your journey in tech and the place you're in now!