Posts

How correctly imitate dependencies?

Image
This is continuous of my previous post about why we should imitate our dependencies. I did it not long ago. I though about how do it properly and when I can say that it is correct. Start from test and real dependencies I am starting from the tests. I wrote the simple tests which, I though, are correct. That was my learned about dependencies. I had the good situation that I had some prepared tests before. During the writing test I got a knowledge. A lot of time, I verified what the system return. After it, I got the full automated tests for my dependency. Now, I am sure that dependency works like I think. Like my test use it. I think this is a very good advantage. Extract the interface for communicating The implementation to communicate is implemented and tested. Our test, if you implement it like functionality test, not code test, should show us, how we want to use our dependency. We know what parameters we use, what methods. We know what we want. That is a place where we must extr

Why you should imitate your dependency?

Image
I had a problem with applications from other people. A lot of time I must to integrate with it. Sometimes it is easy or it looks easy. Sometimes it is very, very hard. I have one solution, which let you implementing your system faster, automatically testing and don't be always depend on other applications. The rest of the advantages is on this post. About solution The solution is, such as topic suggest, implement some imitations of these dependencies. A lot of applications, we use like repository or like execute and forget. Sometimes other applications do some complicated calculating, but we don't need good result for our application. We need only be sure that our piece of application works well. We haven't been responsible by other applications. Yes, we like, but that responsible take our time, which we should invest in our application. In Java we can use Mockito to test our solution. We prepare automated tests, which testing our solution. Yes, this is correct, but how

My goals in 2019

Image
Hello, I want to declare my goal in 2019 like a post. The first reason is that I want to have a place with my goals. It is my promise to me. The second is that I think I can be an inspiration for your career goals, so let's go! I want to automate my work and live The first thing, which I wanted to do in previous years, is creating an automatic script for my job. I want to create a simple menu which allows me to automate my job like pulling the newest develop branch after login to notebook or run compile, test, run all modules and open the browser by one click. This is what I wanted and I declare to do it in 2019. I want to create a very flexible script, because I want to share it, so I think the result will be on this blog. I give to me a term for a simple, but flexible menu to end of February 2019. This should be to use to other kind of my life. Not only for work. Books, books everywhere I have the books to read: Clean Architecture: A Craftsman's Guide to Software Struct

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