I have had a hard time to understand, how does the dependency injection container design pattern work, but I think, that with the help of Peto Bodnar (https://github.com/prog) I have found my way around this pattern.
Have you ever witnessed a situation, when you write an application in a team and you constantly break somebody's else code after push? Or, the other way around, you pull the code from the repository and your code stops working? I have witnessed this situation many times and I got used to the hear the sentence ' ... but it was working before ...' quite often. For what is worse, I was fixing the same issue over and over again. Very frustrating ...
I've created a small application for creating and maintaining invoices. Based on Laravel.
Currently, I am working on a web application, which maintains over 50 000 credit card holders. The application is responsible to handle the approval flow, where an incoming application needs to be completed and approved. Once approved, the lifecycle of the contract is managed in the application. We also send over 45 000 emails each month using a dedicated dashboard, which we created solely for this purpose. Everything is orchestrated by a SQL service broker, which holds messages in queues which are then being routed for further processing, such as PDF generation, mail delivery, and archivation.
Second biggest bank project we have been working on was dedicated to mortgage loans. The application was responsible to keep all the information about the loans and its requestors. I was responsible for the look and feel of the application, which has been build using google material design. I have also maintained a set of Selenium integration tests, which helped us to keep track of all changes, which made the development and progress difficult at the beginning, due to frequent changes executed by multiple developers, often working on the same parts fo the code base.
My other projects include custom content management systems, quality assurance systems, order management systems, approval flows, websites and dozens of smaller side projects, some of which you can see on my website.
Although I aim for a remote position, I am sure, I can not stay isolated from the rest of the world. I hope I can find a team, where I will be in touch with other developers regularly. It is inevitable to meet them from time to time, so we can share our thoughts and visions. So working remotely does not mean to work alone for me. And if one wants to gain a progress, he needs to become a part of a team, where others are more skilled then himself. I have read somewhere, that if you feel, you are the best in your office, you should consider changing your job. I know also a couple PRO developers who master web development at the top level, so if you need to develop things rapidly, I can put a small group of these developers together in order to deliver the results in no time.
Most applications I write are kind of admin dashboards and portals, which leverage some common best practices and design patterns. There are a few I use quite often, while I don't use others because there are simply no use cases in applications I usually work on. MVC, Factory, Builder, Dependency Injection, Dependency injection container, Singleton, Facade, Repository, Strategy. That's the set of patterns, which usually help me to write maintainable code. TDD is something I want to incorporate into my day-to-day workflow more. I believe, solid unit & integration tests are an inevitable part of a decent solution.
Usually, I try to work eight hours a day. There are exceptions from time to time when you need to reach a deadline, however, I try to avoid it when possible. It's better to invest time in a thorough planning. I try to split my story into small subtasks and I try to predict the time I will spend on each subtask. That way, you can easily keep your scrum master up-to-date and it's not difficult to answer the questions like 'when will this be finished'. Although the management has all those JIRA info at their disposal, they tend to ask those questions over and over. If you keep the tool updated with your progress periodically, you can easily answer such questions. Working a huge amount of overtime is inefficient in the long term. It only leads to exhaustion and the final result is not worth the effort anyway. I try to keep the work-life balance and it has always worked the best for me.
One of the mistakes I made in the past was, I stayed at one position for more than 10 years. It was a good one, but I did not move forward myself anymore after such a long time. I think it's wise to stay at one position for ~3-5 years max. It's also difficult to stay on top of the current modern web dev world especially if you have a family. Usually, I work from 7.30 to 16.30 / 17.00 CET. Once you come home, you want to spend some time with your kids and there's only little energy & time left for further education, although I try. The best option, for now, is to learn while working on the real projects ;) I try to attend at least 2-3 web conferences & summits a year to stay in touch with the community. In my current job, we also organize mini-meetings, where we discuss news & show some tips & tricks on how to do development more efficiently.
The reason I write this post is to give you a glance of what you can expect while working with me. While others may say, they are experts in languages and tools they use, I try to avoid such statements, so you probably won't hear an answer, whether I consider myself a guru. If you decide to give me a chance you can expect my commitment. I will ultimately do my best and I will keep my word if we agree on something. Moreover, you can expect, I will work independently and you won‘t need to hold my hand. I have built some complex projects and I have participated in few others, so I know what needs to be done in order to deliver a successful project. I find myself more of an open-minded listener, not somebody who always thinks their solution is the best. I believe there are diverse ways how to achieve the goal and I'll be glad to learn other perspectives as well. Although it’s not my ambition to be a team leader, I can guide people if I feel the quality of the product is not going the way I think it should.
Starting from October 2018, I have joined Hyperia s.r.o. company as a Senior Web Devleoper working with Yii PHP framework.
Since Consumer finance holding has been acquired by VUB bank (member of Intesa SanPaolo group) early in 2018, I am working as a full stack developer at this institution working on an application, maintaining the lifecycle of more than 50 000 credit-card account holders.
Starting from 1.10.2015, I started to work as a freelancer. My biggest customer is Consumer finance holding company, who is a loan leader on the local market.
System administration in an international company. Maintaining diverse systems based on Windows (intersite active directory domain) & Linux OS. I was also developing PHP applications for internal business & I was providing a help desk for 3 sites - Belgium, Slovakia & Romania.
I was responsible to configure router devices for North American customers.
© 2018 Yuma.sk