Hello, everyone! I don't have to tell you how difficult it is now to get a job as a programmer when you don't have experience. Competition at the "no experience" level has grown significantly lately (primarily due to websites such as CodeGym, and other online courses). The upshot is that it is becoming very hard to stand out among the masses of graduates of various online courses. And the challenge isn't to do well at a job interview. The challenge is just getting a job interview.
How can a CodeGym graduate stand out from the crowd of job seekers?
I'm not going to write about enterprise technologies such as Spring and Hibernate, which are obviously essential for a Java dev — you will be very hard-pressed to find a job without knowing them.
Below are 5 recommendations for novice developers looking to find work. Each of them will definitely boost your resume's score.
The reason is simple: JavaScript does not currently have a serious alternative for frontend development. If you master "pure" JS and one of the popular frameworks (mainly, React or Angular), your chances of becoming a programmer will MULTIPLY.
First of all, any company looking for a Java developer would be thrilled if candidates also knew JavaScript. The reasons are quite simple: projects very frequently include small tasks, e.g. fixing some features.
"Button A should be called B, not A; should be located on the left, not the right; and should invoke the backend's X function, not Y".
But in this case, the fix affects both the backend and the frontend. And even if the task is super easy, solving it still takes two people: a backend dev and a frontend dev. But if someone on the team owns both (even if not at an expert level), far fewer resources are required to handle such tasks.
Second, job openings for junior developers and interns are more common for frontend developers than backend ones.
All in all, JS is your serious chance to get your first job. Getting a job as a Java dev is fantastic, and JS is never superfluous for Java devs. If you aren't able to get a Java job, which is certainly a possibility (many cities are completely saturated with vacancies), you may be able to get into IT through the frontend. I remember reading a CodeGym "success story" written by someone who, after studying here, went into frontend development.
1. Learn JavaScript
Today JS is the programming language most sought after by employers. The HackerRank portal surveyed companies regarding their "Wishlist". JavaScript was requested by employers more often than any other language.
2. Learn to write SQL queries
SQL might seem no less obvious than Spring and Hibernate, which I did not include in the list. In fact, there is a difference: a large number of developers have a superficial knowledge of SQL queries: they can write "SELECT * FROM table_name", or join a couple of tables. I recommend that you thoroughly master them, and don't be shy about mentioning this in your resume. In the past, several of my colleagues had jobs where they had to write a lot of SQL queries. When they decided to move into Java development, these skills made them very attractive. And in a Java dev, of course, it's a very useful skill to have. I regularly turn to them for tips :) You can start by reading "Head First SQL". Then just select one of the popular DBMSs (Portgres or Oracle, for example) and read a couple of books on it.3. Create a GitHub profile
After your resume, your GitHub profile is perhaps the most important thing that a potential employer will pay attention to. A profile with several working projects will definitely attract additional attention. What's more, "GitHub analyzers" are becoming more and more popular among recruiters. These are special programs that scan the code stored on GitHub in order to help companies find developers with the right technology stack. If they need someone who knows Spring Security, the program crawls over GitHub, selecting users whose repositories contain code that uses this technology. In the beginning, you obviously won't have anything particularly special to boast about, but you can start filling your profile with CodeGym's "big tasks".If you've learned ReactJS/AngularJS and created a couple of one-page applications, put them up there too. Everything you've created works and an employer may be interested in checking out your GitHub profile.4. Get an Oracle certification
CodeGym's creators won't let me lie to you: the most common question they get from potential students is "Do you provide any certificate when I graduate?" They don't hand out Java certificates for a simple reason: employers aren't interested in them. They are entirely capable of verifying what you know and what you can do during an interview, without any certificates from online courses. That said, a certificate from Oracle is different in that it is an official confirmation from Java's creators that you are fluent in the language. Such a certification is a serious advantage for outsourcing providers, i.e. the folks who "rent out" their developers to other companies to work on external projects. For example, suppose some bank needs to create a new web client. Maintaining its own in-house horde of developers for this isn't profitable — for a one-time project, it's easier to find an external team. In such cases, businesses turn to an outsourcing provider. They will hire people with the skills required by the bank and form a team. That said, the customer must understand that it will pay (a lot) for really smart developers. This is where Oracle certification will be your advantage. After all, it is the only way to confirm with a piece of paper that a Java programmer is qualified. In other words, an outsourcing provider can much more easily "sell" a certified developer to its customers. Oracle certifications come in several tiers. Getting the first level (OCAJP8) will be very easy. The exam has questions about just 8 topics:- Java Basics (variables, packages, the main() method, etc.);
- Working With Java Data Types (primitives, references, wrappers);
- Using Operators and Decision Constructs (+-*/, if-else, switch, etc.);
- Using Loop Constructs (loops);
- Working with Methods and Encapsulation (methods, encapsulation);
- Working with Inheritance (inheritance);
- Handling Exceptions;
- Working with Selected Classes from the Java API (popular classes such as LocalDateTime, ArrayList, String).
GO TO FULL VERSION