Posts

Leader vs commander

Image
Did you think sometimes about What is the best manager for you? I think you did it. I think about it too a lot of times. I separate a lot of character and I create my own definition for leader (this is my favorite manager and person) and commander. Commander I start from the commander. I define it like a person who give a task and expect the employee will resolve it. I think this is a good person for old teams with a lot of experience, which like working alone without a manager. That person can't know a domain of problems, can't know how it will be resolved and can't know what are the problems. I think a lot of managers is like a commander. Of course I have maybe only one person with this character, but I heard a lot of stories about these people, so I think they are majority (yes, I am lucky). I think that type of character is very helpful for teams, such I mentioned, have a lot of experience. I think that the person don't must know about something, because it know ...

Why legacy code is better for you?

Image
I have been asked about what will be my best project. I thought about my experience and I got an answer. I want to show you that and my arguments. Why not greenfield? I started a lot of private projects and I think this is the worst way to learn something new. Why? Because we often will use only our knowledge and we only learn something when we have the problems. These problems are rare, because we are working on the greenfield environment. Yes, we have more flexibility and we can use new features, frameworks and other tools, but green field I think is focused to deliver something fast and we don't have time to experiment. Greenfield projects are the best for the rest. We can charge an energy to another project and do something the best how we can, but this is not a good place for improvement. This is like Kata, not like learning. We can improve only skill, but not improve our knowledge. The legacy code Such I mentioned in my post about my mistakes in working with legacy code ...

My fast way to start using new language!

Image
On our job we need to learn new languages. I have been a programmer for 3 years. Now, I am learning python, but I learned JavaScript, Ruby, Java, C#, C++. After each next language I had more experience in learning. Now, I have a system for it and I want to show you it. I don't say it is ideal, but I still improve it every language. The first step is basic language syntax I always start from learning basic syntax. I use for it the website like Codecademy or Pluralsight . I can write very easy code with advice on it. After one course I will know about loops, conditionals, syntax, variables and specific for language things (import modules or something like that). This is a very quick way to start. The second step is practical problems I am looking for challenges to learn more. Now I use for it the codingame website. During resolving the problems we will search how do it in our new language. The learn from the problems is the best way to remember how to use the new language. This...

Why we should use immutable object as a key in HashMap?

Image
I have been asked about why key should be an immutable object on HashMap? I never think about it, but after that question I prepare the answer. When I return to home I check it. Do you know why? The passed test package com . devpragmatic ; import org . junit . Test ; import java . util . HashMap ; import java . util . Objects ; import static org . junit . Assert . assertEquals ; public class TestHashMap {     @Test     public void hashMapTest(){         HashMap<NoImmutableClass, String> map = new HashMap<>();         NoImmutableClass noImmutableObject = new NoImmutableClass();         noImmutableObject.field = "test1";         map.put(noImmutableObject, "test1");         noImmutableObject.field = "test2";    ...

What I want in my job?

Image
Maybe, I am different, but modern style of IT recruiting is not what I want. Sometimes I think I am not a programmer, but a baby who looking fun. What is on job offers? I read a lot of offers. The requirements are more or less the same. The experience in years, English level, know programming language, good communication skill and team player (this is measurable...) and git, Jenkins, sonar or other tools. I often have a problem with these requirements, because when I know programming language or when I know tool? I think I can say I know a tool after watch 1,5 h tutorial, so I can meet a requirement of the job, after one week prepare. Is it correct? Sometimes better is learning new employee that tool. This consumes only the first week of work. Job description is similar on all offers. Thinking, doing and contact with people. I think this all. Sometimes I think an employer looking people who do everything. Benefits are cash, Multisport, private health care, playstation, foosball, a ...

The goal without plan is only wish

Image
Today, I want to tell you about planning our goal. Why we need to plan our goal and what we should do during the planning. What we need to do during the planning? In my opinion, We should ask to three questions. What we want to do, why and how. The answers to that question will be our plan. Easy, right? I think not, because a lot of time we don't know what, why and how. What? This is globally goal. This should be measurable. Why? We should be able to define the end of this goal. Bad example for that is I would like learn English language, because when is the end of this? When I can talk to other people using English? Maybe when I can write posts on the blog using English? I think you understand now. If you want to learn English you should define your goal like, I would like to write an article about goal without a dictionary. I think this is a good goal. Why? A lot of people skip this step. I think this step is very helpful. We will better understand myself or other people wh...

How to increase own knowledge every day and don't go crazy?

Image
Hi everyone. I was in the programming school and the members asked me a lot about how learn that all knowledge of programming? I had a little advice for them. A lot of people start by reading books and documentation. Sometimes they do tutorials. Yes, this is helpful, but it is only for beginners. If you want to learn more, if you want find something new, I have a solution for you, which is not tiresome. This way of learning is very motivating and interesting for me. Local meetup You can rise your knowledge during talk with the experts or aficionados. They like to share its knowledge. They like to talk about solutions, problems or projects. This knowledge a lot of time is unique and you won't get it anywhere else. Meetups are often loose (pizza, beer, talks). That is a good time to talk with more experienced people. If you want to find some meetups in your town, you should start from the www.meetup.com site. Comapny events A lot of corporations organize the events, where their ...