We made a decision to change our logo. The new one illustrates a phoenix, a mythological bird.
We really liked the previous logo, but Kt. Academy is no longer only about Kotlin. We have great trainers teaching best practices, .NET, A/B testing and many more topics. Kt. Academy is a platform where we connect the best teachers with companies that benefit from their teachings. It is also a place where we would like to share the best content consistent with our mission to teach programming. So a logo that is so strongly connected to Kotlin does not suit us best anymore.
What about Kotlin?
We still love Kotlin, and we will continue teaching it. We continue being a JetBrains partner, and nothing changes in our relation to this great language.
The symbolism of Phoenix
Phoenix is very symbolic. For us, it represents deep learning. When a hero learns his most important lesson, a big part of his personality needs to die, to make a place for the new teachings. This is why the phoenix dies and is reborn. When you learn new technology, you must stop using the old one. When you learn a better way, you need to stop doing it the old way. If you want to truly learn, you must be ready to let go of whatever you already know. For us, this is the essence of learning, and this is why a phoenix became our symbol.
There are more symbols there. One is fairly obvious — you might notice that the shape is similar to a heart. It is because we care about others. We are not like a typical business — optimizing for income. On the contrary, we want to share knowledge and help to develop. This is our mission, and we follow it because we care.
Logo on website
To have a sneak peek at how our website will look like with it, check out this link.
Here’s a shortcut of what you’ll find in this newsletter:
✅ 2 articles that are part of the Effective Kotlin book: 👉 Use sealed classes and interfaces to express restricted hierarchies 👉 Prefer class hierarchies to tagged classes ✅ Kotlin Collections vs Sequences in just 5 minutes by Monika Kumar Jethani ✅ Refactoring to Clean Code open workshop info
If you want to know what tagged classes are and why we should use class hierarchies instead of them, read this article 👇 Prefer class hierarchies to tagged classes It’s part of the Effective Kotlin book written by Marcin Moskała.
After a little break, we’re coming to you with some new content and exciting news!
✅ We’re now updating the “Effective Kotlin” book and publishing some of its items on our blog. ✅ There’s a new login system and user profile on the website. ✅ We’ve added consultations with experts to our offer! ✅ New workshops are here! ✅ Quick info for our Polish audience.
It’s a general OOP rule to prefer composition over inheritance, but Kotlin encourages composition even more. You’ll learn more from the article “Prefer composition over inheritance”, which is a part of the “Effective Kotlin” book written by Marcin Moskala👇
To make our website more intuitive and easy to use we’ve created a new login system. From now on you can log in with only 2 clicks and manage your profile and preferences from the new panel.
If you are interested in any of our workshops simply visit our website and fill the proper form, or if you have any other specific needs, feel free to contact our consultant at firstname.lastname@example.org or call the number +48 512–442–052.
To our Polish audience 🇵🇱
If you want to help to improve this content leave us your comments using a small chat icon on the right side 💬 or become our reviewer by filling the form at the bottom of the article page ⍰
Also, to keep up to date with all the content in Polish, you can follow our new Twitter account — Kt. Academy PL.
Nowadays, because of the quarantine, many people cannot do their job. They have a lot of time, but an uncertain future. In that time, programmers seem to be doing great. Not only we can do our job remotely perfectly well, but also demand for our services grew. Willing to help those in need I decided to do what I do best: write to help people learn to code. So here is your practical plan on how to learn programming in 9 months.
Over the last years, the most common question I was asked was “How to become a programmer?”. It forced me to think about that question again and again. My personal experience is not very helpful here, as I started learning programming as a small kid. Though over the last years, I could observe and help quite a few people starting this path and becoming a developer without any background. It includes three people that are really close to me. This experience and discussions with them let me see what worked and what did not. Now I feel I have a good picture of how one can effectively become a developer.
How long does it take?
For most of the people I observed, it took around 9 months to get the first job as a developer. Nearly all of them had some job at that time and so they couldn’t commit fully to the learning, but they all treated learning very seriously and spent practically every spare moment. I would estimate that most of them spent at least 30 hours a week of learning. This rough estimate sums to around 1000 hours of learning. This is a huge investment. It is worth it, but only if you treat it seriously as your future career.
Is it fun?
Coding is a lot of fun if you learn it for yourself. As a student, I had a lot of fun with coding challenges or funny projects. Though such a way would require much more time. Many people finish studies as a Masters in Computer Science, and yet they are not prepared to start a real job. They still need to learn certain tools that are used in real-life projects. When one learns to get a job as a programmer, he or she needs to concentrate on those tools. Looking at my friends, it generally isn’t a fun experience.
I would like to say that programming is fun. I love it, and those who I observed have developed a love for programming over time as well. It was generally when they finally had their programming position. But the time when they were learning wasn’t fun at all. And the moment when they were searching for a job and sending their CV to every company in the city was for nearly all the people I observed, extremely stressful and hard. It wasn’t a fun time. Although, in the end, they are all happy and proud of the way they passed.
I see no reason why someone shouldn’t become a programmer. It is hard at the beginning, but in the end, it always pays back. Marek — a friend of mine who passed that way.
Ok, I decided. So what’s the plan?
If you want to become a developer as soon as possible, you need to concentrate on a single position and get all the requirements. This is the plan:
Choose your career
Lay on foundations
Follow step-by-step tutorials
Start independent programming
Build a portfolio
Start applying for a job
Choose your career
This is a topic for another article as there are many possible career choices and each of them has some characteristics. What you need to find is a concrete job position type you want to apply to (you can search in your local job offers and look at what is common programming job position companies are looking for). On the end you need to decide:
What kind of development do you want to do? (backend/frontend/Android/iOS/desktop/game/data science/data engineering/operations/analytics/…)
What framework do you want to use? (Spring/Ktor/Django/React/Angular/Vue/Android SDK/iOS SDK/Flutter/Ruby on Rails/Symfony/Laravel/…)
A few popular and easy to start career choices are:
Backend development in Python using Django
Android Development in Kotlin using Android SDK
Choose what fits you best and what is on-demand in your city.
Lay on foundations
The first steps are the hardest as you need to make your brain very familiar with basic programming concepts and literals. It is like learning to write and read. It is not enough for someone to show you letters. You need to get used to them and learn to use them, and it takes a lot of time. You can start by watching some videos, but you should start writing a very simple code as soon as possible.
For videos, remember to search for courses for beginners. There are many courses designed for developers. They will be too hard for you. You need to lay the foundations first. Also, choose longer videos. You need to take your time. Those are good examples of courses for the beginners: