Hi! Here we talk a lot about how to get your first job, what you need to study, and how you need to behave. That's all well and good, but what do you do after you get your first job? Can you relax and simply go with the flow? Nope. Being a professional programmer means that you will continue to learn. A lot. A lot, a lot. So today I would like to speculate a little about areas of further personal development after you receive the coveted first offer. Let's go.
1. Deepen your knowledge of basic topicsTo get your first job, you probably already learned Java development basics. Do you think this will be enough? No, no, and one more time, no. The difference between experienced developers and green newbies is their depth of knowledge. The areas of knowledge seem to be the same, but the senior developer can explain nuances that you don't even know exist. On the one hand, you can say that everything is about experience. An experienced developer is said to be one precisely because he or she has already bumped into everything many times. That's why he or she knows it all in such detail. That's true. But only partially. In addition to gaining constant experience through coding, developers also study theory by reading articles and books and watching videos. I would like to note that the theory you choose to study needs to be stuff that will truly expand your horizons on the topic. If you immediately start an inordinately deep dive into a topic that you only know very superficially, then what will you end up with? NOTHING. That will be nothing but a waste of time, so choose your theory wisely.
2. Obtain certificates (Java, AWS)Many courses now issue certificates when you complete them successfully. But let's be honest. Not every company cares and looks at them. That said, there are some certifications that are important and can set you apart from the pack. I'm talking about Java certification from Oracle and AWS (cloud services). For example, Java certification is provided by companies endorsed by Oracle. These companies create Oracle-approved conditions for testing skills. In fact, that's why these certificates are internationally recognized. AWS certification follows the same principle, but focuses on learning AWS technologies. Of course, it isn't just the "piece of paper" that matters here, but also the level of knowledge that you acquire as you prepare for the test. If you have a certificate, you are unlikely to be stumped by questions about this technology.
3. Study popular technologiesInformation technology is constantly moving forward. If you are already in IT, then you'll need to adapt. What you learned a year ago may become irrelevant tomorrow. This is totally normal. A developer's main superpower is the ability to quickly absorb and assimilate new material and forget the superfluous. This means that if you want to remain relevant, you must constantly monitor the situation in the field. For example, technologies like Kubernetes and Docker are currently in demand. AWS technologies are also now very popular, and the use of the Kotlin language is growing rapidly (it is gradually starting to gain market share from Java).
4. Dive deep into a specific technologySome experienced programmers become professionals in one technology. There is a lot of information out there, even just in the area of Java development, so it is impossible to be a guru in everything. Why don't you also choose one in-demand subject (a technology or framework), for which you will become an absolute master who knows all the shadowy nooks and crannies? If you do this, you could become a very valuable specialist for your company. During the interview new candidates will be brought to you to check their proficiency in your area of expertise. You'll also be asked to review projects that use "your" technology and give advice (provide comments) on how to use the technology more efficiently and correctly. As a rule, companies want to have access to specialists like this. If you tell management about your desire to immerse yourself in any technology, they will certainly help you choose the right one (usually the one currently in demand at the company) and find a mentor at the company. For example, I was offered to undertake a deep study of Camel, since several customers were Java developers with this particular skill. Sure, this technology isn't entirely new, but it is in great demand, and if you're a strong Camel specialist, then you won't be lost in the crowd in the labor market: employers will bend over backwards to have you. Unfortunately, at the time I was busy pumping up my English and adapting to a new project, so I declined. There are various technologies suitable for a deep dive: from Spring as a whole to specific Spring frameworks (Spring Security, Spring Cloud, etc.), or AWS, and so on.
5. Learn a new programming languageAnother possibility for further professional development is to study a second programming language. Here I see three options:
- A helper language that is often encountered in Java projects. For example, Groovy, which is used to write various supporting scripts, or Python, which is often coupled with Java (at least, I come across it quite often).
- Learn a language that grew out of Java. For example, Skala or Kotlin. These programming languages are now gaining immense popularity and are even beginning to squeeze Java itself out of the market a little. Maybe it's time to get on the bandwagon? Many foundational principles flow from our beloved Java, but there are many innovations and fixes for Java's shortcomings.