- I am the rock solid professional for the times you need to get things done. Wide knowledge in everything IT, including managing teams. I am perfectly comfortable working with company management to fulfill business goals, while ensuring every team member has meaningful things to do, and that the team excels as a whole.
- I also enjoy learning and doing the necessary things myself when there is a need for it. This has led me to have the ability to fill multiple roles in an organization, and to understand a wide variety of technologies. When necessary I can build the product from scratch, from installing the servers, to building the backend, frontend, and continuous delivery systems, as well as all the integrations and tools necessary to support operating it.
- I enjoy mostly working at a free pace, where I don't need to worry about working hours or days, but focus on the results and getting things done. However, I have been in many stressful situations over the year and excel at times of urgent need. I can put the necessary time into solving any problem I'm facing, no matter how obscure and frustrating. When I get the time to think of a problem properly I can frequently come up with creative new suggestions on how to get the necessary results.
- I take pride in my ability to choose the right tool for the job, deciding when a homegrown solution is needed and when a 3rd party solution is much more cost effective. I don't choose technologies just because I have a history with them, or because "everyone uses them", I choose technologies because they are perfect for the job.
- I'm most comfortable in small to medium-sized startups, where I like to take a large role and take lots of responsibility. I've been designing software for medium sized server environments with dozens of servers for years, ensuring cost-effective scalability and high availability, while keeping releases rock solid.
- I have done everything from budgeting, government grant applications, managing product backlog, hiring talented team members, to building product prototypes. I am a big fan of Infrastructure as Code (IaC), and DevOps practices in general.
At Biddl I designed the system architecture, and built the initial prototype for the whole system. After that I've continued to ensure the system architecture meets business needs and scales, while being affordable and effective.
I hired the engineering team to ensure that we have multiple people capable of performing every task, and so the team can be efficiently split to work on different things, rapidly reacting to changes in requirements.
Since then I've continued to drive the engineering team to deliver continuous improvements efficiently, prioritizing actual business needs. I've managed the backlog of tasks based on improvement ideas, ensuring all stakeholders know the priorities and when the changes are expected.
I've put heavy focus on automating tasks that otherwise would require manual work, thus optimizing the performance of both the engineering and operations teams of the company. Engineering spends less time on e.g. releases and manual testing, while operations can spend more time on planning for the future as tasks such as importing product data and handling of orders has been largely automated.
At Pryte I took over managing the infrastructure (mostly AWS), continuous integration and delivery systems, and ensuring infrastructure security.
While writing Chef recipes for various purposes, I worked to improve the recipe collection, introducing testing and quality management tools (Vagrant, foodcritic) and taking into use common best practices.
I wrote lots of custom tools, e.g.:
- Bootstrapping new servers
- Launching complete staging environments on demand (AWS EC2)
- Managing infrastructure-wide strict firewall automatically based on mix of a configuration file and automatic server detection via Chef searches
- Automatic backups of critical servers
- Doing server healthchecks
- Collecting monitoring data with adapters to different systems (CopperEgg and Zabbix)
I also wrote the background task queue system responsible e.g. for signing APKs.
I was also involved in designing system architecture and features.
Unfortunately I didn't get to work longer on this fantastic team as the company was acquired by Facebook, and I did not want to join them.
At Kiosked I worked on a wide variety of things, some of them being:
- The functionalities responsible for importing millions of products and then choosing the best matches to show for end users.
- Implementing many improvements to the core systems and important tools for developers.
- Profiling and optimizing the application core and servers, including implementation of custom tools for profiling and debugging.
- Actively introducing new technologies to the system and developers.
I also was a part of the 24/7 on call team making sure the systems were up and running always.
Nord Software is a software consultancy where I was leading or supervising several development teams of varying size (up to 9 software engineers), often multiple teams simultaneously. I also actively participated in improving things in the company, ranging from employee happiness in general, to taking new technologies in use.
I participated in some way in most projects at Nord Software, sometimes just for quick technical consultancy in design or to resolve issues, sometimes leading them, sometimes I was simply a one-man project team.