How to get a job as a software developer

Whether you are a recent computer science graduate, a person looking to change careers or someone eager to make a living writing code, the advice I would offer below can help you and anyone else if the goal is to get a job as a software developer. While the advice is nothing secret or even unique, it is still valuable as a reminder of a few steps you can take to give you a greater chance to get an interview and a job.

The inexperienced programmer

You know how to code but have no working experience, now what? like you, many people with the skills and even the right attitude might have a hard time getting job interviews when no professional experience is under their belt yet. Unfortunately, many recruiters and hiring managers can’t or won’t help you as they feel you are not an ideal candidate if you are unable to show some work history in the field. Because of this, you have to demonstrate your ability and skills in some other way, you need to stand out. This is a common problem for people who just graduated with a software engineering degree or have learned programming on their own.

Here is how you stand out, you can contribute to open source projects, work in your own projects, write blog posts related to your field and participating in sites like Stack Overflow.com; All of this can greatly increase your chances of being noticed and selected for an interview. It is possible that clueless recruiters will still ignore you for programming jobs that require experience, but that is OK. Having something to show your knowledge and passion for software development is in my opinion, more important than a resume filled with multiple programming jobs.

The experienced programmer

You have accumulated a few years or perhaps a few decades of programming experience under your belt and are looking for a new job. For someone like you, getting an interview might be challenging and scary too but it doesn’t have to be. While you can show that you have professional experience with software development, you still need to find out a way to stand out from the crowd and you also need to avoid showing yourself as a one trick pony. Show that you are not only an expert in one programming language but also someone who thrives to learn and play with other programming languages, frameworks and technologies.

As an experienced professional you can distinguish yourself from other professionals by learning other valuable skills such as the ability to communicate clearly, organize and deliver projects on time among other things. Also, the advice given above to inexperienced programmers apply here as well.

Something that experienced developers don’t do enough of is teach, yes, if you have the experience and right attitude teaching others what you know can be very beneficial for you when looking for your next opportunity. Teaching can be done in different ways, giving talks to user groups and meetups, mentoring code newbies, sharing your knowledge via blog posts, podcasts and essays, etc. Whatever method you prefer, placing yourself as a software authority can and will put you in a short list of very valuable software professionals and getting hired by a great company won’t be hard at all.

Networking

Networking is also key, I cannot tell you how many people I have seen find software development gigs in events such as meetups and other networking events. It works. Bottom line is that while networking and meeting new people doesn’t come easy to some of you, the benefits of meeting and talking to new people in your field is not only necessary but very useful. Attending events related to your career or industry can be very time-consuming, that is the truth. However, if done properly it can be a great source of job opportunities. My recommendation is to get out there and meet new people, you never know what opportunities might be out there.

Networking has many benefits, apart from growing your network, talking to people gives you the opportunity to improve how you describe yourself and what you do, this can help you be ready for the day of the interview.

Learn about the company and job you are after

This is obvious but I have interviewed many people who weren’t aware of the details of the job or even the company when they came for a job interview. This is a red flag for an interviewer, it shows that you either did not have time to do your research which is not a good sign, or perhaps that you just don’t care.

A good way to learn more about a company and a job is to contact people who are already working there. You can use LinkedIn to connect with people who are working in the company you are interested on and ask them about their experience there. You can also go the company’s LinkedIn page first and see if somebody in your network works for that company. Once you connect with someone don’t be afraid to ask questions, most people are happy to answer questions about their jobs and where they work.

Be prepared for the interview

All of the points above are about helping you get noticed and get an interview, let’s review what you need to do to be prepared for the day of the interview.

First of all, please make sure you get there on time and dress appropriately. This does not mean you need to wear a tie and a jacket but instead that you match with how people dress for that job in that company. Dress codes are usually unheard of in software development jobs, but there is still a lot of people out there that will advice you to dress with business attire but I disagree. Most people in this field dress very casual, today’s companies and managers understand that talent and professionalism can’t be measured by how well or bad you dress. Having said that, it doesn’t mean you should wear sandals to your interview. You should still clean up yourself and wear clean clothes with closed shoes preferably but feel free to wear a t-shirt and jeans or shorts if you go for an interview at a tech company where t-shirts and jeans are the dress code. The idea here is that many companies hire for people who are a good fit not only because of their technical abilities but also for their compatibility with the rest of the team.

Be prepared to answer technical questions and maybe to write some code too. After all this is an interview for a software developer position. Nowadays is very common to have the interviewees show her/his code abilities by providing either some coding examples or by resolving a simple coding problem. Be ready, learn the subject and do not be afraid of telling the interviewer(s) when you don’t have a good answer to a question. In most cases, you also need to be prepared to spend several hours or an entire day interviewing many people in a company, this is quite common.

