You are on page 1of 66

Open in app

Search Write

Get unlimited access to the best of Medium for less than $1/week. Become a member

Advice to my younger self and you


after 20 years in programming
Alexey Inkin · Follow
Published in Dev Publicity · 46 min read · Dec 23, 2023

9K 186
Today is exactly 20 years that I started coding professionally. In those years, I
have:

Been approved a green card petition for extraordinary ability in science.

Become a Google Developer Expert.

Become a Senior Member of IEEE.

Been a Chief Operating Officer in a company with 100 employees.

Authored a piece of code downloaded 135 million times.

Spoken to an audience of 2000 people twice.

Become the most honest person in Russia according to national TV.

Still, I have missed a lot more, and it took too long. I think I could have
speedrun this career to get most of those attributes of success in 5 years if I
applied early the attitude, the principles, and the priorities that I’ve learned.
If you are starting your career, this text can save 15 years of your life.
Imagine having all of that list (except IEEE, which takes 10 years) at the age
of 23 and not 38 that I am now.

In the first part, I will briefly describe my career for the context. In the
second part, I will go through each separate piece of advice that I think
would have the strongest impact.

Part 1. How I spent the years 2003–2023


On December 22, 2003, I could not sleep and decided to look for available
domain names. I checked some that came to my mind and found GetSoft.ru
among others. I have purchased it.
“What should I do with it?” — I thought. — “I guess, I will have to make a
software marketplace”.

By then, I was a hobbyist developer for 7 years (since the age of 11). I was
making clones of Tetris, Bomberman, Tanks, etc. I would upload them to my
website and then put the links to a lot of infant marketplaces of the time.
They were really inconvenient, and I knew how to make a better one.

I learned PHP just because most URLs on the Internet ended with “.php”

On March 4, 2004, I launched GetSoft.ru.


A Google-translated version of my first business website.

Then I wrote a script that parsed one of the competitors’ websites and sent
some personalized spam like

Hello, (Name). We are launching a new software marketplace. Please add your
programs (Title1, Title2, Title3…) to it!

This worked and got some initial content, that attracted search traffic and in
turn more vendors:
This website earned me an intern position at Telma (now Harman
Connected Services) in my city of Nizhny Novgorod. They were most famous
for making all firmware for Motorola phones. I quit after a year because I
thought I was smarter, and I was making more from selling ads.

The revenue made me lazy. By 2010, when the markets changed and the
revenue went down, I missed the golden age of early social networks. I did
not form a community and was only living on search traffic.

I could not come up with a plan to save the website and just started making
corporate websites for others as a freelancer. I had an idea to establish an
agency at some point.

In 2011, I detoured from programming. I met a friend who was an


extraordinary teacher. He helped me start teaching my hobbies effectively. I
ran courses on photography and videography until 2013. Then he inspired
me to start a business by putting ads for apartment renovation and selling
the leads to actual renovators. I had some limited success. Then he hired me
to teach others to get orders and to sell them, which I did until mid-2014.

Then he hired me as a Head of Learning Materials Production for another


iteration of his educational business and then made me CTO and COO. I set
up all the IT infrastructure he needed and made a learning management
system from scratch.

At the peak, we had over 100 teachers, over 2500 students, and over 100
active affiliate marketing partners. The revenue grew fourfold during that
time, and the profit was $274k for 2015, which was 600 times the average
salary in Russia.

In 2016, he was restructuring the management and the pay, and then I quit
and wrote a book on what I learned about good work and on how to be
promoted (so far in Russian only).

I was then freelancing again because I had this permanent dream of running
my own thing, which was stealing years from me again. By that time, the
market for corporate websites shrank, and simple no-code services were
ruling. I made my own CRM but had a hard time selling it, it was a poor fit
for the market. I could not take a regular job because of my ego.

By 2019, I finally realized how much I missed by not working in large


companies. I moved to Moscow and found a job at Calltouch, a leading call-
tracking and marketing analytics platform in Russia. In the fall of 2020, I quit
in order to make my own thing again.

For my startup, I needed the cheapest possible frontend for mobile and web
and decided to learn Flutter for this. I was not comfortable wasting my
savings and soon took a side job from my friend who was using Flutter. Soon
I paused my startup and worked for him. At the same time, I started this
blog. Then the war put our customer out of business in February 2022.
I fled to Georgia (a European country) and found a job at Akvelon, an
outsourced software vendor, which was the turning point for me. They were
making prominent open-source projects for Apache, and through them, I got
acquainted with some Google engineers.

Apache Beam Playground and Tour of Beam, two apps for which I was leading the frontend development, all
donated to Apache and supervised by Google engineers.

I worked for Akvelon for a year, and what I did there together with my
writing was sufficient for me to be assigned the title of Google Developer
Expert.

That was a good time to move to a developed country. I was sick of living
somewhere as a permanent tourist without a residence permit, always
treated as a loser because of that. I had multiple visa denials with officers
just abusing me for being Russian.
The United States was my number-one goal for a long time. I had a
background dream to earn the money for an investment-based green card,
but now I learned of the EB-1A program of extraordinary ability and how
approachable it was. I decided to improve my profile even further to fit.

So I joined IEEE and was elevated to Senior Membership quickly.

IEEE Senior Membership card.

I applied to judge the CODiE award and was approved. Things really
snowball fast after some critical mass of recognition.

This is how I feel my credibility was changing over time as I perceive it in


hindsight:
The changes in my professional credibility as I perceive them now.

This chart shows a lot of wasted time. And here is what I would do differently
with my current mindset to optimize that.

Part 2. My advice

1. Be in the best place and network in the world


I graduated from the nearest university to my home, 15-minute walk. That
was the mindset in Russia of 2002: a small closed world. Only one of my
classmates went to study in Moscow, let alone anything international. There
was just no example that one could go farther, and I had no Internet to learn
other paths.
Nizhny Novgorod State Technical University, main building, photo by Alexey Trefilov, license.

On the other hand, my supervisor from Google was 4 years younger than me.
He is from Mexico, studied in South Korea, got into Google there, then
moved to the United States. Imagine all of that for yourself in just 6 years
from high school.

You are most wanted at this age by everyone. You can join any university to
study anything you want with a fair preparation. Every next year will make it
harder.

My whole life I had the idea that there is a better place, and I will get to be
there somehow at some point. In the past 20 years, a life-load of things
happened there, without me.

Know a better place? Move there now.

A friend of mine, 4 years younger, was accepted to a United States university


when I just finished my 4th year in my home city. That was shocking and
revealed the bitter truth: that opportunity was there for me too all the time.

