We first spoke with our Engineering Manager Tatiana about the top coding languages you should know in order to be a successful software engineer. Now, we're diving into what it's like starting out as a new coder in the tech industry.
So if you're a new coder, what’s the hardest challenge for Thinkful engineering students?
I think the hardest part is developing your learning flow. You have to be okay and comfortable asking questions. Don’t be afraid that you're going to sound dumb. Whenever I don't know something on my team, I make it a point to ask questions, to prove that the senior engineers don't necessarily know more.
There's going to be this feeling like: am I doing this right? Don't worry. Keep going.
Mentorship is so important because you need that feedback loop from someone who's been in the industry. I believe in mentorship so thoroughly because I've experienced it myself. When you have someone look at your code or talk you through a concept that you don't understand, there's some really great knowledge transfer. Mentorship will expedite your learning process incredibly. It’s also good for accountability. When you have a standing meeting each week, you want to bring your best self to the table.
Also, when learning to code, it’s hard to stay resilient but you have to keep trying. Being an engineer is being willing to try something out over and over again, until it’s right.
What are some aspects that standout to you on your engineering team? How can a newly hired engineer make their manager happy?
Really be honest about when you don't understand something, and be comfortable bringing that to folks and talking about it. It's so easy to say ‘I'm an engineer, I'm supposed to know everything. Let me take this problem off into my little silo and try and solve it.’ It's okay to bring it to the team, ask questions, and have a conversation about it. Use curiosity and empathy. Especially if you're a new developer, people are very willing to help you get unstuck.
People who are constantly trying to improve themselves and are taking feedback stand out to me. It's critical to know that being a software engineer means everything's changing constantly. You'll never really be on top of everything. If you aren't working to improve your own knowledge and workflow, you'll fall behind.
What are the main soft skills that you need to be a successful engineer?
Soft skills and the composure to work with stakeholders, will help you go far. It all goes back to leading with curiosity and empathy.
Communication is definitely key. So is being an organized person – having your dev set up in the way that you know you'll be the most productive. Knowing your workspace and the tools that you have access to.
Setting appropriate deadlines and timelines is one of the hardest skills to learn as a developer. Being able to look at a ticket and say, this code is going to take me X-amount of time is a skill you will be working on your entire life. The better you can get at it, the better you can set the right expectations with your project manager/ stakeholders.
I encourage my developers to know what their limit is on how long to spend thinking about a problem, before they bring it to other engineers. It’s particularly important when you're a new developer.
Advice for prospective Thinkful engineering students and/or newly hired engineers:
There's still this weird concept that you have to be good at math to be good at programming. You don't need to be some sort of math genius or even good at math. Anyone can learn to code. You can have an English degree, be a circus performer, and turn into a programmer. It's really about using your critical thinking and logic skills, which I think everyone inherently has since we have to use critical thinking every single day.
Imposter syndrome is normal. Those thoughts creep into your mind where you're like: what am I doing here? This must be a joke. Keep pushing through. Don't neglect improving your skill set. Always be constantly learning.
Art by Rachel Knobloch.
Interested in becoming a software engineer? See how we work.