Key Points
Excerpted from John Sonmez's "Career Guide for Software Developers". For the complete e-book, visit here.
Every week I receive emails or YouTube video reviews from software developers (some of them experienced) who can't seem to find a job.
I have heard all kinds of excuses or reasons why they can't find a job. Some developers complain that senior developers make it difficult for young developers to have a chance - we take up all the good jobs. Meanwhile, some developers complain that no one wants to hire senior developers, and everyone has age discrimination. Others complain that it has something to do with their race, religion or political beliefs. There are also people who complain that their skills are useless and no one wants to hire a developer who doesn't use the latest technology.
While some of these claims may be true—yes, discrimination does exist—the root cause is that these software developers don’t know how to find a job. As I write this, there is a lot of demand for software developers. Many positions are open. However, many software developers complain that they can't find a job.
How could this happen? Why do we have so many vacancies in our industry, but developers often tell me that they have applied for hundreds of jobs but are all turned down?
The problem is that I don't know the right way to find a programming job, which I think is an easy problem to solve. In this post, I will share the best tips and tricks I have learned to help software developers find a job.
First of all, let's look at the traditional way of finding a job, which I call the "crystalline method".
The same-sized method
In this regard, I will tell you frankly: I really don't like the regular way to find a job, because it takes a lot of effort and rarely leads to the best results.
However, rather than jumping straight to the way I like to find a job, I will cover the standard way to create a resume, fill out an online application, and submit a resume, which is what most software developers – and most professionals – do. Made.
The reason I started here is because a lot of software developers did a really bad job.
I have heard countless stories of developers who send hundreds of resumes to every post post found on Monster.com in a day, but wonder why they are not getting any results.
If you are going to take a standard, cookie-cutter approach, you should at least do it well. I'll show you how to do it.
Digital Games
First of all, you must understand that most people apply for jobs blindly, and this process is purely a digital game. It's like sales. In fact, you really should treat it as a sales process.
Create a sales channel and can even use the CRM system used by many sales organizations to track your potential customers’ progress in the channel. You will see this:
Appliced for position > Replies received > Telephone filter > Interview > Recruitment
At every stage of the channel, you should expect only a small number of potential customers to enter the next stage.
For example, suppose you applied for 100 jobs. Maybe you'll receive 30 replies that you'll contact you somehow. Of these 30, maybe 7 will ask you to perform phone filtering. Of these 7, maybe 2 to 3 will ask you to go to the interview in person. Maybe you will get an offer notice from all these jobs.
If you want more recruitment notifications, you can basically do two things:
In other words, you can apply for 1000 jobs and then get 10 recruitment notices, or you can apply for the same 100 jobs and do better in each step, and you can also get 10 recruitment from them. notify.
All in all, it is either more potential customers in the channel or better liquidity in the channel. That's it.
If you want the best results, take both.
So why do so many developers tell me that they have applied for hundreds or even thousands of jobs and still haven't received any offer notices? Well, there are some luck ingredients in it, but most likely one of two situations:
The most likely thing is to have both. But don't be afraid. I'll show you how to effectively improve both.
Have an excellent resume
First of all, if you are going to play digital games, you want to get as many potential customers into the next stage of the pipeline as possible. One of the best ways to do this is to have a very good resume.
If your resume is terrible and filtered out in the first step, you will waste a lot of time and your overall pipeline efficiency will be extremely inefficient.
Yes, a very bad resume may end up getting you a job, but the worse your resume is, the more jobs you have to apply for in order for the digital game to work. I don't know how you are, but I would rather apply for 50 jobs than apply for 5000 jobs.
The first thing you should do is make your resume as perfect and effective as possible. I know some people still disagree with me, but I'm 100% sure that the best way to do this is to hire a professional resume writer who specializes in resume writing in the tech industry.
Yes, a professional resume writing service may cost you $500 or more, but ultimately, it will be a small investment in the benefits you get.
One of the best ways to improve resume effectiveness is to have experienced resume writers write and type professionally, knowing how to write resumes for software developers.
Set daily application targets
Next, let's solve the digital problem. I like using quotas to ensure continuous progress.
I am writing a new book now. I will finish the book on time because I have to write at least 1000 words a day and spend 50 minutes a day on it.
When you are actively looking for a job, you should set a quota for the number of jobs you want to apply for every day.
This number depends on the job market and what job opportunities you have, but if you are currently unemployed and need to find a job, it should be at least 5 jobs a day.
It is not unreasonable to try to apply for 10 jobs a day.
Suppose you take about an hour to apply for each job. What? It takes an hour to click "Apply"? No, it takes an hour because you are more than just clicking to apply. You will apply specifically for each job by writing a custom cover letter and modifying your resume to better match each job.
Is this a lot of work? Of course yes! Is it effective? Of course it works!
Remember, we need to increase not only the number of leads in the pipeline, but also the chances of each lead from one stage to the next.
So if you only click "Apply" on Monster or other job search websites, you will be able to apply for a large number of jobs very quickly, but you will sacrifice a lot of efficiency.
In addition, consider the size of the job market, which mainly depends on your geographical location.
If there are 50 new jobs per month, you can apply for all 50 jobs in a day, but what should you do in the next week or two?
Sit there and pray that you will get an interview?
Isn't it better to apply for 5 jobs a day, but spend one or two hours on each application, thereby greatly improving the success rate?
How to apply for a job
When you apply for a job, your goal should be to match your resume and cover letter as much as possible with the job description and any other information you can collect about the company.
The idea is that when a hiring manager or someone who reviews a job application looks at what you submit, they will be shocked at how perfectly you match.
This does not mean that you are lying or making up something to put in your resume or cover letter. Instead, you should try to use your existing experience, highlight the parts that are most relevant to the job description, remove the unrelated parts (or minimize them), and use some of the words or phrases used in the job description.
Be careful here; you don't want to just parrotically repeat everything in the job description, because then it's obvious that you're just getting all your submissions exactly to what they ask for. That being said, you should match as much as possible without being too obvious.
Read the job description carefully to understand what the most important skills and traits you are looking for at work.
Modify the order and focus of your resume to reflect these points and show your best side as much as possible.
Do some research on the company, and write a cover letter to sell the hiring manager why you are the best applicant for the job. Mention some things that only people who have actually done research on the company will know.
In a cover letter, you should create a clear connection between the skills you need to work and how you use your experience to show that you relate to and make you the perfect match.
Yes, this is an extra lot of work. This requires additional effort. You will have to have several versions of your resume, and each job you apply for will be a further variant of these variants. But…If you really want to find a job seriously and want to stand out, you have to do that.
It's easy to click a button and apply for 500 jobs with the same resume and cover letter - it's a lazy approach.
Measurement results
One of the things you want to do when you apply for a job this way is to measure your results.
You should track how many jobs you applied for; the date you applied for; whether you received any responses; which version of your resume you used; and any other factors that may be related to your job search.
What you want to do is have reliable data so you can see what works and what doesn't.
Prefer job search as an advertising campaign. You have to test various ads to see which ones get the best response.
I often ask developers I am coaching to track the results of their original resume and then track the results they get after using professionally written resumes.
Typically, they will see that after using a new resume, they get a 300% or more response rate from their job applications.
You need to have this kind of data so that you can change your plan.
Change your plan
It makes no sense to measure things without taking action.
When you get data about the validity of your current version of your resume, the way you write your cover letter, or any other relevant factors, you should use this data to change your plan and try new ways.
Test a new version of your resume. Maybe test for a different layout or format. Maybe try using a chronological resume instead of a functional resume, and vice versa.
Many software developers trying to find a job complained to me that they have applied for hundreds of jobs and after applying for 50 jobs, they know they have not got any results, but they still have the 100 jobs they apply for next The exact same resume and cover letter were used.
In my opinion, this is simply crazy. How can you do the same thing over and over again, but expect different results? This makes no sense.
So get feedback from what you do and change your plans until you start seeing results.
Maybe stick to the same plan for a week, and then at the end of the week, review all the data you have and decide what different approaches you are going to try next week. If you take this approach, you'll almost certainly end up finding a job.
The problem is that most software developers don't want to put in all this effort. They just want to complain, saying no one will hire them.
Don't let yourself be that kind of person.
Focus directly with recruiters
Another more traditional way you can take to find a job is to work directly with one or more recruiters.
The recruitment industry certainly has its quirks, but when it comes to applying for jobs, recruiters can help a lot—especially if you have skills that are worth the market.
If you can find a good recruiter who has connections with multiple companies, they can help you modify your resume to match the job they are hiring, and they can often help you get an interview opportunity for one of your clients.
However, with regard to most recruiters, it is important to remember: recruiters never want to be embarrassed in front of their clients. When working with recruiters, you need to convince them that you won’t embarrass them for completely messing up interviews or showing that you don’t have the technical skills or lie.
Try as much confidence as you can, and recruiters are more likely to get you hired by their good clients.
Try to think about it from their perspective. Your performance, good or bad, is reflected in them and may affect their own career interests. If you don't show yourself competently, it's unlikely that the recruiter will risk hiring you.
Breaking out of the fixed mindset
OK, so far everything we've discussed is the traditional, cookie-cutter way to find a job, and if you do it right, it works, but it's not the best way to get a job or get a good job with a high paycheck method.
Most jobs—, especially good jobs—are not publicly recruited.
Don't believe me? Looking at this Wall Street Journal article, it points out that up to 80% of jobs are not recruited publicly.How do you get these jobs? You have to go beyond the mindset.
The only way you have to stop thinking that the job is to find a job post and apply for it. Yes, like I said, this approach can get you a job, but there may be thousands of other ways to get a job.
Don't be afraid to be creative. Too many people think that standard methods and "best practices" are the only ways to do things, but that's not the case.
No rules. Only guidelines.
It is up to you to decide how to best complete any task you set, including finding a job. Below, I’ll give you some ideas on how to “get out of mind” when it comes to job hunting, but this is by no means an exhaustive list.
The whole idea of going out of mindset is that you do something unorthodox, not something others tell you to do.
So if you are brave and willing to give everything, keep reading.
Build connections
One of the most effective ways to get an unpublic recruitment job is to get to know someone who knows someone who is looking for a position. Have a good reputation in your connections, so that whenever someone hears you’re looking for a job, they’ll rush to try to pull you into their team.
This will only happen if you are willing to invest time and resources to build a strong network of people.
There are two steps to build a strong network of people:
Most people try to build networks in the wrong way. They wait until they need work or something to start "geting to know people". Once they meet someone, they start gushing about themselves and that they are looking for a job.
No one cares what you want. I will say it again. No one cares what you want. People only care about what they want.
When you try to connect by telling people what you want, you are doing the opposite of what makes people like you. You are teaching them to avoid you.
Instead, what you need to do is meet a lot of people before you need anything, and when you meet them, find out how you can best serve them.
What can you do for them? How do you help or contribute to them and provide them with value?
If you do this, you will build a strong network of people and you will never have to “find” jobs again – I promise.
But it takes time. So where do you start? Well, as a software developer, I'll try to attend as many parties and software development groups as possible.
In any geographical area, there are many weekly or monthly groups you can attend. You will meet developers, recruiters, and managers and make many other great connections in these places.
As an additional reward, we actively propose to give a demonstration to the group. If you provide valuable presentations to the entire group, you will be able to build a lot of credibility quickly.
Remember, this is a slow process, first focusing on providing value to others. You build networks through investment. You have to sow the seeds to harvest.
If you have patience and participate in a large number of events in your community, you will eventually build a strong network of people.
Specially for companies
Another major strategy you can use to find a job is to target the company you want to work for, rather than applying for a job posted by the company.
The difference is that you do some research, find the company you want to work for, or maybe several companies, and then you put all your resources and energy into finding your way to get into that company.
When I was really looking for remote developers to work - and not so much at that time - I successfully applied this strategy. I found a specific company that I know has a team of completely remote developers. I got to know this company. I got to know the people who work for this company. I started following the blogs of developers working for this company. I started commenting on their blog and building relationships with these developers.
The next time they look for developers, guess who is recommended by multiple developers in this company? Guess who got the job? There are many ways to apply this strategy. This is a very general strategy.
In fact, I will give you some specific applications below. The basic idea is that you choose a company over a job, and then you find a way to get into that company.
This could be by finding people you know who work for the company or establishing new connections with people who work for the company. This could be by providing the company with something valuable. This may be through perseverance, letting the company's hiring manager know your name and you won't give up.
A colleague of my wife is eager to work for a company called Healthwise in Boise, Idaho. For two years, she applied for almost every job they offered. She makes friends with employees who already work at the company. She kept following up until they gave in and eventually hired her.
She is still working there.
Create something useful
A great way to target companies specifically is to create something useful for them and use it to get their attention.
I know several engineers because they created tools that use the software that the company built, or they specially created a tool that they knew the company could use the tool to get the job done better, and were directly led by the company employment.
I've heard designers get hired for redesigning the company's website for free and sending new designs to them.
Imagine if you use some popular software, create a new feature or somehow improve it to make it better, and then show what you do to build the software company.
Now, you have to add some real value, you can't just show off, but if you create real value for them for free, don't you think they'll want to hire you?
Many people find problems with popular websites and then tell the company how they will improve it, but few actually build a model where they actually implement solutions to improve it.
From the upper level
This is a tip from sales: start from the upper level.
When most developers contact companies to provide their services and try to get a job, they usually end up starting from the bottom.
They may contact HR departments, development managers, or even individual software developers, all of whom may have little say in making recruitment decisions – especially if there is no job requirement.
Instead of starting from the bottom layer, try to start from the top layer.
See if you can find a way to get in touch with the company's CEO or even the CTO or Engineering Director.
One method is to dial the company's published number and then simply ask for a call with that person.
Don't say you are a job seeker looking for a job. Instead, say you have a unique opportunity to introduce him or her, or you have a business to negotiate.
If you do have a conversation with one of these "high-level people", stay confident and do your publicity. Don't just ask them for a job. Come up with something valuable that you can offer them and their company.
Ask them if they can introduce you to others so you can further discuss what you can do for their company.
Does this sound ridiculous? Maybe crazy? You might think that will never work, right? Well, that's the point of getting out of mindset. Many people think they have to start from the bottom or enter from the front door.
There is no reason you can't meet with the CEO or CTO of the company and have them refer you to the hiring manager and say, "I want this person. Is there any place you can get him to join?" 🎜>
Successful corporate salespeople have been using this technology all the time. There is no reason you can't do it too.
Use inbound marketing
This is probably the drum I'm best at hitting.I have posted a complete course on how to market yourself as a software developer that basically teaches you how to leverage inbound marketing to get you a job instead of you looking for a job.
I have successfully used this technique myself. In fact, the whole reason you read this post is the success I have achieved using this technology in my career.
I have countless opportunities coming to me. I have received hundreds of job offers, speak at events around the world, and have greatly changed my life trajectory due to inbound marketing.
So, what is inbound marketing?
It's very simple. It just creates content or some other value that lets people come to you, not you go looking for them.
As a software developer, you can build blogs, make video tutorials, write books, write articles, appear in podcasts and many other things to build reputations, make your name known, and make people – and opportunities ——Come to find you.
Some people might call it the “fame” method, but you don’t have to be famous to get it to work for you.
You just need to be famous in a specific software development field.
The key is to choose some very professional fields in software development and become an expert in this field. The smaller the field, the greater the chances you will be the number one, which should be your goal. Once you have established this area of expertise, the job will come to you. I promise.
Interview with the interviewer
This is a way to enter through the back door and go directly through the gatekeeper.
A good way to get opportunities is to interview the interviewer when there may be no vacant positions at the time.
Using this technology, you will talk to a contact in the company you want to get a job, which could be a development manager, CTO, technical director, or someone with some kind of recruitment decision making.
You will tell this person that you are researching information for an article you are writing, or you wish to interview them to create a podcast.
You can even say that you have just recently entered this field and you want to ask an experienced person about the industry.
The idea is to find some way to get into the office and talk to the person.
Most people are happy to take the opportunity of free publicity or have the opportunity to help aspiring software developers learn more about the field.
Whether you ended up posting an interview is not that important—even though I don’t think there is any reason you don’t do that, because others are giving you free, valuable content you can post.
At this point, you are just sowing the seeds.
Now, you know you with someone in the company you want to work for and may like you because people tend to like people who are interested in their favorite topics: themselves.
A few weeks, months later, or when the company happens to have a vacant position, you can follow up.
If you post their interview on your blog or podcast, you can also follow up.
In fact, if you are applying this technology, why not interview the CTO of all the top tech companies in your region?
You can then make a review article for all the interviews, post them on your blog, and benefit from some inbound marketing.
Persistence
Too many people give up too quickly because they don't understand or believe in the power of persistence.
Yes, being too persistent and annoying can burn the bridge. But you have to go further than you think to get to this point, and even then, if you don't get the job anyway, you have nothing to lose.
Don't get me wrong. I'm not saying you're too aggressive and you can't get a job in a rude way. What you should do is keep following up and changing your strategy, and if you really want to get the best chance in your life, try to move forward as hard as possible. Doors won't always open for you. Sometimes you have to pry open the door with a crowbar. After you've tried all these techniques—more than once—don't give up.
Next actionThrough the technology I've covered in this article, you're more prepared to get a rewarding and highly paid job than most software developers I've met in this industry in 17 years.
However, I just touched the surface of your steps to further your career as a developer.
In fact, I have written a whole book for developers who want to grow and earn more in their careers while working on the jobs they love.
It is known as the Complete Career Guide for Software Developers. For more information (and free access), click here.
FAQs about software development work (FAQ)What key skills are required for a software developer?
How to increase the chance of getting a job for a software developer?
What is the role of software developers in the team?
How to find a job as a remote software developer?
What is the recruitment process for software developers?
To prepare for an interview with a software developer, check the job description and learn about the skills and techniques you need. Review your coding skills and be ready to solve problems on the spot. Research companies, their products and their culture. During the interview, demonstrate your problem-solving skills, technical knowledge and passion for software development.
Software developers have various career development opportunities. They can be promoted to a senior developer position, a chief developer position, or an architect position. They can also turn to project management, product management, and even start their own software development companies. Continuous learning and gaining experience in different projects and technologies can help career development.
The latest software development technology can be mastered by following industry blogs, participating in webinars and conferences, participating in online communities, and participating in online courses. Regular practice coding and working on personal projects can also help you learn and adapt to new technologies.
Software developers face challenges such as understanding complex business needs, mastering rapidly evolving technologies, debugging and fixing code issues, and effectively managing time to meet project deadlines. They also need to work effectively with team members and stakeholders, which can be challenging in remote or distributed teams.
Improving your coding skills includes regular practice, learning from others, and working on real-world projects. Participate in coding challenges on platforms like CodeSubmit to hone your skills. Reading and reviewing other people’s code can also provide valuable insights. In addition, contributing to open source projects allows you to experience large code bases and collaborative development practices.
The above is the detailed content of The Software Developer's Guide to Getting a Job. For more information, please follow other related articles on the PHP Chinese website!