Ties to a single country also bear tremendous risks. What if your country
starts a war or is attacked? I learned it the hard way. Second citizenship is a
hedge against that. Go get it while it’s cheap. I believe the idea of second
citizenship should be a social standard just as education is, so people get it
even before they develop consciousness by their mid-20s. It should also
reduce wars all by itself because people of two nations oppose those nations
fighting.

Even before moving physically, get to the global network of professionals.


Most people from my country live in closed bubbles. They do have their
LinkedIn profile and posts in English, but still, only Russia-based HRs text
them. This is because changing the language is not enough. International
associations and conferences are what many local communities completely
miss. Do you know a more successful community? Join it, write and speak
for them. GDE and IEEE are just the examples I found, there are thousands
of Global communities that can benefit you.

The problem was that in Russia people do not believe in associations. In the
USSR, all unions were the government’s proxies, they were only distributing
small perks like sanatorium accommodations. If it’s the same with you, try to
see beyond that.
Staying in a bubble is risky. As of late 2023, the Russian government is
pressing private businesses to fire those who relocated and continue their
work remotely. Many of my friends who moved in haste in 2022 but did not
develop a global network were forced back to Russia with all the personal
risks that followed.

How many days would it take for you to find a remote job in the United
States? Europe? Get yourself some memberships if you are not sure.

2. It’s business
My very first commercial project was a software marketplace that I
mentioned before. That was a promising start, but then I faced problems
because I did not view it as a business.

The first problem was I wanted the project to be “fair”, so I refused any
monetization except ads. I refused any paid promotions because my idea was
that student programmers and established vendors must be equal on the
platform. That left me with insufficient resources for any development,
while competition was improving steadily. Now I suggest actively taking
business opportunities. All “free” things in this world rely on the foundation
of someone’s prospering and growing business. Every single thing you give
away for free must be a side effect of some reliable business process with a
bright future foreseen far enough. Otherwise, your charity at the expense of
your resources will destroy you and harm the world around you and those
you try to help.

The second problem was the resource curse. The money allowed me to do
nothing, so I did not. I made some minor improvements to the website that
appealed to my aesthetics, but I never floored the pedal as in the first
months. That was the thinking of someone on a payroll and not of a
businessman. I do not know the remedy for a resource curse. The best I can
tell you is that whatever you rely on will crumble. Think of what you will be
left with by then.

3. Get exposure to profit

The greatest problem for most programmers is that


their ideas are not based on the economy.

Programming is a highly creative activity, which requires total security and


can be practically stopped by personal uncertainty and fear. That’s why
programmers mostly have fixed salaries, unlike many other positions in
marketing, sales, delivery, service, etc. which have high incentive parts in
their pay.

Programmers don’t worry not only whether the product sells well, but even if
they do their tasks on time. The common thinking here is that the risk of a
programmer becoming lazy on a fixed salary is less than the risk of a team
slowing down from the fear of taking insufficient money home.

Yes, deadlines are stressful in programming, but that’s imaginary, I have


never seen anyone being fired or even fined for failing to meet a deadline in
a country where firing is non-trivial. Even failing programmers can often be
used economically for boring tasks, they just don’t get a raise and soon quit
for mutual benefit.

There are two more reasons programmers get fixed salaries. One, in large
projects it’s hard to come up with any meaningful function of profit that
would be fair and give feedback fast enough to influence your behavior. A
typical natural feedback loop of profit takes at least months in IT.

Another reason is that it’s risky to teach programmers the economy of a


software company because that’s the only thing separating them from
quitting and launching a competing business. If they want to do that and are
extroverted, they have the highest chance of doing so, above all supporting
staff like marketing, sales, support, etc., because they have the most rare
and valuable skills and expertise to separate.

While a fixed salary is good for your mental health, you do not develop a gut
feeling of what is right for the business. The management may give every
verbal explanation of the priorities to you, but it’s never as effective as
commission. That causes tons of problems.

Programmers complain that they want to spend more time refactoring and
less time on new features. Or they don’t see the reason to launch a beta
quickly and want a few more months to make things “properly”. Or they
press the management to stretch an MVP to add the features they like to
work on. Or they promote sub-optimal technologies of their personal
preference. I spent years doing all of that.

The consequences are:

It’s hard for you to start a business because you don’t have the right
prioritization in your blood and need to learn as you go and lose tons of
money.

It’s hard to find startup-oriented programmers who don’t need an eye on


them to focus on business.
You can get an edge if you integrate the business thinking. No education can
help here, but I know two ways to do that.

Get commission

If your salary is a function of profit, you drastically


change what you do.

As a programmer, you can get that in short projects for small businesses. For
instance, make a chat bot as an additional sales channel to someone and
agree to a share of the revenue for some time.

Any non-programming job on commission is also helpful. Salesmen


typically have a good sense of business, and if they turn into programmers,
they keep that sense.

Freelancing may seem helpful to get the feeling for profit because you get
rapid feedback on your actions. The faster you complete a fixed-price order,
the faster you get a new one. However, this rarely has anything to do with
business needs, because you learn to do each task in a simple way but not
prioritizing tasks strategically for a business.

Hire someone
The moment you need to spend your own money on a startup, a third eye
opens. A small feature that was moderately useful in someone else’s project
now may cost $500 or $5000 to you, and you shelf it in cold blood until you
get to the market and have revenue to fund it.
When you get the revenue, there are hundreds of those shelved things, and
you need to implement the ones that boost the revenue the most right now.
Your favorite features may not be on the top list. You have to learn to deal
with that and also to explain to your employees why you can’t afford to let
them spend two hours on what they want to do.

Managing and adjusting a project in a way that it


funds itself and optimizing its growth under that
constraint is the highest craft in the universe.

Learn it as early as you can. This will save you decades of life.

4. Go into a technology at an early stage, get out of a dying one

Artificial Intelligence
I knew of neural networks for decades. I had a class on them 18 years ago
and made a trivial network. There was no TensorFlow or anything, I had to
create a C++ class for a perceptron by hand, and everything from that level
up. At the end of the year, I just shelved that knowledge: OK, one can make
text editors, calculators, email clients, and now also some neural networks.
To me, that thing was “one of”, not standing out.

At the same time, it was common knowledge that AI would dominate the
industry sometime in the future. However, I did not link that knowledge and
my new skill to things to put my hands on when the class was over.

I had another chance 3 years later when I was offered to work on a system
that detects stealing of groceries from a video stream, and that was in 2008! I
refused because I wanted my own “business”.
Now at my current startup, I need AI that detects what algorithms a piece of
code uses. It’s much simpler than the cutting edge of the industry, but it’s
hard for me to wrap my head around, and I procrastinate.

