Posts

Showing posts from December, 2018

Why you should be active in the labor market?

Image
Hello, today I want to tell you something about why I like to be active in the labor market. I think this activity has a lot of advantages and not only for change the job. Know the labor market I read a lot of job offers, these give me a lot of information. I know what is popular in the labor market. I know what business need and where is a deficit. I think this very helpful on my job. When a lot of businesses use a specific framework, I think I should know about it a little thing. Maybe this knowledge is not useful now, but for the next project I could use it. The second advantage is I know what the specific company do. This knowledge is useful, when you find a solution. These companies a lot of time organizes a Meetups, so I can decide if I want to go to it. Finally, I know How much a programmer is worth. This is very dynamic, but we can average it for our comparison. Get a feedback about yourself This is why I like to be active. I have my opinion about me. My associates have an

You should be like your client

Image
Do you have a problem with how implement the feature? What it should be? I have it a lot, but I found a solution for this. I must change my mind, but it is not easy. Such as topic says, You should be like your client. The best is when you are a client. Why? I often didn't think about UX for my feature. When you have that approach the implementation is easy. Why? Because we implement the easier solution, but what with UX/UD? After one of the trainings I understand that is more important than working full solution. A lot of clients don't use a program, because they don't know how use it. That program can have a lot of features, but when the client doesn't know how use that feature it is only something that bothers you. The problem is bigger. We spend a lot of time for implementing these features, but they are unfriendly. That time we should invest in creating easier and better solutions for our clients. How? The topic is very wide, but I have my solutions for it, whic

Prototype vs full solution

Image
I hear that the prototype is expensive, because we must do more work. I don't agree with it, because this is the way, when we invest our time to get better project on small time. I will explain it in this post. The example We need to create some functionality to implementation, so example CRUD for managing money and some diagrams. The client doesn't know what it wants and how it works. The full solution way I think this is very simple to resolve. We prepare project and tasks which we need to implement. We think about a lot of solutions. What can be wrong? What happened? How the users will use it? Prepared solution is described as tasks. Tasks are estimated. This gets our 2 weeks. Ok, we have the solution, so go to implementation. During implementation, we have a problem with transactions, because we wake up that the clients will be more than 100. This bug we repair after one week. The implementation is done after 2 weeks. We give a solution to a client and it will be unha

If you can’t measure it, you can’t improve it - scrum measures

Image
Today, I want to tell you about one of the thinks which is very helpful, but missing on a lot of implementations of scrum. "If you can’t measure it, you can’t improve it" I heard this sentence on the conference in the other context. I think it fit to the Scrum. How you measure that you are better than half year ago? Do you feel a scrum spirit? Yes, we measure our story points, but I think this is a very bad measure, because if you have a small project you can do something fast, but the situation is opposite when you have a big project. The same functionality you can do with more problems, so your productivity is always lower and lower. The result is you are always worst. We need know what we want to improve and what is our problem. If you want to define it, you need to have a measure. What does mean bad? What does mean good? These are a good, but hard questions. What and how we can measure on Scrum? I want to say these are everything. I have some examples for explaining

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";         map.put(noImmutableObject, "test2");         assertEquals(2, map.size());     } class NoImmutableClass {         String field;         @Override         public boolean equals(Object o) {   

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