Image for post
Image for post
It’s python

There is plenty of similar articles on the web, but I just thought that I can add my perspective on the topic, and make the “tricks” list more complete. The code fragments used here are somehow crucial to my workflow and I am reusing them over and over again.

Sets

It’s often the case that developers tend to forget that python has set datatype and trying to use lists for everything. What is set? Well, long story short:

A set is an unordered collection with no duplicate elements.

If you get familiar with sets and their logic it can solve a lot of problems for you. For example — how to get all of the unique letters used in a word? …


Image for post
Image for post
Do you see cracks already?

It’s the end of the year — 2020 — a year that will be in our memories for a long time, as it removed our feeling of safety and forced us to ask hard questions about the future, however, it’s still a good time to write a summary and mention lessons learned from my personal perspective. Let us dive in.

The format of this entry will be close to a journal and I will share my personal experience, as it’s personal it doesn’t necessarily apply to you, but maybe you will be able to find some meaningful lessons here.

Me

The story needs to start with me, it has nothing to do with me being narcissistic, but I’ve always said that context is essential. Somewhere in the middle of the year 2019, I’ve decided to create a software company together with my co-founders (there were three of us back then). We started with a few business contacts. Few of those contacts transformed into products to be made. We had a pretty small team back then (literally we started from “zero”). After around 18 months, we had 16 people on-board, on our payroll, and a few more, who were working with us as contractors. Our portfolio gets bigger, we set up branches in Warsaw and Mexico, having the main office in Zurich, from company financial perspective it was good, we never had serious problems with cash flow, and generally, our customers were happy to work with us. From some perspective it sounds like a fairytale, yet, I quit. …


Image for post
Image for post
Thanks to: Ken Tomita from Pexels

Introduction

The idea for the article came to my mind a long time ago, when I was already working remotely, before the COVID era. Since then I am often questioning myself — what is the ideal remote setup (also recently I’ve started to get more and more of those questions from my family members and friends)? And I’ve realized that to properly answer this question — I need to analyze it on multiple dimensions. In the last 18 months, I’ve been leading the organization which one of the most important principles was remote first organization. On top of that, I’ve been working remotely long before it was a necessity or a trend. As we can argue about remote work — is it generally good? bad? better than a normal setup? I will skip it as this is not part of this article. …


Image for post
Image for post
Photo by Sebastian Voortman from Pexels

Introduction

I am in the IT industry for quite a long time and somewhere on the line, the idea emerges that full-stacks do not exist — and I was always really skeptical about this idea. I believe I have plenty of arguments to defend this hypothesis. Of course, this will be my personal opinion on the topic, but with a solid background and maybe with a bit of luck this article will trigger some discussion and will help me to understand the other side — which will be: Full-stacks actually do exist.

What does it mean to be full-stack?

First of all, we should start with a definition of what full-stack is. In my opinion, full-stack is a developer who understands multiple stacks, the level of the understanding will be somewhere around the expert level. The definition of a stack will be simpler: backend — means that developer knows languages, tools, and frameworks on the level that allows him to deliver server applications. A more concrete example here would be a python, django, django-rest-framework or python, sanic. Of course — in the backend areas we also expect a developer to know database systems on the level that allows him to comfortably model the data structure and do most of the maintenance tasks — for example, database migrations and replication. The same applies to the frontend stack — javascript, react and typescript — to be able to write SPA web applications, additionally feeling comfortable enough with domains setup (load balancing if needed, SSL certificates) and servers setup (or tools available out there: like S3 on AWS). We can go even deeper — but generally, you get the idea. …


Image for post
Image for post

Context

I start to ask myself a question recently: How hard can it be to copy functionality of Bitbucket pipelines, Circle CI or GitLab like tools? Of course, there are years behind development of each platform - and probably hundreds of developers behind - yet the scope of the single blog post entry is very limited, so I for sure need to do some simplifications here, but before we jump into basic requirements definitions - get back to the context for a second. In this post, I will try to mimic the basic features of modern CI/CD tools. …


Sorry ghost.io

Image for post
Image for post
Photo by rawpixel.com from Pexels

In this piece, I’ll show you how I created my own blogging platform with my own CI/CD pipeline. Sound crazy? It is a bit, but it’s also a lot of fun.

Context

I have a blog (the one that you are reading right now!) and until a couple of days ago it was hosted on ghost.io. Now it is hosted on my own EC2 instance in AWS using CloudFront as CDN. Some would say this is like shooting a cannon at a fly, but the case is that I already had this instance as another tool that I am using is sitting there, Snippetto. It is a simple tool for storing code snippets in the cloud with even simpler CLI, as I really like working with the console. …


After Bitbucket announced their pipelines — I was little skeptical. You know — after circle ci — is there any other CI/CD environment that can compete? After some testing it appears — that it can. Basically I was able to set up fully working CI/CD flow for my python/django project.

In this post I will try to introduce how to setup basic flow for the Bitbucket pipelines. Because of the obvious reasons — I will write a setup for backend application written in django — it is my main field of expertise.

Maybe start from the beginning and definitions.

What is CI/CD?

On the wikipedia we can read (whole…


Image for post
Image for post
Python for the win!

I am often asked with question like this: How can I become a python developer? or I want to be a backend developer - could you give me some hints? Well, I think that I can :) So lets start. Please - if you are really interested click on all links that appears in text below.

Backend

First I need to make some clarification here — lets say that backend developer is responsible for creating and maintaining the API (Application programming interface) for the clients — web and mobile ones. …


Image for post
Image for post

Well, first — it really solves problem. Trivial one, but still. Second — I just want to get familiar with Slack Application submit process and Slack API flows. I think that such experience is nice to have as a backend developer. You just want to be able to provide integrations for your sophisticated solutions.

So what Sprintero does?

Basically it allows to get a random name for the scrum sprint — currently it supports names from the Marvel world — I’ve found the data on github from the creators of marvel wikia — I even send them an email — if I can use this data. …

About

Sebastian Opałczyński

Techie and a father.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store