Mobile apps
Another shot was with mobile apps. I had a class on mobile development 17
years ago. It was Java Mobile Edition back then, and no OS-specific coding,
but it was astonishing that you could run stuff on this small thing in your
pocket. So alright, I made a Tetris in JavaME, put it online, and have
forgotten about it.

Fast-forward 14 years, and everything is mobile. I started to learn Flutter


without any prior knowledge of Android and iOS development. Most job
postings for Flutter require native mobile experience and see Flutter as a
fancy toy on top of that, so I don’t fit well.

A friend of mine is a tech lead at a studio that is “12 years in mobile


development”. Their customers include KFC, Burger King, SAP, and Mars. I
could have started such a studio. But I have not.

PHP
Instead of that, I went into PHP 20 years ago. It was just the right thing to get
a startup running in 3 months, but I stayed in that for too long.

I realized that 4 years ago when I decided to get “a real job” instead of free-
lancing. PHP jobs were boring. For some reason, large companies were
using just about everything else for the backend on new projects.

This is when the truth hit me. I saw it on the horizon before when other
promising things were emerging: Node.js, Go, etc. But I was secure, I had my
customers to which PHP was the best solution for many reasons. Yet the
spotlight has moved away, and the PHP market was shrinking.

If you don’t read early signs of a technology dying, you will have to read
harder signs and pay higher costs. The market for small corporate websites
was killed by no-code website services. Then larger companies turned away.

A technology does not get abandoned for no reason. The reason is a poor fit.
If you say that popularity does not matter if the technology fits your purpose,
look closer. Something else better fits the industry requirements, so it most
likely better fits yours as well.

With PHP, the problem was the standard library being an inconsistent mix of
all styles you can imagine, poor typing, and hard configuration. I spent
weeks fixing and configuring the linter for my last PHP job, something that
comes out of the box with a typed compiled language like Go, Dart, or
TypeScript.

Telling the life stage


It’s hard to tell if an emerging technology is a brief trend or if it will
dominate the field. However, at some point it becomes clear. Soon not seeing
it becomes a lie to yourself. The same is with an old thing dying.

Ideally, switch when the perspective is sure. At least switch when you notice
you are lying to yourself.

Actively question
You must be proactive. Actively question “Is this still the thing?”

People around you are not interested in you leaving


the technology.

Employers need you to maintain the legacy they have. Colleagues need your
approval in their own fear to switch their stack. If you let things go naturally,
you will end up doing a dead thing that desperately pretends to be alive, and
you will have a terrible time switching if you will still be able to.

Look at the salary chart by StackOverflow:


They pay more for Objective-C to keep you from switching to Swift. The
same is with keeping you from switching from Perl to Python.

A note
You cannot just do trendy tech because it’s trendy, you will have no passion
for it. There is a higher reason behind choosing your path. I like designing a
system as a whole. It has a backend, a frontend, an infrastructure, and a lot
of things in between. I maintain a set of skills to fully architect that.
I would miss those skills if I fully went into AI in 2005 or into mobile apps in
2006. What I miss is the flavors of those things in my work. I was choosing
the flavors based on my habits and not the vision of the future. And that I
regret.

5. Think of the next elimination


This advice is similar to dying technologies, but it concerns the bigger
picture. Not only the technologies come and go, but also the “models” of
what you do with them. This idea is not straightforward, so I wrote a
separate article on it. Please take time to read it and then continue here.

I believe that

The whole history of technology is not a history of


creation but a history of elimination.

Websites emerged not because they were cool but because they had to
eliminate paper catalogs.

Marketplaces like GetSoft.ru emerged not because we liked looking up


screensavers and chat on early forums, but to eliminate the need to go
and buy CDs.

Platform stores put custom marketplaces out of business because


remembering and typing “getsoft.ru” was a redundant step in getting
apps that people wanted.

Everything turned mobile not because phones are fancy, but because a
larger computer was physically a burden.
No-code websites emerged because the path from the idea to the website
was too long.

Flutter is popular now, and it’s my main business. The current model of
using it is that a company hires programmers or an outsource vendor, and
they create, release, and maintain an app. Is this the model to invest in?

More and more often we hear about low-code and no-code solutions like
FlutterFlow and AppSheet. Just by chance, I learned two of my friends were
independently working on a “WordPress in Flutter” to both kill the regular
small websites and generate Flutter apps more easily.

Even if the technology is not dying yet, you may be on a dead branch of its
usage. It does not mean you will drown in the red ocean of Flutter agencies
as I did in the red ocean of website agencies. Some achieved great success
with websites then, and some will achieve great success by coding Flutter
apps manually in the coming years.

It’s just that you may no longer be riding the wave but struggling to swim
forward. And you may be wasting the time you could use to meet the next
wave prepared.

Think of the burden your customers and users face. Know that something is
out there to eliminate it. It better be your offer.

6. Do business higher in the chain


When I was making hobby computer games in 2002, the competition was
high. I had about 10 visitors per day on my website from marketplaces, and
turning that into a business would be hard. Instead, I made my own
marketplace for software and got 1100 visitors per day in the first year.

That was a step higher in the chain. I no longer had to compete with others
but turned their competition to my advantage. I could offer all the software
to choose from.

Soon I learned there was an even higher position. One guy made
SoftSearch.ru, a search engine over software marketplaces. There were
hundreds of marketplaces by 2004, and he leveraged them to truly have
every piece of software. I was not aware of his income, but as the markets
were changing and marketplaces were putting each other out of business, he
would still benefit. I shut GetSoft.ru down in 2014, while he killed
SoftSearch.ru only in 2019.

So it’s a pattern. Two overused examples of the pattern are Google and Uber.
Instead of competing with other websites in their content, Google just took a
step higher, they search over websites and benefit from their competition.
Instead of just making apps for Windows Phone and iPhone, Google made
their own phone. Uber took advantage of drivers’ competition instead of
competing with them on the same field.

You don’t necessarily have to become a Google or an Uber in your business.


Most often, the business and its aggregation require radically different skills.
A marketplace is relatively simple software, while it contains true gems that
may be orders of magnitude harder to make. When a piece of software sells,
its authors get more revenue and recognition than the marketplace owner.
You may very well be better at the business rather than trying to organize the
field. Just be aware of the pattern.
Another example of a higher position is in the chain becoming an educator.
There is a smart way of finding a good freelancer when you don’t have time
for trial-and-error with them. Just find someone who teaches that profession
with many successful students and hire that teacher for the job. That is more
expensive than an average freelancer, but the success rate is higher. That’s
why

In a dying market, teachers are the ones who lose


