5 Easy Tips to Get a Job as a Software Engineer
Want to start being a software developer but you don't know exactly where to start? Check out some hints in this post.
The tech industry is growing exponentially and will keep growing for the next years. With new products and consultancy tech companies being created, the number of open jobs increased a lot.
However, get up and running in the tech industry can be a bit challenging. There is a lot of noise out there saying that software engineering is hard, and that is not for everyone. Also, they say that software engineering is overwhelming and no one can keep up to date.
To some extent, it's true that programming can be a bit hard to understand at first. And, this industry changes a lot too, so it's a bit challenging to keep your skills up-to-date.
But truly, the only skills really needed are consistency, patience, focus, and courage.
- Consistency to keep learning new subjects every day.
- Patience with yourself to learn at your own pace.
- Focus to specialise in one subject.
- Courage to apply to jobs, approach recruiters, and network with people.
If you ever struggled to pick one technology to focus on, or if recruiters are not approaching you frequently, or if you are starting fresh in programming, then this post is for you. 5 steps described here will help you to start your learning process towards one set of technology, and be confident to apply to jobs.
The steps described below worked for me to get my first job a few years ago, and for some friends that were struggling with the same thing.
After executing these steps and being patient, we are frequently approached by recruiters on LinkedIn and we can choose the companies that we want to work.
1 - Choose one set of technologies to start
This task is pretty hard if you think about it.
Today, there's plenty of new jobs posted for various positions related to programming. They can be web and mobile apps development, DevOps, data science, quality assurance, A.I., project management, etc.
The list goes on and on, and sometimes this can confuse you on which direction to follow.
Here are some suggestions on how you can overcome the confusion and choose one path
Try a few different tools and languages in a non-professional environment. This could help you build interest or know right away if it's not for you.
Connect and listen to other people that work with technology. Some people are very open about their career, daily routines, and even their salaries! Try to absorb something from them.
See what habilities the companies are looking for in Linkedin, and stick into that! Learn the technology that is on-demand! This is important because recruiters will pick candidates using their criteria. And their criteria is to pick someone that understands the tech stack used internally by their companies.
Pick a technology that you feel more familiar with it, and that is demanded by the market in your area.
2 - Start your learning process
After you decide on one path to focus on your career, then you need to consistently learn topics of that path.
Try some courses and boot camps at the beginning. Having other people explaining a concept can be easy to absorb.
But don't just watch/listen/read to the tutorials. This is the passive mode of taking a course. If you're just looking at other people's work, but not applying the concepts learned in your own coding projects, you're wasting time. Programming is a skill that you can only learn by coding.
So, together with the course/tutorial that you're using, build a project using the concepts presented there. It can be just typing the same code that you've just watched orr a fully functional application. The point is: code something! This is the active mode.
When you go active instead of passive, you'll see you struggling a bit at the beginning when coding your first apps. But when you figure that out, you'll truly understand the concepts and will be able to do the same things on your own.
Consistent practice is key.
3 - Stick to the fundamentals
So, now you've found one area that you like, and there are plenty of jobs for it. Also, you did some tutorials to give you the big picture of that area. Now, it's time to focus on the fundamentals.
In the beginning, you need to focus on the fundamentals instead of going right away to the fancy stuff. The fancy things are often built at the top of the fundamentals. So, by understanding the fundamentals you will understand more easily the fancy things.
Let's pick one example for this one. Imagine that you liked building web pages. Today, there are thousands of frameworks to create web pages like React.js, Vue.js, Svelte, and the list goes on. Those are the fancy things: state-of-the-art frameworks to help developers to create web pages.
Those frameworks are abstractions of one language or many languages. At the end of the day, they are plain HTML, CSS, and JS. Their job is to make development easier and faster. But, without knowing the fundamentals, you can find the development with frameworks even harder.
Understand deeply the basics. Trust me, by doing that you'll get frameworks a lot easier, and will be able to use them more effectively.
4 - Be open and show your work
While you stay focused on learning new technologies, you must stay attractive to the market as well. That means you must show people your work and let them know about your professional profile.
This is a good time to start a simple portfolio of your work. This portfolio can be your GitHub account, a blog, a small school/course project.
Some tips on creating a portfolio
Contribute to open-source repositories in GitHub. That will show that you're engaged in the tech community. You can find repos for beginners by searching for 'begginer' keyword in GitHub.
Create your public repositories and develop a piece of software that solves a problem in one area you love. Let's say you like food and restaurants. Design and build a simple application related to restaurants, like a way to manage the orders. You'll find this very useful to learn new technology concepts. Also, you can show recruiters that even without any prior experience, you've already built something using software.
Create a repo with your name to start your web page using GitHub free domain (.github.io). See a full tutorial here.
Add a personalized README markdown file with your skills and some info about you, like a resume. You can put some colors and components to improve readability. The good news is that markdowns are very easy to work. See a full tutorial for this on this blog post.
> Document your learning journey using coding projects and show it to others.
5 - Optimize your social media
This is by far the most important step. People need to notice you!
A social media like LinkedIn have useful features for those looking to get a new job. Recruiters use the media very often to find new employees in the software niche. To be approached by one recruiter and then proceed to an interview, you need to be searchable in the network.
The network uses a search engine to look up existing profiles. Profiles that provide more 'rank' will show at the top of the page (like Google does with websites).
To take advantage of the profile ranking, you might want to add more 'rank' by doing some steps. I recommend four steps to improve your profile:
Add more content into your profile fields using related keywords like the technologies you're studying. Let's say if you're studying software development and searching for a Java/Spring developer job. Then you need to add keywords like 'java', 'back-end', 'spring', 'git' in your profile. The keyword can be anywhere in your profile. It is very effective when used in the title, about, and job description fields.
Keep your 'skills' area up-to-date and try the LinkedIn assessments to earn the badge. To get the job your skills must fit into the company tech stack. And looking at the 'skills' is the easiest for recruiters to understand your abilities. The assessments can be pretty challenging if you're not very familiar with the technology. But, you'll have more tries to get the badge. Also, you can try LinkedIn trial for free for 30 days, and take courses about that skill. This can help you to get the badge.
Keep using the app a few times a day and interact with posts, make connections, or post your content. If you do that, you're showing up your profile to more people than just your connections. LinkedIn will show up your content to all the connections of a particular person that liked your post. That's huge! It is like paid advertising where the product is you, but it is for free. Here you can see some tips to network with recruiters.
Be available to recruiters. Connect with them and react to their posts. Be active in the network.
And that's about it! In short, the tips are:
Pick one technology to start. Don't be the jack of all trades right at the beginning of your career.
Do active learning instead of passive. Get your hands dirty with coding.
Stick to the fundamentals. Start building things with fancy tools only when you've learned the basics.
Be open to people. Build and show your work, interact with the community.
Optimize your social media. Use LinkedIn profile ranking system to be visible to recruiters.
At some point, you'll find yourself in a position that you don't need to apply to jobs anymore. Recruiters will come to you with interviews or offers. This is very useful when you're at one company and you are willing to change jobs. You don't need to waste much time actively looking for open positions.
That's all folks! Thanks for reading it until here, and talk to you in the next post. Bye!