It’s not an easy question to answer as there is no single definition of what a side project or startup is, but let’s try!
If you prefer the video version of this article, I’ve recorded a YT video about this topic here:
Regardless of what you are building, the first and most important step that every maker needs to take is buying a domain! Well, most likely, it will also be also the last step for most projects (for some people the dopamine rush triggered by this step will be more than enough). …
It feels weird to write about something being too positive. However, I have started noticing that many software development problems might be caused by people being too positive and passionate. Let me explain.
Isn’t it weird that so many young people are already feeling burnt out after a few years of work? I keep meeting people who need a break after just their first year or two. I’ve also experienced burnout myself (twice even). The first time, I had to take a six-month break. …
In their early stages, startups work in a different way than mature organizations. Most startups not only build products by borrowing money, but they also take on technical debt. For them, delivering MVP quickly is essential, as early validation is required.
This environment gave rise to the notion of 10X developers. Like protagonists in action movies, these mythical developers can single-handedly beat up ten regular teammates in terms of productivity — or so the legend goes.
In real life, the so-called 10X developers are most likely cowboy coders — sitting alone in hoodies with their headphones on, working on a…
Most of us, working in software development have been there: the organization evaluates a new technology such as a new framework, programming language or architectural pattern. The developers get excited, finding videos, blog posts, and success stories from big players. Some of the team members attend conferences related to the new tech or even test the new stack by building simple applications (like to-do apps). Eventually the team decides to use such technology for the new project.
However, few months later excitement turns into struggle. Deadlines are missed, people get demotivated. …
When I started my first job as a software developer, I envisioned it to be movielike — perhaps something like working for NASA. I pictured myself collaborating on whiteboards, discussing architecture, and reviewing code with other likeminded people. However, the reality was quite different. I found myself surrounded by people sitting with headphones on, quietly, and barely exchanging messages via IM.
Over a decade later, not much has changed. The only noticeable difference is that code reviews became standard. …
I can’t count how many times in my life (or even in a year) I’ve heard people say: “I will get it done in the evening…”, “I will get it done by Monday morning…”
I think every developer (including myself) is guilty of saying something along those lines at least once in their careers. There is no doubt that estimations are hard — it might even be the hardest thing to get done within software development.
That is why it is very important to communicate delay and manage expectations accordingly.
In my opinion, one of the biggest problems when giving…
Microservices stumbled into the world of web development with a bang. The topic caused heated debates, endless posts, many comparisons to the monolithic architecture, and even use cases coming from big organizations. However, whenever the topic comes up, developers tend to focus mostly on the technical aspects of the microservices revolution rather than the cultural changes that it sparked. While the technology that grew around it is indeed very cool, I find the cultural changes to be more disruptive.
I was lucky to get onto the bandwagon relatively quickly, around 2014, and I still remember how exciting it was to…
Many younger developers (including my younger self) underestimate the role that soft skills play in their jobs. Focusing only on technical skills seems more compelling especially at the beginning of a career. After all, it is much easier to measure progress and gain a better paid position when one knows new programming languages or frameworks, as opposed to trying to market skills that are not easily quantified. However, underestimating soft skills may also lead to problems, especially when trying to communicate within the company. From this perspective, written and verbal communication become essential skills to have especially as one gains…
Whether you code in JavaScript, Python, Java, PHP, Ruby, or Go, to access the first element of the array you will need to refer to array[0]. This is often confusing for new developers — why do we start numeration from zero? Wouldn’t be array[1] a more obvious choice for the first item?
First, it’s worth to point out that not every programming language follows zero-based numbering. Before I decided to write this post I was aware of Lua breaking that convention, but I was very surprised to discover that this is not such a rare occurrence.
AWK, COBOL, Fortran, R…
In the 90s internet was a friendly and cosy place full of small communities and personal homepages maintained by passionate individuals. Owning a website or being a member of a forum felt like being part of something exclusive, special. These days the dynamics are quite different, forums are being replaced by Facebook groups, Reddit, Quora; personal homepages by profiles on various social networks and centralized blogging platforms. In the past decade, the shift towards centralization seemed unstoppable, though in the light of the recent Cambridge Analytica privacy crisis this might change.
The good thing brought by centralized platforms was increased…