their jobs last.

One of my employers was teaching how to do business in common goods


and services. After that, he switched to how to teach people to teach in their
favorite niches. In that second business, he made almost 4 times the
revenue, because he took a step higher in the education chain.

Yet another example of an activity higher in the chain is establishing


standards for your field, codes of conduct, or awards. This immediately puts
you above others. I don’t think you can force that until you are excellent in
your job, but be aware that at some point those steps can be the best possible
developments for both you and the industry.

7. Choose science over application


I am a guy of industry, not academia. I do things that work, based on science
and common sense, but I don’t research new algorithms, theories, or
principles. I don’t do studies. I do my own business until those smart guys
drop me a new API to use the new goodies. And I wish I was more in their
position.
This is actually a formal choice you make after a Bachelor’s degree. If you
study to become a Master, that’s scientific. You cannot just code a useful
thing to get a Master’s degree, you need to do your own research or make an
invention that gives new ideas to the world.

I didn’t go for my Master’s degree. In my country, there was an option of an


“engineer degree”, 1.5 years of applied stuff after a Bachelor’s degree, instead
of 2 years of research. So I chose that, and I regret it.

My engineer diploma I chose instead of pursuing a Master’s degree.

15 years ago, going to market was easy. One could just do things right to get
to the top. Think of Facebook. They did nothing new over what others were
doing, except that they applied it to the domain that exploded.
Now is the age of science. The advantages of great architecture and clean
code have diminished because more people do that by default. Those things
are important tactically, but you can no longer rise to the top with them
alone.

Instead, anyone with a grain of “magic” is immediately successful. A


hundred existing services for some goal vanish when one stands out with
some AI prediction or generation.

The rise of Python is a great indicator of that. It is popular primarily because


it has extensive libraries for math.

Source: PYPL (PopularitY of Programming Language)

The praise of science is nothing new. 40 years ago scientists were busy with
database indexing and search algorithms. A jealous programmer could be
wishing they invented a good algorithm and had the best DBMS on the
market. But time has passed, and those systems became merely a foundation
for that programmer to build on top and do their miraculous applications.
The same will happen to neural models. If you missed their development,
you will just be using ready-made models to simplify your work on a higher
level.

The difference is that 40 years ago science was threatening the jobs of
librarians and phone operators. Now it’s cutting jobs of analytics,
interpreters, designers, and assistants. Programmers are next in the line.
They will not all go unemployed, but

The number of programmers required per scientist is


steadily going down.

And this will continue. Science is closer to the market than ever. Soon
consumers will be buying pure science. They will be using a thin client, and
no one will credit its author, an applied programmer. Have you ever heard
the names of the people who made the frontend for ChatGPT? No, because
they are totally replaceable and likely paid the least.
No one knows who made the frontend of ChatGPT.

Also, if you are thinking of the next elimination (which you should), it’s
scientists who know of it first. The search for the next elimination alone
dictates choosing a career in science and then using your fruits to start
revolutionary businesses.

Some eliminations originated from practice, like social networks. They were
just an old technology applied to the new domain. But it’s getting
progressively harder to reduce human’s burden without science.

I strongly feel like an applied guy, but that was never my factory setting. I
wish I went for a Master’s degree, did a few years of research, and then
decided which I liked better. From science, you can always downgrade to
craftsmanship if you want. The other way around is harder.

8. Invest money not only in yourself


My whole life it was taken for granted that programmers are in high demand
and make a lot of money. So I never felt like I needed to save. As a result, at
the age of 38, I only have $20'000 in banks, a 12-year-old car, and a quarter of
an apartment in the country I left.

At the same time, my younger friends who barely make a living have already
paid a better part of their mortgage.

This is striking to realize that 20 years have passed while I had been living “in
the future” never converting it into a reality.

Put your mind on money. Take a good course in investing. Start investing.
Buy a residence.

I did a good job scoring the Google Developer Experts certification, which
puts me in high demand and in the realm of team leaders and CTOs. Without
this single thing, most employers would prefer a 25-year-old over a 38-year-
old, let alone a 48-year-old I will be in 10 years.

I was fired from my last job because they had no more contracts for my
skills. They gave me a 29 days notice. Of the entire team, they kept only one
youngest guy to support the existing software. I do not know their reasoning.
Part of that must be that a senior is bored with support and would probably
quit anyway. But it’s still a fact that only the youngest guy kept his job.
Most of the developers of my age don’t have such competitive advantages, so
you must prepare for a worse scenario. With the advance of AI, no one is
secure. So never treat yourself as someone special. Anything you rely on can
be depleted any day. You want more than 20 grants in your pocket right now
and not in your dreams.

Even worse is that after your mid-30s, the world starts to treat you as a bum
without property and money. A year ago, I was refused an Australian visa on
the grounds that I do not demonstrate a habit of earning and saving and have
no ties to any country (no estate), so they feared I was not coming back. Then
the UK visa.

That was striking because in my 20s I was easily scoring visas for the USA,
France, The Netherlands, and others, with less money and property.
When you are young, you are promising to them, all doors are open for you,
and this euphoria obscures the flip side of the world:

If there are doors, it’s for them to be closed to


someone.

And that someone is anyone approaching their 40s who does not meet the
social standard. Meet it even if just for that alone.

9. Seek a job at the IT industry leaders


I spent about 8 years freelancing, and it gave me nothing to tell about. I
made a website for one of the most reputable dentistry clinics in my city. So
what?
I can’t even show it to anyone because two years later they got a yet newer
one from somebody else. I have about 40 cases like that.

When you start working for an industry leader, they usually don’t pay you
much, but you can grow fast there. I know folks who started from the
country’s average salary and in six years got a raise to 10 times that. And they
have tons of things to tell you that can secure any job for them.

No freelance job is hard enough or interesting


enough for any worthy company. It’s just to sell your
best years for money, nothing more.

Wish I had known that early. Instead, the early articles on the phenomenon
of freelancing that I read were praising the freedom that it brings, so I never
questioned the idea. In reality, the only thing that brings freedom and does
not make you a wasted hobo is your own business, but that’s a whole
different story.

A job in a small business is a bit more interesting than freelancing because


you get some management and marketing experience, but technically it still
is a monkey’s job. For instance, I was a CTO at an education company. I made
a CRM and an LMS for them using technology that was mainstream for a
decade. The company flourished. So what? No matter the nature of your
business, to anyone else it’s just PHP + MySQL with CRUD.
Just one of the CRUD systems that made $274k in profit.

Large companies require the following skills:

Architecture of distributed systems.

High load.

Transactions, managing race conditions, parallel computing.

Request optimization, profiling.

