3 weeks passed since my last update post. Here is a small update

  • I finished the Java for Complete Beginners. It was a nice introduction to Java.
  • Udemy course: I went through the parts about control flow statements, Classes, Constructors, Inheritance and I am in the middle of the part about Compositions.
  • There are some challenges to do after each section and the course is quite robust. I’ve checked more closely the next sections and so far there is no need to go to other resources. The challenges require me to test my knowledge and are well done.

Hello World!

it’s only 10 days since the last post, you might think. I find the idea of updating my progress through the blog posts encouraging and a it might help me to self-reflect on what I’m doing. I’m my only coach right now. Let this blog be my second one 🙂 Oh, right! There are some friends who I talk with about becoming a developer and who work in the field. There is more than just the two of us!

  • I have 1 video left on the Java for Complete Beginners course! This took some time, because I had to go through all the new concepts, especially the ones about the Data Structures. I can’t say that I’ve mastered everything. I can say that I know so much more compared to the time before the course.
  • I didn’t make much progress to my surprise on the Udemy course. I have to work harder on it!
  • I watched some videos about the Spring framework
  • I checked job offers for what is required of me when I will be applying for jobs, I now have much better of an idea
  • I watched a video outlining specifically what is required for getting that Java developer job. Basically knowledge of one programming language (Java) and and how to use it + all the bonuses that make me a better candidate like knowledge of Git, design patterns, relative databases, TDD, knowledge of HTTP protocols, REST services, clean code, solid, HTML, CSS
  • I decided what my leading project will be to finish till the end of October, which will allow me to practice all the concepts required of me when I apply for jobs: songs database stored on the server with a website client. Like a smaller version of Spotify, where I will start with setting up a server, database and making it possible for a client to manipulate that database. Then I can try to add functionality like storing music files and playing them.

 

Hello!

Here is a quick update on my progress with learning Java.

  1. I have 5 videos left out of about 70 (88% complete) on Java for complete beginners course on the caveofprogramming. I’m going through it thoroughly, typing code myself, testing things out myself too. Right now I’m about to finish the part about data structures which I have to say I enjoy a lot. I get to learn a lot of relevant, new things every day.
  2. I’m also doing Java Programming Masterclass for Software Developers (56/402). While tutorials on caveofprogramming are already quite old, this course is newly made. What I absolutely love about it, is that like 80 – 90% of time I spent so far on all the different coding challenges instead of watching the videos.
  • my plan is to try to finish above mentioned courses by the end of July and then go on onto making my own projects.
  • to further better my skills I will get some experiences programmer/coach to look into my code and give me some tips, correct my ways of doing things each week.
  • I would like to have some projects done by the end of October and then start applying for my first programming jobs.
  • I want to find a job by the middle of February 2020.

I’m literally counting days everyday by the time I have to get done some projects to show on my resume and till the time I have to find a job. This is serious 🙂 You can find updates on what I’ve done on my github page.

Hello World!

100 days of code

I’ve been doing #100DaysOfCode and managed to reach day 50. Noting down progress every day and sharing it on social media is very helpful while learning a new skill. I reached only the day 50, since I didn’t write the days that I literally did nothing. You can find my #100DaysOfCode notes here.

HTML, CSS, JavaScript, React and… Java

I managed to finish about 200 out of 307 lesson on Udemy course: The Complete Web Developer in 2019: Zero to Mastery by following the lectures and doing the challenges. When I reached the lessons about React, it finally came to me that I don’t like Front End Development enough to make it a center of my future career. Having to deal with arranging graphics on the website and some other more design related things were just making me feel miserable. That was one of the reasons I didn’t spend as much time on learning as I would’ve liked to.

Coffee time

After some consideration, consulting the internet, few of my friends, doing research on the job market and bringing up my past experiences during the university, I came to the decision. I will learn something that my data and excel spreadsheets loving brain can grasp easier. I was considering C# and Java, in the end making a decision to go for Java. C# is still bound to Windows OS, which I rarely use.

New Goal

My new goal is to get a job as a Java Developer by the end of this year. I will use all the means I have to reach that goal, with simple self-learning at the base of it. I’m even more determined than before. Since the time I first wrote on this blog I came to love to travel and I need to find a new job to be able to do more of it!

A great way to feel more inclined to learn programming is sharing your progress within a community.
 projects are meant exactly for that.
Every day for 100/301 days tweet your progress publicly. Just seeing how people like, share, comment your posts every day will help to get you moving forward.

