Blacklane Developer Journeys: Magomed — Senior Backend Developer

This month, we’d like to introduce you to Magomed. Magomed is a Senior Backend Developer. He joined Blacklane in December 2016.

Where are you from, and what is your minimum viable autobiography?

I was born in a small city called Pushino, 100 kms from Moscow, Russia. My first program was a drawing of a snowman standing near a house and was written in the BASIC programming language. It happened at a summer camp when I was 12 years old. At that time, I didn’t understand the production use cases of coding or the power of automation, and I didn’t think that programming would become my profession and my way to discover the world inside and out. Starting from my third year of university, I started to work as a web developer. The problems I solve now are much more complex, but I still continue to write software for the web.

When did you realize you wanted to write code for a living?

While studying at university, I’d been trying to find a professional niche to grow in. After working in marketing, CD production, and polygraphy, I realized that I would like something more technical and creative. Once, while having a drink with a mathematician and programmer friend, I shared my thoughts and got advice paired with the famous “C Programming Language” book.

Before I’d started the book, studying programming at school and university hadn’t interested me much. But the simplicity of how important concepts are explained in that book attracted me, and I started to learn programming from scratch. In two months, I earned my first money writing HTML and CSS and in two more, I got my first web developer job.

What brought you to Blacklane?

At some moment, I realized that professional growth is not based on just writing code but very much on communication: attending meetups, networking with international professionals, and building products that are used globally. After some research, I discovered that Berlin is one of the global centers of IT startups, and so I started to look for a job there. During many interviews, I emphasized how interesting the task given by Blacklane was. Also, I liked the nice office and finally chose Blacklane from two offers I’d received.

As a developer, how do you feel about living and working in Berlin?

While it’s becoming a European startup center, Berlin’s software engineering culture is still young and not as mature as in Silicon Valley, London, or Moscow. So there are pros and cons.

The cons are that you can’t join one of the head offices of the top IT corporations, such as Google, Facebook, Amazon, etc., which means fewer opportunities to develop high-load, complex systems, and/or work on really big data analytics, or manage structures of hundreds of people. It also impacts the level and complexity of the meetups you can attend, which are sometimes more like a having beer with like-minded people.

But the infancy of this scene gives you the chance to join an early-stage startup and probably become one of the first employees of the next IT giant. Also, startups give you lots of challenges and opportunities to try different ideas and take on different responsibilities as they grow.

Another advantage is that Berlin is located at the center of the EU, which makes it easy and cheap to participate in conferences and meetups in Europe. Finally, taking into account the low cost of living, I’d recommend Berlin as probably the best place to start, and even continue, your postgraduate life and IT career.

Besides being a center of the software industry, Berlin is just a great place to enjoy everyday life. Its colorful, mixed culture made by lots of interesting people from all over the world provides an exceptional experience in understanding and integrating into our modern cosmopolitan society. Also, you can find any kind of art in Berlin from classical museums, opera, and conservatories to modern biennales, clubs, and markets. This city is really vibrant! Fortunately, almost everyone in Berlin speaks English, which makes integration easy.

Having a family is not a problem, either. The notorious German taxes are lower if you’re married. Also, Germany is known for its high-quality healthcare and free education, which are provided for all family members. Finally, I’d say that our family loves Berlin, and we enjoy life here!

Why do you enjoy staring at a screen for hours and hours every day, manipulating symbols that tell a machine what to do?

Writing code is probably the most valuable part of it, but it’s still just an artifact of the software development process. The most interesting part is designing and engineering, which is later expressed in the code. During the design stage, I collaborate with people a lot, so software development is not just about inputting symbols into my laptop but more about sharing your experience during collaboration — it’s what we call teamwork.

This profession gives me the opportunity to build, to create something by myself. Since Computer Science is evolving so fast, developers need to learn and experiment a lot. Constant learning makes my mind always fresh, agile, and hungry. Pragmatically, programming is what gives me an opportunity to easily find international companies to work with.

How do you find working on a team versus working alone?

There’s a moment when your experience and imagination produce ideas that you could not implement on your own, and you just understand that you need to work in a team. Then, teamwork trains your communication and personal skills, and finally you understand that collaboration is the key to achieving valuable and significant goals.

At the same time, teamwork requires you to spend time in meetings to groom and plan your development and evolve the whole production process. So, when you want to dive deeply into writing code, it’s better to work alone. Fortunately, at Blacklane we’re able to work from home, too, so we can enjoy staring at a screen and manipulating symbols for hours.

Do you have any favorite languages, technologies, or frameworks? What do you like about them? Are there any that you secretly despise?