Auto-testing and CI/CD.

The right ratio of refactoring and coping with some legacy.

Being extremely careful with changes and deployment.


You get none of that in the IT department of a typical small business. But you
can easily degrade from a large company’s specialist to a job in a small
business if you want to.

This sole asymmetry in the requirements dictates that you should seek a job
at industry leaders while you still can. And then you also get tons of things to
boast about.

Another crucial reason is that in freelance and small business you typically
are the most skilled programmer, so you can only learn from the internet.
But learning from your colleagues is way more efficient than what you can
get from reading and watching videos.

It’s just in the air. While you work, you get tons of signals you don’t pay
attention to but still consume, and they become a part of you. If you are
freelancing from your home, your background is dogs barking outside,
which gives you nothing. But if you are in an office with skilled
professionals, your background is someone discussing awesome solutions to
problems you never thought existed, and it becomes part of you for free
without you even asking.

Run from the places where you are the most skilled
one.

The good news is that large companies often hire interns to grow them. For
instance, my brother worked for Intel for two years while being a student. It’s
nice to have that on your CV by the age of 24, isn’t it? After your student
years, it’s harder to get that.
10. Do critical things
A job at a large company by itself is not good enough. You can choose tons of
things to work on, and they feel more or less equal, but not for your record
in the long term.

For example, a criterion in the EB-1A green card program requires you to
perform a critical role, which is defined as something like having a
significant impact on the organization’s metrics. Even if you do cutting-edge
work that requires all the skills in the world, it may not be seen as critical by
an observer, because its impact can be indirect, or there could be too many
people like you so your personal contribution is hard to estimate.

On the other hand, you can do critical things without touching any modern
technology at all. For instance, I was lucky enough to be in charge of an
authentication system in one of the companies I worked for. It was just some
PHP code, but I found and fixed some critical vulnerabilities. I also helped
them introduce static analysis in the CI, which reduced unexpected
downtime. Those things together likely have secured an EB-1A program
criterion for me (I say “likely” because when a petition is approved on the
first attempt, they don’t tell you which merits they counted, but I think this
one was strong).

Sure enough, you do not need to choose between “critical” and “cutting
edge”, you can do both. Choose your company and duty and spend your time
so that it counts towards both metrics.

When considering a position, think of how easy it would be to prove to a


layperson that you were central to the success of the project even if not being
any formal leader. It’s a whole different dimension of your profile than just
technical excellence.
I only spent 4 years doing things I consider critical. It means 16 wasted years
that did not really improve my profile, which could be 5 times more
impressive.

Most of the time, the critical role opportunities just find you if you are ready.
A CEO or a CTO will just call you out as happened to me multiple times. But
before that, you can still actively seek them.

If I was a junior seeking a critical role, I would become an assistant to


someone in authentication, or encryption, or high-load system DevOps, or
query optimization. These positions rely on meticulousness more than on
high experience. Generally, anything with a high cost of error will do if it can
be easily explained.

11. Understand “A Message to Garcia” right


The most important business text that I know of is A Message to Garcia by
Elbert Hubbard. Take a few minutes to read it now, it’s short.
Elbert Hubbard and his most famous story. He is not the Hubbard most think of.

In just about any task I require from anyone, they ask way more questions
than they should have. For a week’s job, I normally give ~2 hours of
explanations of what I think should be clear from a 5-minute talk.

If you made it this far, I believe I should not expand on this, and the text will
set you up right.

On the flip side, there are fanatics who do things wrong but are proud of not
asking questions. This is less common though and less problematic.

I was one too. I needed to make an endpoint so the frontend could show
whether some records were in the database. I anticipated that at some point
they would also need the count, so I returned the count. If they ever need it,
they can show it without my help. It was as simple as
SELECT COUNT(*) FROM t WHERE something;

A CTO got angry when he learned about my solution. He asked me to time


that. It was under a millisecond, and I saw no problem. Then he asked me to
time the following:

SELECT 1 FROM t WHERE something LIMIT 1;

And it was 20 times faster.

Was I wrong? Not in the realm of low-load apps for small businesses where I
came from and where provisioning for fast future improvements is one of
the top skills, that’s why I did not even ask how to do that. What I lacked was
experience in high-load systems and the context.

If you have a question, you need to be able to tell if the question is


compulsory out of the habit to be told what to do, or necessary. Then you
either drop it or ask it. That only comes with a deep understanding of
context, which is a mixture of business needs, budget, goals, roadmaps,
architecture and its limitations, backlog, external dependencies, the entire
history of the code base, etc.

If you really are unsure how to do the job,


The least bothering and the most productive
question you can ask is what the priorities are.

Then you derive your solutions from that. An answer could potentially save
me from scanning the whole table.

The second best thing I can tell you is to be aware of the balance and to learn
all of those factors listed above specifically for your project to get better at
asking and at not asking.

Given that you are basically worthy and proactive,

That balance of asking and not disturbing is one of


the key factors in your promotion.

12. Contribute to important open-source projects


Open-source contributions are important for your resume, interviews,
membership programs, awards, and even talent immigration programs,
which all give you score for that.

My most popular open-source contribution is a feature in PHPStan, the most


popular static code analyzer for PHP. This code of mine has been
downloaded over 135 million times.
Download statistics for PHPStan. When my PR landed, it had about 15 million downloads.

It likely secured a criterion of the EB-1A program for me, “scientific


contribution of major significance to the field”, which is ⅓ of what you need
to get a green card.

To make that contribution, I had to switch to part-time work because it’s


hard to spend weekends coding when you are 34. If you are in your 20s, your
time is basically free and unlimited, so use it.

My most impressive but less popular contributions were the frontend for two
apps for Apache (Beam Playground, Tour of Beam) and a code editor in
Flutter.
Together with some writing and speaking, they gave me the title of Google
Developer Expert. From the interviews for the program, I feel like my open-
source stuff was more important than my writing and speaking, but I can
never be sure.

If you choose the project right, an open-source contribution is like buying


the right stock early. You then just do nothing and watch millions (of
downloads) counting. Like with stocks, if you miss out, at a certain age you
will not meet a social standard and will be discriminated against. Unlike
stocks, open-source contributions cannot go down even if the project does,
because you are judged by the peak popularity of whatever you did.

As with anything else, a contribution for the sake of contribution is boring.


All my open-source stuff I did because I needed it for my work. So you
should pick a job with ample open-source contributions as a side effect,
that’s the secret of balance that gives you a good record without extra effort.

We always aspire our packages to become hits so we are the owners of top
open-source repositories (quit the project if you do not). This does not
happen to most of us. My own top Flutter package is only in the top 16%,
which is heartbreaking.

