JURAJ MARUŠIAK

Full stack developer & system administrator

<!DOCTYPE html> 
<html> 
 <head> 
  <title>

Welcome!:)

</title> 

Blog

25
AUG
Dependency injection container explained

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.

 

View Blog Post | Comments (0)
20
NOV
Acceptance testing using selenium

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 ...

 

View Blog Post | Comments (0)
24
AUG
Easy SSH deployment with Python fabric

This article will explain a process of an easy deployment with python fabric

View Blog Post | Comments (0)

Latest projects & activities

25
AUG
Arkanoid game v0.1

Since I have never created a game, I have decided to create one in javascript. It's an Arkanoid v0.1 ;) If I will find some more time, I will fix those few glitches you can find during the gameplay ;) My primary intention was to find out, how does the game and collision system work. The code surely needs to be tidier and some stuff should be refactored. Maybe, I will work on the next version someday later ;)

https://github.com/durino13/arkanoid

07
JUL
Codility algorithms

If you want to join the Toptal network, you should train your development skills. They advice to practice some algorithm tests on the Codility website. I have implemented bunch of the tests here: Codility tests

01
MAY
Material design React application

Two days spent trying to create a small React demo application for a company which interviewed me that day. Source here. You can preview the demo here.

31
AUG
Content management system

I have created a content management system for my website. From now on, I will use my custom CMS for all my websites ;) It has been built using Laravel 5.2. Check the video here, source code available here.

27
JAN
Invoice application

I've created a small application for creating and maintaining invoices. Based on Laravel.

Older activities

What can I do for you?

Development

PHP (Laravel) DEVELOPMENT
90%
JAVASCRIPT
85%
DevOps
70%
CSS
70%
GRAPHICS
60%

System administration

WINDOWS (Server 2012) ADMIN.
80%
LINUX (Ubuntu) ADMIN.
70%
GOOGLE APPS ADMIN.
75%

Other technologies & tools I use(d)

Laravel
Angular 2/4
Docker
React & Redux
Vue.js
MSSQL
MySQL
PHP 7
Composer
Javascript
NPM
Webpack
Gulp
Bower
Git
Python scripting
Design patterns
Responsive design
CSS
SASS
Networking
VM Ware ESXi
Windows 2012 R2
Ubuntu Linux
Google Apps for business
English language

Why am I looking for a remote position?

More and more, I read about successful digital nomad stories and for some reason, I can't get rid of the idea of living and/or working abroad. I think it's also because I am a bit tired of living the life the usual way and something deep inside me wants to discover new horizons. For what is worse, I don't want to look back one day only to realize, I missed a chance to do something really exciting in my life. The problem is you need to leave your comfort zone, which, I admit is not that easy. Especially, when you have a family. Nevertheless, the more I think about it, the more I feel, this is what I want to try. Bellow, you can find some of my thoughts on web development and remote work ...

 

Generally speaking, I consider myself a full stack developer. So far, I have been working on projects, where I needed to deal with the range of technologies. I don't think this is uncommon. I may be a good candidate for your job because my experience is wide and I can quickly become productive in a specific area of development if more in-depth knowledge is required. After years I can distinguish differences between a good and a bad code. There were few experts who taught me those differences and I am so thankful for that! I understand one needs to learn continuously if he wants to stay on top of the modern web development. There are so many languages & frameworks and you need to be careful about where you want to invest your time. I try to choose wisely, however, you need to have basic knowledge of other stuff as well, so I regularly try new things just to have a glimpse of what's going on. My primary focus so far has been PHP (Laravel, Yii) on the server and Javascript on the client (pure Javascript, Angular 5 as well as React). Javascript is gaining the lead on the web more and more, therefore I want to master Node.js too. I think it's an obvious benefit having one stack both on the frontend as well as the backend. So my future focus will go this way probably.

 

 

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.

 

Another project I have participated in is dedicated to keeping the documentation for the bank company. The project has been written in javascript Vue.js library. It supports markdown documentation and it also documents the company infrastructure and it's dependencies, where you can see a graph of each system and application, so its architecture is also clear for all the newcomers.

 

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.

 

My career in a box

VUB bank

Full stack developer
January 2018  - present

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.

Macon s.r.o.

Full stack developer
October 2015 - present

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 administrator & web developer

GDM Electronics NV, Liptovský Mikuláš
November 2004 - September 2015

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.

Router configurator

AT&T, Bratislava
August 2004 - November 2004

I was responsible to configure router devices for North American customers.

Military academy in Liptovsky Mikulas

Telecommunication and information technology
1999 - 2004

Secondary school of electrical engineering in Liptovsky Hradok

Telecommunication and information technology
1995 - 1999

© 2018 Yuma.sk