Being a software developer is an interesting career. You will always be learning, solving problems and working with tight deadlines. Due to the ever changing nature of technology you will have to remain current on what is new and popular which makes for a constantly changing work environment.
To start a career in software development an education is important whether it is through university, certificate programs and/or self directed learning. Skill is also important so practice needs to be done until proficiency is reached in at least one major coding language.
According to this study there are many personal characteristics which make for a good software engineer so before you spend time and money on pursuing a software engineer career check to see if you have enough of these traits to have the confidence you will enjoy the career long term.
Once you have satisfied the above criteria follow these steps and don’t give up!
Decide on a career track
Software development includes a wide variety of industries, including web programming, application development, gaming, robotics, artificial intelligence and the list goes on. There is no way anyone will be able to learn everything about every niche in the software development space.
In web development alone there are HTML, CSS and javascript which form the basic webpage but there is also server side programming which can be done in a variety of languages like Python and PHP. Each of these languages have packages which make development easier but also need to be learned. To be able to be proficient in all these languages takes time and dedication (lots of practice).
By deciding on a career track early you will be able to lower the number of things you will need to learn initially making it more likely that you will be able to be successful at the beginning of your career. Once you have your first position you will be able to expand your knowledge and move from there but the first stage is competency in the basics.
Learn to code for the track you are on
Coding is the basis of the job. Just like being able to use a hammer is basic to a carpenter, knowing how to program effectively is basic to being a software developer. Each area of software development has its own languages and methodologies which are unique to them. Although the basics are the same, you will have to know specifics about your industry to become successful.
Below is a list of the most commonly used languages for four different industries within the software developer schere. If your career track is not here do some research to learn what you should be practicing and learning.
Web development languages
- HTML
- Css
- Javascript
- PHP
- Python
Game Development
- C++
- C#
- Python
- Java
Artificial intelligence
- C++
- Python
- Lisp
- R
Robotics
- C++
- Python
As you can see there is a lot of variation in languages, some being more prevalent than others. Choose your base language and learn it well because you will have to pass a coding exam for most companies before you get an offer.
Develop a portfolio of projects
Software development is analogous to an artistic career like graphic design. When employers are looking to hire they like to see what you have done in the past.
By having a portfolio of projects you have worked on, completed or contributed to you increase your chances of landing a software development job. By constantly improving your portfolio you will be able to show you are improving and learning new things. This is important for employers, they want to see you are consistently improving and learning new things. Remember software development is a career which requires lifetime ongoing learning. By showing your improvements you are showing you are constantly learning.
Make connections
Just like any industry, having connections is very important but let’s be clear, connections are not links on LinkedIn or friends on facebook. Connections are people you know which you have a relationship with or are people which you have had some business with. Connections are great ways to get references, job leads and advice from.
To make these types of connections you will have to become active in the industry. Work on projects with a variety of people, seek others advice and be willing to learn from those around you.
Connections are still the best ways for people to land a job. Employers are more likely to hire someone who has been recommended by someone they trust than from a faceless resume and cover letter and sometimes a position will be filled by someone who was recommended by a connection without ever being advertised. By having a strong base of real connections you will increase your chance of being the first candidate considered.
Do some freelancing
Learning the basics of coding is one thing but being able to write code for a paying customer is something totally different. There are a number of skills which you will learn which will help you by doing small freelance jobs.
You will learn what the typical project looks like, how to communicate with your customer and how to code efficiently. All of these will improve your chances of landing a well paid position. Sometimes freelance work can become a full time position if you perform well. You may even build your career on only freelance work.
Contact companies directly you would like to work for
In today’s world virtual communication is everywhere. There is email, text, social media messaging and video conferencing. It seems the idea of talking to someone on the phone or visiting them at their office is not even on the table but if you are wanting a position with a particular company then one of the best strategies is to phone and make an appointment and talk with the hiring personnel.
For larger companies this may not work as they have barriers to prevent such activities but smaller companies don’t have such barriers and would be thrilled to hear you regard their company as a sought after place to work.
Before you go, do some research about the company. Find out what their main product is, who their customers are and have an answer ready for why you think you would be a good fit and how you could benefit them. This has a double purpose, you will be able to learn for yourself if you like the company and you will be able to talk intelligently with their staff.
Get good at writing resumes and cover letters
It may take a while for you to land your first position. Depending on the competition and how popular the company you want to work for is, you could be one in a hundred applicants or more. This makes it difficult for someone with little experience to be considered but one thing is for sure you will not get the job you don’t apply for.
Write a resume and cover letter tailored for each application you make. Each company is unique and to increase your chances of success doing some research on each company and writing your resume and cover letter specifically for them will increase your odds of getting an interview.
Practice speaking in public
This may seem like an odd step but it is vitally important for you as a software developer to be able to communicate your ideas to all different sizes of groups. If you are uncomfortable speaking to people you will find it hard to interview well, relate with your co-workers and progress in your career.
Companies tend to ask probing questions when interviewing applicants. This is to help them to determine if you are a good fit with their company. If you cannot adequately convey your answers they probably will not offer you a position. Whereas if you can communicate well with the interviewers without too much nervousness you will have a better chance at securing a position.
Most advice applicants get about interviews are centered around giving the “right” answer to common questions and ask applicants to practice their answers to be prepared for them. This can lead to contrived answers, untruths and make the question ineffective for both the interviewer and the applicant.
It is important to be prepared for an interview but to practice answers which are meant to impress the panel can lead to an unsuccessful interview and if a position is secured could lead to an unhappy work environment when the truth surfaces.
Instead, if you are comfortable speaking in public, have done your homework about the company and you understand the industry you are going into, your answers can be used effectively to discern whether you are a good fit. This will make for a much better relationship with you and your employer and lead to long term success.