Do not put all your eggs into your stuff, go and help someone who is already
famous. This will hedge your record against your own stuff not booming.

I only worked professionally in open-source for less than 7% of my career,


and wish I did more. I know GDEs with 80% of their careers in open-source.
Those opportunities exist, look for them.

13. Go insanely public


20 years ago, it was a personal choice to become public or not. There were no
social networks, no video on the Internet, and one had to write for
professional magazines to get publicity. It took a lot of effort, so it was OK for
a professional to stay in a shadow and not do that. To get a job, you would
just write your resume in a .doc file and send it to companies. They had no
other choice but to believe you and invite you for an interview.

It is no longer OK. Being public takes nearly zero effort, so if you lie low, it
shows your fear, incapacity, or questionable life priorities. Even introverts
must at least write articles to not cause suspicion. If you show up out of
nowhere having 50 friends on Facebook, no writing, and no public records
of things you did, you will have a hard time getting any decent job.

Now that everyone is public, you should be insanely public to stand out. It
should be an integral part of you to write about everything you achieve,
every discovery you make, and every reusable piece you release.

It should be harder for you to shut up than to speak to


the world.

Write more
I published my first technical article on September 29, 2004. It was viewed
5000 times. I felt elated. I was a 3rd year student, and already many were
learning from my experience.
For some reason, I published my next article only 17 years later.

I have been writing for this blog for only two years, and I have over a
hundred thousand views and hundreds of followers. Following grows
exponentially because an impressive figure attracts even more. If I did not
pause for 17 years, I would be a rock star by now.

I will write a dedicated story when I hit a thousand followers on Medium


(UPDATE: here it is). Meanwhile, a few short tips:
Never repeat yourself in code reviews and mentoring sessions. If you are
saying anything twice, take your time and write it down and publish, then
only give them links. This is the easiest way to start writing if it does not
go naturally.

Publish on all popular platforms. If you only use one, it can change the
recommendation engine. You spend years building up your following,
and then suddenly they are not guaranteed to see your new posts. Many
platforms did that and are now mostly used has hosting for texts. Hedge
against that by being everywhere.

Follow the “author-first” principle. When choosing a job, check if the


company agrees with this vision and promotes your Medium account.
Some companies actually allow you to write as part of your work time
and even pay extra for articles, all of that while allowing you to use your
personal Medium, although they will likely not allow you to end articles
with a call to subscribe to your personal Telegram or Twitter.

Turn everything important into a text, even a visa denial. This way, there
is no loss ever in your life because at worst you will have +1 text.

Write your private diary. I learned that tip from Stephen Covey. First,
your thoughts are blunt like “I went there. I did that.” In a year, you evolve
to writing long philosophical stuff without noticing.

Make videos
The top video blogs typically have 10 times more followers than top text
blogs. This means we miss out greatly and virtually do not exist if we only
write.

I am not good at videos. I hate rehearsing, and it normally takes at least one
full test run before a decent recording. I hate the feeling that I must perform
well or start a video over if I stumble. I hate pre-arranging things like
opening folders and tabs for a screen recording. I hate editing because of the
time it takes and because I constantly think of improvements when it’s too
late to make them. Wish I could teach myself to love that and do it long ago.

Videos are way easier to make when you are younger. That’s because your
time feels unlimited, and so the things I hate about video don’t apply. So
don’t listen to my complaints.

I started my YouTube channel in 2011, pretty early, but then I did not do
much about it. I have over 100 thousand views there, which is not bad. It is
not about programming though but just about anything else.

I took courses on video and actually was not bad at videography and made 3
shorts (one, two, three).

I even made a video course on how to shoot yourself well that covers 15
subjects from not fearing to stream to setting up camera grips, lighting, and
microphone, to professional editing, and I am officially making it free
starting today (but it’s in Russian).

The great advantage of text is that you can edit it at any time to perfection,
unlike video. I am writing all of this before knowing the result of my green
card application, then I will just update all mentions of it when I learn it. You
cannot do that with video yet, but AI will soon enable us to script a video and
then render it so it feels as if you recorded it. Your face, the screen, and all
the actions will be perfectly timed, so all my complaints will stop applying,
again. Anyway, those with a natural habit of recording and publishing will
have an edge over those scripters, because of quicker thinking and
experience in promoting their videos, so start soon.

I am going to make videos accompanying my future articles and catch up


with the old ones.

Speak at events
I stuttered badly when I was a kid and a teenager, so I used every
opportunity to not speak. I also seem to have Asperger syndrome, which
makes it harder for me to formulate things clearly in real-time. By the age
when people generally have the ability to speak their minds and are more or
less captivating, I was dull (that’s one of the reasons I am good at writing, it is
a compensatory skill).

Then I realized I missed out on life and decided to change that. I had to work
hard to get what others were enjoying from the start and take for granted.

I went from desperate fear to speaking to crowds of 2000 people twice in my


life, although it was politics and not programming (a clumsy one, a better
one, both in Russian).
Me speaking at protest rallies on June 12, 2017, and May 5, 2018, both on Lenin Square in Nizhny Novgorod.

This experience is mind-blowing and liberates you in a great way.

Talking live is a whole new dimension of your life and work. You meet
people in positions you would never meet otherwise. Also, the live audience
forms a way sharper image of you than they would from your videos, you
build stronger bonds and get more credit before they unfollow you (if they
will). You are more real, and people listen to those who are real.

Speaking at conferences also gives you credit towards tons of things:


membership in organizations (GDE, IEEE), score for immigration programs,
and more. Also, speaking snowballs over time. Who is invited to speak?
Those who did before. So get into it.

The easiest way to start speaking is to become a part-time teacher at your


university where they know you. I did just that after I realized I needed a
change. I asked my teacher friend to substitute her informally for a
semester, and she agreed after confirming with her professor. This gave me
a forgiving way to find my feet. If you ever need to feel better about yourself,
just watch my first lectures (class 1, class 2, all in Russian).
One of my first lectures ever, a class on Visual Basic 6 in Nizhny Novgorod State Technical University for the
06-ST group on March 17, 2008.

If you have a leading position or a strong technical one, it’s easy to become a
speaker at some meetup. Just ask your superior how and where you can
speak. I did that, he was surprised and scheduled a meetup with 2 other
speakers from larger companies he had friends in, and we had 40 people in
the audience.

Many managers assume programmers do not like speaking, so they do not


even suggest that. It’s not something that will be bestowed upon you when
they consider you ready, go and ask for it.

I regret missing out on speaking. Now that I am a GDE and get weekly
invitations to international conferences and finally have free time, I will
start accepting them.

