There is one month left till the end of my internship. Because of that, I am going to talk about my future career goals in this post.
I am sure that programming is the most enjoyable career path for me. Now I have experience in Java, React, statistical analysis, database programming and would like to improve these skills. I also am open to a new experiences, ready to learn something new, but It should be related with IT (programming or data science). Later I would like to master Android, React Native and Big Data. After my internship ends, I will be looking for any programming job, or even another internship. My favorite type of job would be remote, but as my level is junior, I know that I need a lot of guidance and sometimes being at the office. If I do not succeed finding a remote job, I would be ready for a full time job, even moving to another countries. I speak English, Lithuanian, Russian, Italian, also learning German, so It would not be a problem to live in another country. My personal skills that helps me programming – is my patience, responsibility, ability to find information independently, willingness to learn.
In the first half of my internship I learned how to write Java integration tests, also I did a front-end for the web page with React and learned to connect it with Java Spring back-end. I faced a lot of issues but thanks for my mentors (and for Google) I resolved them all successfully. Now I am writing documentation for our app.
My primary plans for these two months were totally different. I was thinking to start with Java, secure app login and logout, then do testing, and finally – front-end design. But my mentors suggested to begin with testing and they were right. It helped to find and fix many bugs and avoid problems in future. Even after finished writing tests, I could not take my planned Spring security task, because I realized that at first we need nice front-end login/logout form. I started to remake our existing Java front-end with React. Before my internship start I was thinking that it will be very easy to remake all front-end with another programming language, but for me it took almost one month. In my opinion, web page design Is never ending task. You may always find what to improve here. My internship timeline has changed, but I still hope to finish all my planned tasks.
I am intern developer at Apache Software Foundation. Apache is very well known non-profit corporation, which produce free and open-source software. It has created lots of free software libraries for back-end and front-end programming, for databases, big data, testing, servers, file transfer, security and more. I am contributing to an Apache project Petstore application which is meant to demonstrate how you can use Apache Juneau library together with such JAVA technologies as Spring Boot or Spring Data. Apache Juneau is used in JAVA applications, for memory-efficient serialization and safe parsing. My internship goal is to improve Petstore application: to make it more secure, bug-free, user friendly, and visually attractive. Contributing to this project requires to use my JAVA, Spring Boot, Spring Data, Maven, React and Git skills. So it helps me to grow as a full-stack JAVA developer.
Now I am Apache Community intern, a programmer, working with a JAVA Spring project. Before my internship start I was thinking that everything is going to be so easy, that I will have not too much tasks and will have plenty of time to finish them. My first task was to write Mock test class for a JAVA Spring program using Apache Mock Rest library. I did not have much experience with integration test writing but I am always optimistic when dealing with new things. My first thought was: I will google, I am going to find some examples and will do it. But unfortunately, I found only one documentation page and one simple example how to use this library. I started from this example and I faced a problem that an example doesn`t work. I didn`t want to bother my mentors, but after having spent about a half day googling and trying to solve an issue, I asked them for a help. And it turned out that the problem was not in my code, but in a documentation. I would not have found a solution on my own. Every part of programming tasks consists of smaller or bigger challenges, especially when you are a beginner. You might often fell confused, lost, but after solving one problem, then another, you gain more self confidence. Your mentors doesn`t expect you to complete task in a day and your code to be perfect. Without making mistakes you cannot go forward. The most important step here is to start from small, to do what you can do at this moment. Then to ask for a mentor how you can improve it. After some time you might realize that what you have done a week ago was totally wrong. But that is a good sign – you have learned a lot.
Two years ago I started my journey on becoming a professional programmer. I finished coding school, took online courses and later had a programming course in a vocational school. After finishing vocational school I got my first internship as a JAVA programmer. Since then I have been searching for programmer job or another internship. I was invited to some interviews and did many trial tasks, but I did not succeed. Companies searching for a junior or entry level programmer expect them to have really high skills or at least to have university degree in IT. In my country the demand for JAVA junior developers is quite low. There are a lot of programming schools in my country and a lot of people trying to change their career into IT. So the competition here is fierce.
After many failures to get even an internship I decided that I should not limit myself to one country and that I can try getting a job or an internship abroad or even work remotely. After some time of googling, one interesting post in the Internet forum Freecodecamp.org grabbed my eye. It was about an experience participating at Outreachy remote internship, which is paid and where you get an opportunity to work for such well known companies as Mozilla, Apache and others. I realized that it could be an amazing opportunity for me also. I was very fascinated and immediately filled up the application form at Outreachy.org. I had to answer some questions about the difficulties and discrimination I face trying to become a professional in an IT field. I could easily recall situations when I had heard what programming is a men`s field or I was not accepted to an IT internship because I am not student, so not able to sign three-part contract.
When filling the form I was not confident in myself, worried if my written thoughts would be clear enought and understandable. What is more, I thought that other people could face much more discrimination than me and I have only small chance to be accepted. Luckily, after about a month of waiting I got a letter from Outreachy notifying that my initial application was approved and I am accepted to the second round of the competition. After a month of hard work in Apache Juneau Petstore project and another month of an evaluation, Outreachy accepted me as an intern at Apache community.