Challenges for a New, Young Developer - Part 3: Preparing for a Career

Introduction

The crowd is cheering with raucous applause and congratulations as you ceremoniously accept your proffered, hard-earned degree from university faculty. Your friends and family are there in the audience, cheering you on and celebrating your success and future. Years of studying, cramming, late nights… friends lost, new acquaintances made… doors opened, and paths forgotten. All for this moment. From this moment on, your life is forever changed as you begin your path to the future.

For recent college graduates that majored in computer science or software engineering, this is where you’ve probably hoping for those big paychecks that average salary by profession told you to expect. However, as I mentioned in a previous post, it is not just as simple as walking into a well-paying job for younger developers. You still must stand out, work hard, and never give up.

For the sake of this post’s conciseness, I will assume that the younger developers for this topic to be recent graduates who are having difficulty finding jobs. Some of what I say here will echo my previous post, but with a more fine-tuned perspective.

unsplash-logoVasily Koloda

Challenges

Firstly, for new graduates, congratulations! All that studying and hard-work has led you to this moment. If you are like some other younger developers, you may have been unable to get an internship or job experience while you went to school. Whether it was because you had to focus on classes, couldn’t sacrifice an income-earning position for an unpaid internship, or had difficulty standing out amongst fellow developers, you are not alone in your situation.

Thankfully, since college is now a thing of the past, time is not as scarce. Time absolutely needs to be spent learning skills that are in demand. As I discussed previously, not all subjects that a new developer will need to know are taught in the classroom.

On the topic of unpaid internships, I have always subscribed to the following belief: Do what’s required to advance within a career, but do not pursue it recklessly. Basically, do not take a position that will not pay unless willing to sacrifice the time spent. Yes, the experience you could get in an unpaid environment could still be valuable, but never risk financial security or viability for it. As much as some might find hourly wage work such was food service or retail demeaning or beneath them, it teaches invaluable lessons such as humility, hard-work, and a perspective unlike other job industries.

Many developers are introverted and, thus, might find it hard to make themselves stand out amongst the crowd of other developers. This is a two-part issue and, unfortunately, cannot be remedied quickly. The first part to standing out and being visible through networking and job applications. The second part is making sure that, when the opportunity arises to be seen or considered for a job, the right skills and experience are listed.

Networking, according to the Merriam-Webster dictionary, is the exchange of information among individuals or groups, specifically to produce relationships for employment or business. Thankfully, this is the right stage in a young developer’s life to be thinking about networking. Prospective developers need to look up all those students that they were in classes together, try to get letters of recommendation from helpful and reputable professors, and get connected with their university’s career services.

unsplash-logoThe Creative Exchange

Uncertainty

At this point in the career of a hypothetical young developer looking for a job, it can be very disheartening. Sometimes those on the job market, young or old, will run into situations where they have experience and skills but not hear back from recruiters or job applications. Nothing is worse than being turned down or ignored for a job that seemed like a perfect fit. Unfortunately, and many in the working world understand this well, the best candidate is not always the selected candidate.

Another problem that young developers can find themselves in is a lack of references or networking acumen. They see others able to get jobs, but unfortunately they are not able to. This is common for graduates who focused on doing their best academically and spent less time on post-graduation and career plans. For these former students, they must be able to pave their own future without the benefits of a strong career network within their industry. Through a combination of hard work, putting themselves on the market visibly, and practicing in-demand skills, new developers can start a career.

Market visibility, when it comes to being on the job market, is heavily dependent upon candidate’s social networking. For some developers who are typically introverted, this can be difficult. Thankfully, there’s a few things that can be done as a new developer to curb this:

  • Leverage alumnus status. Connect with former professors, other graduates and students, and visit the career services page. Many universities have career portals specially made to help graduates start their careers post-graduation.
  • Get in contact with everybody you know and would want to be associated with AND connect with them on LinkedIn. Whether it was a contact made during a job fair, an obscure group project member who was a contributor, or a reliable former co-worker, get in touch! The larger the network on LinkedIn, the more visible the profile can be based off LinkedIn’s connection graph algorithms.
  • Search for recruiters in companies of interest. While it could be a longshot, these recruiters love to make connections. Making a connection early on in a career can help in the long run, especially if in need of a job, helping a friend, or starting a business.
  • Make an Indeed and Dice account. These two sites are invaluable for offering a centralized location for employers to post jobs to prospective developers. Indeed is used primarily for long-term jobs, whereas Dice is a great place for finding short-term contract work.

unsplash-logorawpixel

Nothing hurts more than having a large network of connections but being unable to capitalize on it. Thankfully, the way that many recruiting, headhunting, and human resource staffing agencies work are entirely based off technical SEO keywords for developers. This means that the more an online profile, cover letter, or resume speaks to specific technologies, the easier it can be for a developer to find a job placement. Furthermore, the location of where these skills is of vital importance. Recruiting services often must sift through hundreds of resumes when determining a selection—developers ought to make it easier (and, thus, make themselves look better) for them by placing their skills near the top. For example, a typical Java Developer should do something like this:

  • Place a "Skills" section in a resume at the top of the page. Statements like “Experienced in Java 8 Object-Oriented Programming (OOP), Hibernate Object Relational Mapping (ORM), MySQL, JSP, HTML5/CSS3, and Tomcat,” are sure to register on recruiter searches.
  • Within each experience field, list direct responsibilities in a similar fashion to how job posts are written. For example, take a recent developer job post from Indeed, analyze it, and re-write the statements to fit past experiences.
  • List open-source projects or programs, along with a link to them. This is the best bet for developers without job experience. When describing the projects, be sure to include the SEO keywords so that those skills can be tied to an actual deliverable.

When it comes to interviews, developers possibly have the largest range of possibilities in which to expect. Many of the types of interviews a young developer could expect are heavily dependent upon the corporate industry they applied to, the interviewers’ technical acumen, and the company itself. The good news is that all these factors still can be addressed using the STAR method in an interview. This interviewing method deserves a post in of itself, but, to summarize:

  • Situation – The interviewer needs to be put into the context and scenario that an applicant developer was facing. Perhaps it was taking on a lead role in a large group project at school, where the re was a mixture of new learning and managing. Perhaps there was a time crunch, and hard decisions had to be made.
  • Task – Interviewers like to see that an applicant was driven to solve a goal for a purpose. This shouldn’t just be the applicant telling the story and why, there should be some passion behind the words as well.
  • Action – This is where new developers tend to feel comfortable explaining as it involves technical actions they had to take to solve the task. The trick to this is to be as thorough as possible, yet not get into too much of the details. Remember, applicants should not overwhelm the interviewers; rather, an interview should feel like a mix of a story being told and a sale pitch being made.
  • Result – Questions need to be answered concisely, but the best answers are those that are finished strongly. Applicants must describe the outcome of their direct actions. This is another area where developers who show passion in the work they do can stand out.

Closing Remarks

To summarize, networking is an extremely important part to starting a developer career. Without it, young and inexperienced developers can struggle for years without being able to find a job. Mastering how to properly network can be the difference between barely getting by financially in today’s economy and being economically stable. It can be hard for upcoming developers to realize the importance of networking due to stringent academics, but it can not be forgotten. Lastly, networking is a subtle constant for a developer’s life. Neglecting networking may have an unnoticeable effect; however, nurturing one's network of connections can lead to a prosperous future.