Check their respective websites: https://www.100daysofcode.com/ and https://301daysofcode.com/

The short and sweet answer is: whenever, wherever, however you can.

SoloLearn

What I mean is that you can use the commute time to your work by coding on your phone or learning with applications like Enki or SoloLearn. It’s a very good learning experience!

When you are at home and have 10 minutes of free time – use it! Do that next exercise on FreeCodeCamp or change one line in your current project. Reread and better understand the code of some project one more time.

What you will find is that your attitude matters a lot when trying to attain a new skill. Don’t hesitate, don’t think too much. Just use every opportunity possible to move forward. Once you don’t hesitate to use a small window while riding a bus to learn more, you won’t hesitate to spend 3 hours on the weekend too! Stop doing some progress. Start doing as much progress as your current life situation allows you to. Not only you will learn, but you will be energized, positive and look forward to doing more each day.

Thoughts -> Words -> Actions -> Habits -> Character -> Purpose

Thoughts turn into words, words turn into actions, actions turn into habits…

When you decide to sit idly when you could be learning, you lose much more than some time spent on learning. You consciously decide that it’s not that important and you are fine as you are. You resign, when you don’t need to and tell yourself that your goals aren’t that important. When you decide to use that moment instead and put more effort, it builds up. You become serious about it and the results are sure to come.

Happy results in the new, 2019 year!

I had some trouble with understanding how the cubic-bezier function works while going through the tutorials on https://freecodecamp.org. My answer is based on the previous answer by eirenaois on StackOverflow.

1. Bezier curve is based on four points: P0, P1, P2, and P3. P0 is set by default to (0, 0) and P3 is set by default to (1, 1). These are the beginning and the ending of the curve and you can’t change them.
2. The curve will stretch differently depending on what coordinates you give for points P1 and P2.

In the example above P1 is set to (0.1, 0.1) and P2 is set to (1, 0). The speed of the animation depends on how much does the state change per given amount of time. In this example, the animation gets faster with time. For the first half of the time used for the animation, it will cover about 15% of the distance (when Time = 0.5, State ~ 0.15). It will cover the remaining 85% of the distance in the second half.

Please check the example in jsfiddle to see how the animation works in practice: cubic-bezier ball animation

HTML:

<div class=”ball”></div>

CSS:

  .ball{
background: red;
border-radius: 50%;
position: fixed;
width: 50px;
height: 50px;
top: 50%;
animation-name: bounce;
animation-duration: 4s;
animation-iteration-count: infinite;
animation-timing-function: cubic-bezier(.10, .10, 1, 0);
}

@keyframes bounce {
0% {
left: 0%;
}
100% {
left: 100%;
}
}

In the example, the ball moves from the left edge of the screen to the right edge over the course of 4 seconds. Keyframes are there to set where the animation should begin and end, animation-timing-function: cubic-bezier() to set the speed of the animation at different points in time.

You can find the CSS cubic-bezier Builder here.

Hi,
just a quick update of what’s happening in my life!

I’m quite busy both with work, university and recently joined one on one language lessons after a trip to Japan.
Does any of the above have something to do with web development? In fact, it does.

Going a year back in time I did nothing of the above (no job, no university, no language lessons, living with family – I know don’t live at my family’s place, not even a trip which I wanted to do for a few years already). I hope that one of the successes in the next year will be starting a job as a web developer. I find myself doing more and more things of interest to me and I hope that posts that I will write in the next year will be of technical nature too, around the theme of this blog.

My current job in sales in an IT startup, where I work directly with developers (they sit just next to me), strongly boosted my interest in programming and gives me a real taste of what it is like. To be honest I wanted to work at least some time in sales before getting a job as a developer and that’s what I’m doing. Even better, working in sales in a software company! I strongly believe that developing communication (and sales) skills now, will be crucial for my life in the future and it greatly boosts my confidence over time. Hopefully, it will help me to get into a good company later on, but on a different position. And most of all, improve as a person.

Till the next year!

I’ve recently stumbled upon a website that I would like to share with you.
I absolutely love such short and sweet introductions to any topic. This small website turns learning CSS selectors into a game. Check the image below.

CSS Diner

CSS Diner

You can learn in 30 – 60 minutes many interesting ways to select elements with CSS. I didn’t even know that many of those exist. Using CSS selectors you go through 32 levels, selecting items mentioned with CSS selectors. Each level introduces a new way to select with CSS. Enjoy!