There are many different programming languages and software development frameworks and tools. They all have different angels and evils. The selection of one or another should be adjusted to the context and depend on the goals of the product. For example, Ruby, being a very concise, dynamically typed language, is suitable for early-stage development, which explains why so many startups are stuck to it. The Ruby ecosystem is supported by good frameworks like Rails and Sinatra. Also, Ruby provides an easy-to-use object-oriented model, which easily matches business domains. I like the Ruby ecosystem for allowing an idea to be built from business requirements to production deployment quickly and frictionlessly.

However, Ruby is not suitable for solving high-load or low-level challenges. After realizing that, I started to look for my next language to learn. The criteria were:

  • Static typing
  • Easy syntax
  • Strong community
  • Widely used in different areas of software development

Finally, I ended up with Golang. I like it, because it’s very explicit, having safe memory management and an easy procedural style. Besides that, Golang was designed by the grandfathers of modern programming, Rob Pike and Ken Thompson, and is extensively used at Google. Nowadays, Golang is used in many companies from startups to corporations for the development of distributed systems, cryptography-based applications, devops, and much more. So, I enjoy the community and ecosystem and would like Golang to be my next main programming language.

What are you looking for in a company when you’re considering a job? What is most important to you, and what is least important?

For me, the people I work with are the most valuable aspect of a company. No significant achievements can be reached individually, and the collaboration of the team and company affects the final result more than the proficiency of an individual. It’s a must to have an experienced leader and colleagues with whom you can share knowledge and experience and build a strong collaboration.

In addition, the business domain complexity is also one of my main criteria when considering a job. Complexity means interesting challenges, which are crucial for any developer. The least important for me is how cozy the office is and the flexibility of working hours.

What role do developers have in the world, do you think? Are we just passive code robots, or do we have responsibility for the impact of our work on society?

The modern post-industrial world is drastically moving toward being deeply automated, interconnected, and tokenized. More and more workers are being replaced by robots. Many analogous hardware systems are being replaced by software. The Internet and automation are together pushing the development of new business models and the evolution of existing markets.

Mostly, developers are proud to be at the core of this evolution. But the exact impact and role always depends on the proficiency of each individual. Some developers are designing revolutionary systems, but many others are just “painting the walls.” So, the real impact depends on what you are working on and where.

Obviously, many development tasks could and will be automated, and what had been done by humans yesterday will be done by machines tomorrow. It’s hard to anticipate where the technocracy will lead us. Probably, AI will come to dominate the Earth’s population, and the Terminator scenario will go live. But hopefully, automation will enhance the quality and comfort of life and become a tool to solve global problems such as famine, epidemics, and the huge gap between developed and undeveloped countries.

What is it like working in a different country, and culture, than the one in which you grew up?

Personally for me, it is hard, but very beneficial professionally. From one side, I need to constantly learn the English language and adapt to a new culture. Also, I have to carefully manage all the legal documents and legalization procedures. One of the biggest challenges is integrating into a new society and, especially, helping your family to do it, too.

From the other side, working in a foreign country requires you to improve your communication skills in order to establish collaborations with colleagues and to find new friends. Such an experience in conjunction with language fluency opens up many opportunities to live wherever you want globally.

If you could take six months off and learn something new, what would it be and why?

I’d learn mathematics: refresh my knowledge of probability theory, statistics, and linear algebra and learn game theory. Paired with software development knowledge, it would allow me to analyze and model people’s behavior and microeconomics models. I wish that we could move to a distributed tokenized economy, where each specific niche will have its own dynamic currency reflecting the quickly changing value of the products and services in that niche. Besides many economic benefits related to resource consumption and money flow, it would help to balance the distribution of value globally and allow people to benefit from the work they do according to the time and energy invested, rather than marketing, hype, and status. Thus, in the conditions of a growing population, we could reduce the risk of inequality leading to poverty, famine, and war.

What do you imagine about your future? Where do you see yourself many years from now, and what do you hope to have accomplished?

It’s hard to give a sane answer to a question about the meaning of life. In my opinion, it doesn’t have any. None at all! That’s why I personally decided to have fun and enjoy life and do a real life startup as a professional achievement.

Sometimes I think about launching an EdTech startup with a self-growing, decentralized structure. The goal of it would be to connect questions with answers, mentors with students, and bring together people with different knowledge and expertise. Such a software platform should help people collaborate and become involved in the development of new projects. So, it would be a “startup incubator as a service” with offline co-working spaces set-up by need. The main benefits of such a co-education and co-working platform would be borderless education, collaboration around a product/service rather than money, and a reduced cost of running startups globally.

In my opinion, such an end-to-end solution matches the modern, practical demand for new products, while a decentralized organizational system would be cheaper, match local markets with precision, and allow for the participation of all talented people, limited only by Internet access.

If you are interested in joining Blacklane, feel free to head over to our career page. You will not only find our open positions there but also even more reasons why you should work with us!