Software Developers: Going From Good To Great6th August, 2020 5 minutes
Our head of .NET recruitment Arjun Gillard recently caught up with Principal Engineer at Chip, Guilherme Reis who has a proven track record within the financial industry, B2B, outsourced services, technology, and consultancy.
With the theme of helping software developers go from good to great, they discussed Guilherme’s career to date, tips on how to get into software development, how to improve as a developer, how to get noticed by companies and recruiters, as well as answering your questions.
Guilherme, what’s your background, and what skills do you think are important for developers to have?
I started as a software developer more than ten years ago. I always got this feeling that I liked technology so for me it was the way to go and I started coding when I was 15 years old. And it was a real passion for me to see something building up and then from there I graduated from Uni, I started my own agency and then went on to other agencies as well. I moved to the UK from Brazil three years ago and joined a digital agency focusses on the financial sector as a team leader. The challenge was how to manage expectations for the job and managing people as well.
As a software developer you’re always asking yourself these questions around how can I improve myself, how can I move forward in the direction I want to? What are the skills I need to learn for my stack to progress? For me, it was always important to have a goal. And it’s not only about the skills the market is requesting you to have but also the softer skills.
I think that the market is huge because we have so many options right now and there are so many roles opening with the market picking up again. One thing I can see is that the market is expecting you to not only have the technical experience but also the softer skills, someone who can communicate and express themselves and can work together in a team. If you can have the tech stack skills and the softer skills, then you’re already so much more ahead of everybody else.
I always enjoyed talking and interacting with people, so it was an easy way to start being a leader. I think stakeholders can see if you’re trying to push stuff forward and eventually you become the point of contact for the company.
How did you find it coming from a completely different country? Did you face any challenges?
I think the language is a blocker and sometimes I don’t know if I am expressing myself the right way. I’m also sometimes nervous about getting the position if my English isn’t 100%. When I was 15, I was learning English through the whole coding experience with the help of YouTube videos. Before I came to the UK, I also tried to improve my English.
I can remember my first stand-up in the UK with ten people and I couldn’t understand what they are talking about. That was crazy. It’s different but for me, it was fun at the same time. You’ve got to be open for this type of learning experience. The other side was the gap in technology. I think São Paulo is at the same level in terms of technology but there is no comparison to the experience and depth the UK has. The UK is the leader for the financial sector, and I believe we have so many more startups here than in the US for example. So, there is no way for me to compare the UK with any other country. Artificial Intelligence and deep learning mean you have more opportunities to do cool stuff that will change the way people interact with money and their financial data. So that is the gap that I got to fill in when I joined the UK.
I completed a Bootcamp in C# development after graduating and am currently working at a .NET house, but the software is not .NET. Is there any advice you could give me to get into a .NET role in the future?
If you really want a role in .NET you should look for a role in that market. If you want to be able to demonstrate more experience join a few freelance projects. The market doesn’t care solely about past experience unless it’s for a senior role where you’ll have to have a proven track record. As a junior, as soon as you can prove you know how to code in .NET, that’s fine.
Create a plan of how you are going to move on and don’t be afraid to jump to another company, that’s how the software engineering market works in order to achieve progression.
Also make sure you’re active on LinkedIn, that your profile is up to date and you’re posting and commenting on things that are relevant. Create a portfolio on GitHub and show that you’re active in the community. Make sure you are getting involved in side projects to show you understand the principles when people ask you about them during the interview. You can also post tech tests on your GitHub or Stack Overflow.
Doing these things will give you a much higher chance of getting the job you want.
How do you get noticed? How do you put yourself out there?
Start by finding a really good recruiter you feel comfortable and confident with and get their take on the market. Use your initiative as well when you have an interview with a certain company. Do your research and map out the company and connect with the individuals who are going to be interviewing you and drop them a little message saying “I’m really looking forward to and can’t wait to discuss X, Y, Z with you.” You’ll set yourself apart from the other candidates who just show up to the interview. After the interview send an email to the people you met and thank them for their time. Don’t forget to give your recruiter feedback as well as they’re in your corner.
How do you progress your career?
Don’t get comfortable! Sometimes you see yourself doing the same stuff every day. If you feel like you’re not learning anything new, you’re not moving forward and there isn’t anything coming up that is going to change that, you’ve got to move on.
When you value yourself and know you have the potential to learn and to grow more, you have to leave where you are now at some point to jump to another stack. You can also look at online courses or freelance projects to achieve this but I truly believe the best way to learn more is working with this in a hands-on environment. Sometimes I applied for roles when I wasn’t 100% sure about the technology.
If for example, you want to improve your current company’s tech stack just use your own initiative and do some work on it in your own time and show them what you’ve done, why you’ve done it and ask them about their thoughts. This shows that you are going the extra mile. You should feel proud of what you’re doing and take ownership as well.
What traits set great developers apart?
There’s not really one single trait that makes the difference between a good and a great developer, it’s more of a combination. Proactivity is definitely important as is having the technical knowledge and knowing what great architecture should look like. At the same time, you also need the soft skills to be able to express yourself. Being able to break down technical jargon into easier language for people who are non-technical to understand is important.
Get everything you need to know wrapped up in 13 handy tips to make your LinkedIn profile shine and get yourself noticed!
Some recruiters have said that I need to settle for a lower salary if I haven’t had a UK job before. Is that true?
It depends entirely on the organisation. Some clients would offer less of a salary if you haven’t had a job in the UK previously but on the other hand, there are companies that love candidates from Easters Europe, for example, because they have very good universities out there for computer science and they will pay above market rate.
You need to get yourself out there to as many companies as possible but if you find you’re struggling to find a position then it might be worth being more flexible with your salary expectations, at least for the interim. You can come in and after your probation period of 3-6 months show what value you have delivered for the company and ask for your remuneration to be improved.
If you're looking for a new role in the current market you really need to make yourself stand out. There will be people who have been made redundant or on furlough who have had to take salary cuts to ensure that their business keeps going so utilise the tips we’ve given here to stand out. If you’re interviewing and not getting positions, ask why. Ask for proper feedback and find out what you fell short on, not just that another candidate was stronger.
Do companies look unfavourably on candidates who have worked at one tech company for a long time in comparison to candidates who have worked at a few?
Some companies will look at the time you spent with at each company, but many don’t. You have your own reasons for why you left that place be it culture, progression or another reason. Some companies look for longevity (2, 3, 5 years+) but newer companies and startups don’t care as much. To give you a better idea of the industry trend, the average tenure within .NET is 1.3 years.
What do you think about meetings? Are they a waste of time for developers?
Sometimes the number of meetings can feel overwhelming. While you might be expected to attend some meetings, too many meetings are not helpful for developers because it breaks their concentration and productivity.
I am struggling to get interviews that offer visa sponsorship. What should I do?
It can be difficult to get a job in the UK if you require a visa. A good place to start is to take a look at these companies that offer sponsorship.
If you can prove that you are very good, getting sponsorship can be easier. Another way to go about it is to approach the companies, show that you’re a strong candidate and offer to work for them remotely as a contractor. This would involve opening your own company in the country you live in and invoicing the UK company for your work.
After you’ve showcased your work, you’re more likely to get sponsorship through the company you have been working with.
Do years of experience really matter?
After you’ve got two years of experience it doesn’t matter at all. You don’t need to wait till you have five or six years’ of experience to start applying to senior positions as long as you have the experience and can talk on the same level as the person who is interviewing you. Make sure you are confident in your tech stack and highlight this technology throughout your CV.