During the interview, show that you want that job, be enthusiastic and alert. You don’t have to be an extrovert to get a job, but when it comes to the job interview you need to show that you are passionate about the job and your career as well. Interviewers are always looking not only for technical expertise but also for personality cues that can help them figure out if you could be a good addition to their team or not. Be you but be enthusiastic, show that you want that job!

A complete online profile

A complete online profile in a site like LinkedIn or even StackOverflow or Github can help you a lot. What this means is that you can use any or all of these websites to enter details about you and your technical expertise and professional interests as well. Having a complete and accurate online professional profile opens the possibility of getting a job at companies you are not even thinking about, without much work and just by communicating what you are all about and your skills in any of the websites mentioned above.

Make sure the information you share is valid and avoid posting childish or stupid stuff online, it can affect you and be assured that many employers search as much information online as they can about potential candidates.

That is all for now, if you have other tips that can help people find a software development job please add them to the comments below. Feel free to reach out to me directly, ricardo-at-ontechies-dot-com, with ideas or feedback about how we can better meet your software development career and education needs.

Do you like this article? was it useful? please subscribe to our newsletter to inform you of new articles, news, events and to know that YOU are out there!

http://eepurl.com/DLZTz

 

How to become a software developer

How to become a developerA person looking to become a software developer would ideally have a bachelor’s degree in computer science or engineering. If that is you, then you can go ahead and skip to the section about programming languages. However, if you don’t have such a degree and getting one is not feasible then you need to learn about programming and other related skills on your own. With the continuous increase of online courses, programming bootcamps, and coding schools, becoming a software developer is easier than ever before. While none of these approaches teaches you as much as a computer science curriculum, it will teach you the necessary skills to get started, focusing strictly on what you need to learn to start coding efficiently. Some of these programs also help you get a job by referring you to employers looking for entry-level software developers.

A computer science degree is not always necessary

Most companies list a computer science degree as a requirement for a software developer position, but in reality they just want someone with great programming skills, a can-do attitude, your drive, and your desire to learn! Another important step to become a software developer is to learn specific programming skills, and stay up to date with technology.

After you have learned a programming language or two you still need to learn about other things that developers use every day. For example, it is necessary that you learn about source code repositories, version control systems, and source code editors or integrated development environments (IDE) which include many of the tools that you need to design, develop, compile, test and deploy software.

If you don’t have a computer science degree, there are also some great books that will teach you about computer science fundamentals, algorithms, etc.

What programming languages to learn

There are many programming languages out there, so which one or what type of programming language should you learn? my recommendation is to learn one static and one dynamic typed programming language. Don’t know the difference? you can read this for details about the difference and it is very important that you know it if you want to become a software developer. C# and Java are popular examples of static typed programming languages while Ruby, PHP and JavaScript are popular examples of dynamic typed programming languages.

There is also the difference between what is commonly called a back-end vs. front-end developer. A back-end developer usually refers to someone who mostly works with the back-end of an application, the stuff that the end-user does not see such as data persistence, systems integrations, etc… while a front-end developer will mostly work on the user interface (UI) which is composed of the parts of the application that end users see and interact with. Another way to think of it is, a back-end developer will spend his/her time working with technologies such as Java, PHP, Ruby, .NET while a front-end developer usually works with HTML, CSS and JavaScript.

We described the back-end and front-end developers, but there is also the full-stack developer type which basically is an individual that has experience with both back-end and the front-end programming. Being a full-stack developer increases greatly your chances of getting and negotiating a well paid programming job.

Learning to code

I have good news about this, programming is one of those skills that if you have the motivation to learn it, then you will. Many people today are working as software engineers without a computer science degree and that is OK. Many software developers are self-taught and many others are people who choose to change careers and either learned by going through online computer classes or attending in-person code bootcamps. Below is a list of resources that I recommend you look at if you are serious about learning to code and become a software developer:

There are also programming bootcamps and coding schools that you can attend in your city, just do a search and you will more likely find one of these coding schools in your area.

Become a software developer

This is a topic that I will write about in more detail in an upcoming post. In the meantime I can recommend getting some exposure and experience by creating your own software project from scratch to challenge you to use what you learned. Also, take a look at open source projects out there and consider contributing to at least one of them. This helps you not only to work with a real project but it also exposes you to reading code written by talented developers all over the world. There is also the added benefit of collaborating with other developers all over the world which is always fun and a good learning experience.

Below is a list of some websites where you can find open source projects that you can start looking at, playing with and even contributing to today:

Becoming a software developer is not an easy task, but it is also not too difficult if you have the drive and the motivation to do it. Also the earning potential is greater than many other careers and the fact that you can get a job without a specific college degree and learn it in a relatively short period of time is really great and an awesome opportunity.

Do you like this article? was it useful? please subscribe to our newsletter to inform you of new articles, news, events and to know that YOU are out there!

http://eepurl.com/DLZTz