14. Store everything

Your work
As a kid, you don’t care for the results of your work. If it was not for your
parents, you would not have any of your childish drawings left. Luckily, I
have this:
Then you begin to care and try to store your past work, in case you need it
later or just to show off.

As an adult, you will notice you fear losing that archive as if it was a part of
who you are. You question why it’s important to you. You may work through
that fear and find a source of security in yourself and not in what you pile up.
Then you may start caring for your archive less. You would not bother to
store some bulky files or something that is hard to sort. You may even delete
something on purpose to liberate yourself.

While this attitude may indicate better mental health, you later realize that it
still would be fun to have things from the past preserved.
My hard disk died around the year 2000, so I can’t show you the games I
made before the age of 15. My Pong clone of 1998 in QuickBASIC 4.5 is of
little use to you now, but I wish I could put a screenshot here. Still, I have the
next best thing, the Digger clone of 2001 in Visual Basic 5, with all gems
rendered in 3DS Max:

“You have 2 rubles. You have 3 lives left. You are on the level 1. 3 monsters left” in Russian.

When you are writing your own 20-years-milestone article, try to show your
early stuff, it’s cute.

Feedback
An even more important thing to store is the feedback from your customers,
colleagues, superiors, etc. If you ever need that later, it may be harder to get.
A person can:

Quit their job and lose the capacity to sign letters.

Forget the value of your work for them.

Become too famous and busy.

Change all contacts.

Die.

For instance, I made an improvement in PHPStan. It was popular and


important even back then in 2020. I thought that if I ever needed to prove my
work to anyone, the PR was there, so I didn’t need to bother to get more
proof.

Then for my green card petition, I had to prove my contribution not to a


programmer, but to an immigration officer who probably could not easily
read the meaning of the PR and could not understand its impact. Not all
officers make an effort to understand if you explain to them why they should
arrive at a specific conclusion. Some are only satisfied with plain facts on a
paper signed by someone in authority. Some are just seeking an excuse to
dump you, as I have seen with the UK.

So I asked the author of PHPStan for a supporting letter to put the meaning
of my job in simple words, but he said he was too busy to print and send me
a paper (which was the preferred format according to my lawyer). I was
devastated to hear that after tens of hours of work on this feature. But it has
been 3 years. People do forget what they were feeling towards your work
earlier, and they don’t owe you anything.

If you put a lot of effort and did a good job, ask for some letter on it. This
request is natural if done soon after the job.

For the petition, I had to write to many public figures around PHP with two
of them agreeing to confirm in writing that the feature was important and
had an impact.

My request was really odd. The essence was “Hi, I am a non-primary


contributor to a project you know of but not necessarily use. Its author has refused
to confirm my contribution, but can you look at it and confirm it was important?”

I put it in better words but still felt miserable. Less than 10% responded, and
most of them refused to even look into this. I even learned that my last
letters went into spam, so some of the recipients were proactively reporting
spam when seeing my emails. Things get crazy hard if someone you depend
on fails you.

Don’t wait until you are forgotten. You will be.

15. Take care of your body


This one should really go first, but then this text would feel like a cheesy
new-age piece.

I am 38 now, and I have health problems.


I have scoliosis, an S-shaped curved spine. When I was a teenager, a doctor
told me that my back would be aching if I didn’t correct that, but everyone
feels invincible at the age of 17, so I ignored the advice.

It was still not hard to correct up until my mid-20s. But I started to care only
around the age of 30. By then, it was hard. I managed to improve it from 25º
to 21º in two years with yoga and massage, but the progress was so slow that
I dumped it. And I wish I didn’t because by the age of 38 it’s even harder. My
back hurts nearly permanently for many years now.

I can’t run because my knee hurts. It started with one-leg squatting during
physical training at university. The system did not care for the health of the
17-year-olds in Russia in 2002, I was not inspected and was required to do
that exercise, which resulted in aching. Later I learned that because of my
muscle weakness my knees took load improperly and my knee ligaments
were under increased tension.

It got worse after running. No one in my life ever showed me how to run
properly. From school to university, no one cared. The teachers would just
say: “Run”. I learned that my way of running was transferring hits directly to
my knees. There are sports doctors who study running. They record you on a
treadmill, then show you it in slow motion and explain everything you do
wrong. They guide you in changing your habits so you don’t hurt yourself. If
you run and even if you’re sure you’re doing it right, go see such a doctor
anyway. And never trust coaches.

Ligaments never recover completely after a sprain. Each incident lowers the
tolerance for the next one and hurts stronger and longer.
Now every hike is a gamble to me. The next day, my knee may start hurting,
which can last for a month. It’s a miracle that I summited Elbrus without
having that pain. You don’t want that.

Me on the top of Mount Elbrus on September 25, 2020.

Diet is another concern. I tried to be a vegetarian without caring if my meals


contained everything the body needed to substitute meat. The first year was
great. I felt pure and energized, just like the vegetarians tell you about when
trying to convert you. After 2.5 years, I felt something was wrong. The
elation was gone. I could easily sprain my leg or wrist with a trivial load
(remember that ligaments don’t fully recover). And I had this vague feeling I
lacked something but could not tell what, a sort of biological call. Then I
started eating meat again. Now I wish I did not have those 2.5 years or cut
them down to 6 months.
Too many of those who promote diets are imposters. They tried a diet, felt
better, and then spread it as universal. The catch is that the uplift of not
eating meat is a body’s defense reaction to stress and deficiency and means
the opposite of what the New Age fanatics tell you. Also, there are way more
things to substitute besides all 20 amino acids, but common people don’t
bother studying that.

I have heard many stories of people hurt by their diet with some tissues
never recovered. They became prone to specific traumas and developed
chronic conditions.

I don’t have the statistics, maybe it works well for most people. Never trust
those who tell you about specific cases and generalize them. However, if
there are damaged lives, seek guidance from doctors with proven
reputations who don’t make things up and only trust double-blind
randomized controlled trials.

Vegetarianism will not save you from hell. In the best-case scenario, it will
make some aspects better, while the worst cases are terrible. If in doubt, I
suggest eating meat for your safety.

Things to remember:

For each activity, there is a proper technique. If you do it improperly, you


may hurt yourself in a way that can’t be recovered and will be causing
permanent pain.

Most of the people who supervise your training or say they can heal you
can’t be trusted. They don’t care or don’t even know right from wrong.
See the top-grade sports doctors.
Heal what bothers you before your mid-20s. A lot of doors close after that.

Never trust your ability to heal when you are young. This superpower will
vanish. Every wrong thing you do to your body will be coming back to
you after you are 30.

16. This is not holding you back


With most of the changes described here, I knew I had to make them long
before I did.

My country was always suppressing freedoms, but it turned especially bad in


2011. If I had moved then, I would long be in a better professional
environment, and I would have second citizenship by now, and not in 2029.
Also, Russians were much more accepted then.

But I have a strong attachment to the past. I was helping those I made
websites for, even when I quit programming for 4 years. They were using my
engine, so I felt I was obliged to support them. It would be rude not to.

I didn’t know then that nothing terrible happens if you shut down your
business. They can replace you in days, they just don’t bother if you are
available. Your words “Please find someone else for the future” do not work
until say “No more” to their urgent task.

Don’t be an asshole like GoDaddy who is dumping all Russians on 19 days’


notice falling on Christmas, just when we relaxed and thought that those
who wanted to collectively punish the innocent did so already in the past 22
months:
And don’t lie to your customers:

…but don’t let people exploit your attachment to your products beyond what
you truly want to do for them.

Personal things are harder. For most of the past relationships in my life, I
either think we can get back together if she changes, or I just want to be
around to help if she gets in trouble. So I stay in the city and then naturally
find someone else there, and it goes over again.

Then also I had a favorite masseur. And an amazing yoga teacher I still can’t
replace after 9 years.
That’s only the things I realize, and there must be tons of subconscious
micro-attachments to food, parks, streets, approvals, etc.

When I went to the university which is not even in the world’s Top-1500 but
was 15 minutes walk from my home, it probably was the most impactful
mistake in my life given the butterfly effect. It’s true that in 2002 it was hard
to get any information or a role model I knew personally, but it’s also true
that some did move.

That’s the worst thing. It’s not “Oh, I wish I could, but
it’s holding me back”. It’s a subconscious block to look
around and to even recognize that something is sub-
optimal.

That’s why people suggest exercising changes just for the sake of changes,
like going to another town for the weekend once a month, trying new dishes,
etc. It may make larger changes simpler, or it may be just another trick
instead of making important changes right away.

When you say you are working through some attachments, it is the
attachment to the idea of the need to prepare that’s talking.

For every change, I was always in the state of preparing for it. I needed to get
a few more things done before making it, which was a lie.

I was never more prepared than on the day before. Every year I realized that
the last year’s attachments were just lame excuses compared to what I have
now. And then the next year I would develop even stronger ones and had
even more reasons to not change things.

It took the war to move me on. And now that my world did not collapse I
understand how pitiful and miserable those excuses were.

If you had a similar shock in your life and you still did not change what you
were planning to, chances are, you will never do it when the stress is lower if
you don’t confront the lies.

I suggest you confront the lies and do what you want now.

The shot I consider the best in my life, Lisbon, January 2015.

That’s it, 16 pieces of advice and not 20, I don’t like the number magic.
Is speedrun really possible?
OK, how do you make in 5 years what took 20?

I planned to write that the youngest GDE I know was awarded at the age of
23, and that is the ground for my estimate. But then something mind-
blowing happened.

On a Flutter call, I met Aila McPhail. She and her sister Sumay launched an
online school for kids two years ago when they were 9 and 12 years old. They
have over 1500 followers on Twitter now (I have 41), and their school has
served over 500 students. They live in Falls Church, a town with a population
of under 15 thousand.
Photo: McPhail Family

Sumay has 4 years to go until she is old enough to apply for the Google
Developer Expert title, but she already talks to top managers of the Flutter
team in virtual meetings. Aila has 7 years to go to GDE, but she expresses her
thoughts like an adult, and only her pitch and the video give out her age.

I started coding at the age of 11, too. And I started wasting my time long
before 18. Those girls did better. And you can, too!

The Green Card


If you are here for the information on the green card through the
extraordinary ability program, I can’t tell you much now. My petition was
approved just 8 days ago, and it’s still a few months of paperwork and waiting
until I get the actual green card.

Subscribe here and follow my Telegram channel: ainkin_com

I will post almost the entire petition text there in a few months when this is
complete. Also, you will never miss a story of mine.
Programming Careers Gde Google Immigration

Written by Alexey Inkin Follow

2.8K Followers · Editor for Dev Publicity

Google Developer Expert in Flutter. PHP, SQL, TS, Java, C++, professionally since 2003.
Open for consulting & dev with my team. Telegram channel: @ainkin_com

More from Alexey Inkin and Dev Publicity

Alexey Inkin Alexey Inkin in Dev Publicity

How to switch from PHP, and to How I became a Senior Member of


what IEEE
I was a PHP programmer for 17 years and then Joining, filling the application, collecting
switched. How to avoid salary drop when… references, getting approved, and verifying…
5 min read · Jan 25, 2024 14 min read · Dec 16, 2023

35 1 162 2

Alexey Inkin in Dev Publicity Alexey Inkin in Google Developer Experts

How I gained 2000 followers on How I became a Google Developer


Medium, and how you can do it… Expert in Flutter
How I gained that audience in two years. How All my steps from not knowing of Flutter to
to measure important metrics that Medium… being a member of the most privileged…

11 min read · Jan 19, 2024 6 min read · Jul 29, 2023

41 740 10

See all from Alexey Inkin See all from Dev Publicity

Recommended from Medium


Jacob Bennett in Level Up Coding Artturi Jalli

The 5 paid subscriptions I actually I Built an App in 6 Hours that Makes


use in 2024 as a software engineer $1,500/Mo
Tools I use that are cheaper than Netflix Copy my strategy!

· 5 min read · Jan 4, 2024 · 3 min read · Jan 23, 2024

8.5K 99 5.9K 86

Lists

General Coding Knowledge How to Career Plan When


20 stories · 912 saves You’ve Already Started a…
10 stories · 266 saves

Coding & Development Stories to Help You Grow as a


11 stories · 445 saves Software Developer
19 stories · 805 saves
James Presbitero Jr. in Practice in Public Alexander Nguyen in Supportive Software Engineer

These Words Make it Obvious That Resources that got me into


Your Text is Written By AI Amazon, Microsoft, and Google
These 7 words are painfully obvious. They Quick Context
make me cringe. They will make your reader…

5 min read · Jan 1, 2024 · 7 min read · 3 days ago

37K 960 294 1

Riikka Iivanainen Serokell

The secret life of people with high Top 15 Software Development


self-control (it’s easier than you… Trends in 2024
Research suggests that people with high self- As we step into 2024, the landscape of
control are good at avoiding temptation — n… software development continues to evolve…

8 min read · Jan 9, 2024 12 min read · Dec 29, 2023

9.98K 168 2K 25

See more recommendations

You might also like