HNHacker News
TopNewBestAskShowJobs

AndreyErmakov

165 karma · joined June 16, 2016

submissionscomments
AndreyErmakov··on Ask HN: How to reconcile “teach everyone to code” and “only hire the top 1%”?
Software engineering is genuinely hard. There's no need to add elitism to it. This choice of vocation is already highly selective towards everyone who tries to enter that field.

I'll share some numbers from my academic days pursuing a CS course. From an average group of say 100 students to graduate with a CS degree only about 3-4 actually had an aptitude to become a serious and wise professional. And even those would not necessarily take a programming job in the end. Some didn't see good career perspectives in it. The rest of the group would come to a conclusion it's just too hard and would spread out to whatever alternative jobs they can find, either IT-related or not.

The amount of computer-engineering talent is pretty constant and very low. You can encourage the general population to try it but that won't accomplish anything. Anyone with genuine abilities and an inclination towards this line of work already goes into that industry.

What is possible is that through inconsiderate encouragement of large masses to enter IT you eventually get crowds willing to perform unqualified tasks for pennies, like building trivial smartphone apps, performing WordPress installations etc. In fact, this already is a reality. I see people around me abandoning their careers and moving into IT. This is in part caused by the economic crisis in my country (Russia) which devalued salaries almost three times, and lately everyone's been thinking about getting into IT to improve their earnings. I also see that people just stumble at the basics. As soon as they realize programming is not about dragging & dropping objects in a visual editor and you have to actually perform some intensive thinking, people just give up that idea and quit.

Ultimately, it will just make it more difficult to distinguish a professional in a larger crowd, but it will not make his/her services cheaper. In fact, it will probably cause more people to be burned by amateurs posing as professionals and eventually they'll be more ready to pay the premium in order not to have to deal with amateurs and risk their projects ruined. Software engineering services will then become more expensive in general.

Software engineering is hard and will remain hard. The amount of talent will also remain pretty small and launching a thousand of new programming schools is not going to change that. Smart people don't need any schools at all. For those who aren't smart, schools won't help them much.

As to what the end game might be, it's just too early to say. The society is transforming into a different community. Right now it looks like people with average abilities will have tough times landing a job as those become automated and replaced by computer systems of some kind, whereas it will be easier for the unqualified folks and for the highly qualified ones. The middle might just see some very rough times. We'll just have to wait and see which way it goes.

AndreyErmakov··on Announcing .NET Core 1.0
I've started with the book "PostgreSQL Up & Running". It's rather lacking in detail and has a lot of typos, but I'm nevertheless enjoying it. It's written in a simple language and it provides a good landscape overview, which is exactly what you need in the beginning. Get the big picture first and then you can look for the necessary details as you go.

http://shop.oreilly.com/product/0636920032144.do

AndreyErmakov··on Announcing .NET Core 1.0
Now that someone has downvoted me, I know it is the right choice and I must learn Postgres. Thanks for your support, folks.
AndreyErmakov··on Berlin is now in a position to usurp London as the startup capital of Europe
Something like living in a flat infested with insects, walls not properly isolated making it pretty cold in winter with the heating set on maximum so you need to sleep in a sweater and a jacket, broken electrical wiring and the lights shutting down every now and again, a mixer that could not deliver a constant temperature water stream. Loud music, smoking, a construction place less than 100 meters away. Was my reality in Stuttgart. Couldn't find anything better. Or, more to the point, I could but that would necessitate a salary of 80-90K to be able to pay back whatever expenses such a rental would incur.

I know of course that even by German standards it's a luxury. Many working people (non-IT) can only afford a room.

Sometimes I think the government really needs to step in and cap the rental prices to 1/3 of the average salary in the area. Otherwise that inflation never ends.

AndreyErmakov··on Berlin is now in a position to usurp London as the startup capital of Europe
>> I made 50k in a more expensive city, Paris. From that my partner and I were able to buy a flat, put our son into a catholic school

Having a partner doubles your income. More, if French taxation works in any way similarly to the German system, then an official relationship puts you in a different taxation category. Having children moves you into yet another category where your net income noticeably improves. You're probably making an equivalent of 100K for a single person without realizing it.

>> And yet these startups, everywhere, are able to do exactly that. They use equity as a carrot to lure experienced people from a sure thing all the time.

Not really. Everywhere where I've been I've only seen kids writing code. Anybody who is senior has always been an independent contractor, and it's usually them who actually advance the work by leaps and bounds. But those, today you have them working for you, tomorrow they're elsewhere. And with the young and inexperienced, you won't accomplish much.

Also, experienced people with families usually ignore any talks about equity and start the initial offer analysis with a calculator in their hands. I'm yet to encounter a true senior specialist with family obligations that takes equity over hard currency.

AndreyErmakov··on Announcing .NET Core 1.0
Personally, I prefer writing SQL by hand. That way I know exactly what will happen in a query. A database really is an important component of a system and shouldn't be treated like a dumb data store where you just throw in any stuff you like through an ORM and hope it sticks there somehow.
AndreyErmakov··on Announcing .NET Core 1.0
Because I really like the power of SSDT (SQL Server Data Tools) and how nicely it integrates with Visual Studio and would like to continue using that instrument if possible.

But I can't seriously build a complex product around SQL Server knowing that 10GB is the sky for my database.

AndreyErmakov··on Announcing .NET Core 1.0
What I meant was that's just not enough. You can toy with it in a hobby project but in production that will be exhausted pretty soon.
AndreyErmakov··on Announcing .NET Core 1.0
Thanks for the information! Apparently I missed that in the news stream.

Sad to hear about that though. I was hoping for a break. Will just have to continue reading that PostgreSQL book I've already started.

AndreyErmakov··on Berlin is now in a position to usurp London as the startup capital of Europe
A bit of feedback from someone who tried to make it in Germany with a 40K salary (in the south) and couldn't. It's just not doable. You need at least 60-70K to get started in medium towns, and around 80-90K for large expensive cities. Otherwise you either have to downgrade your standard of living to that common in third-world countries or accept it to live with a chronically empty bank account and most likely with a long-term debt as you're trying to pay back your initial accommodation expenses. Cheap is an illusion for a brochure.
AndreyErmakov··on Announcing .NET Core 1.0
A bit unrelated, but I'm hoping to hear something soon about the future licensing model for the upcoming SQL Server on Linux. Do we get a free version without DB size / CPU / RAM limitations (but perhaps with some other restrictions) that smaller companies and startups can use in production?

I'm planning to run my future ASP.NET MVC projects on Linux and very much would like to know if a better SQL Server Express / Community Edition is coming or do I need to move to PostgreSQL (which I have already started looking into).

AndreyErmakov··on Announcing .NET Core 1.0
Documentation as a PDF (constantly updated):

https://readthedocs.com/projects/aspnet-aspnet/downloads/pdf...

It's really just a copy of their informational web site content with articles by different authors, but still very conveniently combined into a single PDF useful for printing etc.

AndreyErmakov··on Ask HN: Next european hub Berlin?
>> I relocated from another continent. My company gives decent relocation/signing bonuses, so I assume our competitors do too.

Not really. From my experience, only very large companies can sometimes offer you about 1-2K as a compensation for your relocation expenses and that's it. Consider yourself very lucky.

>> the market rate is what it is, no company in its right mind is going to hire someone asking for +50% with no good reason.

High living expenses is a good reason already. Also, what is not immediately obvious, an employee whose mind is constantly occupied with things like looking for a cheaper apartment or finding a more paying employment is not going to be performing well. He/she has other needs and building your product well just isn't high priority for them.

AndreyErmakov··on Ask HN: Next european hub Berlin?
This. The situation is completely different for an outsider than for somebody who's already made their move or for a local person.

My experience has been that German bosses in general do not comprehend how hard and expensive it is for somebody from far away to come to Germany and organize their life in there. A lot of people arranged for everything they need in life years ago and already forgotten about it. With the young generation, many live with their parents, they basically have their own free apartment in the parent's house, they have a car purchased for them and some money in their bank account to cover their immediate needs. A very convenient setup which makes them oblivious to how much those things actually cost in the real world. It happened many times when in a conversation with them I shared my experiences and practically the universal reaction I was receiving from them was along the lines of: "Really? Now, that's tough. Good luck to you then."

If you come to a new country you by definition have nothing and you have to procure everything from the most basic tools to whatever you're going to need as a professional. Consider what you have to purchase/pay for:

Rent an apartment, pay the security deposit, pay the agent commission, purchase a set of furniture for the entire apartment (most are offered empty and unlivable), purchase the household appliances. Unless you fancy living with roommates, eating junk food and sleeping on the floor.

If you're a software engineer, you're most likely going to be buying a workstation, a couple of monitors, a large desk, an ergonomic chair, a printer, a scanner and whatever else you need. Unless you plan not to do anything programming-related beyond office hours.

If you're going to a location where the public transportation system is not well developed or if they like to call strikes there all the time, you'll also need to purchase a car and get yourself a local driving license. Unless you enjoy losing hours in commute and regularly being late for work.

See how the numbers quickly add up. And somebody's got to pay for all this fun.

Notice how I'm talking about the basic stuff only that practically every person would need. I haven't even gone into family/childcare expenses.

I remember having a conversation with my boss about all of this. I was trying to get across the point that the amount I was receiving was making it impossible for me to set up a life at that location. To which I was told if I was unable to rent an apartment then I should consider renting a room instead and share the apartment with others. Now, that's positive. Definitely a thing to say to a talent who has multiple other options and the whole world open. And since the same level of payment was being hold firmly by all other German companies I negotiated with, I finally made the choice to move out.

That probably explains why there's so little true talent you can find in Germany. The treatment just isn't good.

AndreyErmakov··on Ask HN: Next european hub Berlin?
Actually, you can live there quite nicely without German. The basic vocabulary to get around easily is rather small.

What you can't do without German is to integrate in the society. Which is pretty tough even if you speak German. Without it you're basically disconnected.

AndreyErmakov··on Ask HN: Next european hub Berlin?
>> You are going to have to abide by those "bummer" consumer protection laws...

If you're dealing directly with consumers then yes. If it's B2B then no, you won't have to. And there are lots of startups offering services for businesses only.

AndreyErmakov··on Ask HN: Next european hub Berlin?
I can confirm this state of things. The payment is indeed very low throughout German companies.

For an outsider to come to Germany and attempt to set up a life there from scratch, they would need at least 60-70K (for medium towns) and at least 80-90K for places like Munich, Stuttgart or Frankfurt, probably even more. These are the numbers from several years ago, today everything has become much more expensive. And for a family person even more than that.

Speaking from experience, I lived and worked in Germany for several years, and eventually I had to leave. One of the main reasons was the low payment, I was basically struggling to make the ends meet (with my modest salary of only 40K). In the end I decided I had better things to do with my time and returned home. I am aware of other people who finished their studies, had a look at the local job market, did the math and didn't even bother to try things out.

The other reason that pushes talent away from the German market is lack of recognition. There is some unhealthy division of labor that is prevalent in German companies. Basically, native Germans are deemed to be the brain center of the entire operation and foreign specialists are regarded as grunt workers who have little say in the process or influence over things (as well as practically no opportunities to rise up in the ranks). I can't see any real talent being enticed by this general framework.

As a resume, German companies need to pay much better and need to open up to other people and other cultures, if they want to become a real startup hub. You can't build a rich and vibrant place full of progressive ideas around a close-minded mentality and with people trying to survive on a diet. With the present state of things, they might trick some talent into joining on a case-by-case basis but most likely that relationship will not last.

Do I count myself as a talent? I really can't say. I'm an educated person (I have both Russian and German academic degrees), also enthusiastic and entrepreneurial type, full-stack developer, I can do complete projects and have ideas of my own which I've been trying to turn into my own products. I suppose I could have contributed a lot in a receptive environment, but my experience was that nobody really needed any unsolicited input or contribution, you just implement the things as you're told and the thinking is done by the other guys. So I took my ideas elsewhere.

This all truly is a shame, because on the whole Germany is a fantastic country with lots of nice and smart people. Yet there are certain [mental] barriers that prevent it from becoming something more. I very much hope people eventually remove those obstacles and then the IT industry will begin to flourish in Germany.

And yes, Berlin really is a cool place to live in. If it were to become a startup hub, then it would be just awesome.

AndreyErmakov··on Ask HN: What's a better way to digest regular/tech news?
What you should really be doing is finding a way to consume as little news as possible, only picking up what really matters. Most of it is useless. Even HN has an inordinate amount of stuff that's either clearly political or local US news which I don't care about, that's why I generally don't follow the news page.

The AskHN is however a source of good discussions which can often provide you with new and useful insights into things.

The must read on the subject:

http://dobelli.com/wp-content/uploads/2010/08/Avoid_News_Par...

http://dobelli.com/wp-content/uploads/2010/08/Avoid_News_Par...

AndreyErmakov··on So I refused a white board technical test and was asked to leave
Just to clarify. There are many smart and intelligent people among the Eastern Europeans who've moved beyond that level. It's just I've never encountered that type at the interviewing table. Those that I've seen were mostly interested in scratching their ego, proving their smartness to their bosses and putting down the candidate in public. Naturally, they were making a terrible impression of the company and I wouldn't have accepted to work there anyway (unless after a letter from the CEO stating they have all been removed from the company).
AndreyErmakov··on So I refused a white board technical test and was asked to leave
>> you can't have one candidate go through one evaluation process and another go through something completely different

Yes, you can. Because people are all different and need to be approached differently.

>> I think the biggest issue is that companies like FB and Google and other tech giants use these interview techniques

Didn't Google recently admit that those "interview techniques" are worthless and have no correlation with the candidates' abilities to perform well in the field?

>> So, until we have solid proof of a better process that scales

You don't need to scale. You don't have to interview half of the town. Just find some people you can work with and stop there.

>> I think those types of interviews are going to be a consistent part of the tech job industry

As I mentioned earlier, those types of interviews aren't practiced in the Western Europe and hiring there works just fine without them.

AndreyErmakov··on So I refused a white board technical test and was asked to leave
Basically, the interview is all about getting to know a person. You discuss your experiences, your interests, your values. You get to know the people interviewing you, they get an image of you. The company tells you about what they do, then asks you to tell something about yourself. Then you move on to discuss the position, their needs and their objectives and eventually you both develop an idea if there is a good match (for the both sides). Through this not only do they learn about your professional level, but they also form an image of your soft skills and your presentation abilities.

Essentially, it's very important for them to find a nice colleague that will naturally integrate in the collective. Someone who can do the work, but also talk, communicate well and overall be a well-rounded person. The technical side of things is an additional criteria, but not the basis for a decision. You often get to hear the idea that "learning on the job" is the way they do things. Nobody has an idea to dismiss you because you don't remember some obscure sorting algorithm from 20 years ago.

At least I have not run in a single case when the interview was being run by people or the Western European origin and I got to be grilled on technical matters. The story was all different when among the Western Europeans there were the Eastern ones present at the table who were mainly asking questions. In that case all that you get asked is the minutiae of the specific technologies they use, and often the interview time is completely wasted as you don't get the chance to learn about the company, so you return home with as little information about them as you had before going to the interview.

After a while you get a clear picture of where everyone fits in the food chain. Western Europeans run a business, see the big picture and care about practical things. Eastern Europeans are grunt workers that are [happily] stuck in their technical silos.

Not meaning to offend anyone originating from Easter European countries and who do not fall under this description, but it's been my consistent experience and my individual observation that I've made while interviewing for positions in Western Europe (mostly in Germany) and also from interacting with my colleagues (of varying origins). There was always a clear separation of concerns to be felt.

AndreyErmakov··on So I refused a white board technical test and was asked to leave
Indeed the dialogue should go into this direction. Two (or more) people exchanging their experiences to see if they share the same values and can potentially join forces in this case.
AndreyErmakov··on So I refused a white board technical test and was asked to leave
Nice to hear the voice(s) of reason and common sense.
AndreyErmakov··on So I refused a white board technical test and was asked to leave
To add, this form of mutual preliminary research should really be a standard approach, followed by a remote first contact. If everything goes smoothly, then things can me moved to the next level and a personal meeting can be arranged. Much better than blindly bringing people in, sometimes from hundreds/thousands of kilometers/miles away only to find out within ten minutes this was all a huge mistake. You're wasting your time, their time, money, electricity/fuel on nothing and it's highly inefficient.
AndreyErmakov··on So I refused a white board technical test and was asked to leave
You can accomplish that by doing preliminary research.

People have personal projects, accounts in social networks, personal blogs. Make a short list of candidates than go digging. You can soon get a good idea of their abilities and how far they are progressed on their professional evolution path.

That research will also quickly tell you if someone is a jerk. Read what they say and how they are saying it and you will learn all you need to know about their social skills. It's a more precise test than an artificial environment of a face-to-face interview when everyone tries to play an all-around nice person. But the thing is, you can't be a nice person 9-to-5 and a complete jerk in your off-hours. A jerk is always a jerk. Better observe them in the wild when they feel nobody's watching them and they can behave naturally.

It also works the other way. I sometimes encounter overall rude people online who share in passing what company they are employed at. I always try to remember the name to not mistakenly end up there.

AndreyErmakov··on So I refused a white board technical test and was asked to leave
I hear you and understand the situation. What I'm saying is that some preliminary digging would improve your chances of encountering a truly skilled guy.

Academic institutions generally don't teach people to code. It's always a personal quest. You can tell a lot about somebody who's graduated but never gone any extra mile. That should be the basic filtering criteria.

I too have seen people studying at CS departments who were useless at coding. I even helped some mates with their assignments so that they wouldn't get thrown out having invested several years already, though our field of study was not purely CS but more the hardware side of things so graduating as a bad programmer wouldn't be a terribly bad thing. Yet I know for certain none of them ever planned to be looking for a job as a programmer. And if you investigated their programming accomplishments you would quickly find out they should be passed on.

I also noticed that people who are smart and even brilliant do graduate with real programming skills but without personal projects of any sort. The thing is, they may join in as an ordinary programmer but do not plan to stay there long, meaning to quickly move into management or a business branch. You probably don't want them either.

Some preliminary research is always the right thing to do. You won't believe how many times I arrived at an interview and watched the HR turn over my resume to the interviewer for the first time ever, so he had to quickly scan it to get an idea what to discuss. With that approach not much can be accomplished on the hiring track.

AndreyErmakov··on So I refused a white board technical test and was asked to leave
Didn't know that. Thanks for the info.
AndreyErmakov··on Ask HN: As a programmer do you have ups and downs and periods of intense doubt?
Sometimes you can't outsource. If it's a small personal project and you can't pay anyone to work for you. It it doesn't smell like a hot startup, nobody's going to be attracted by equity either.
AndreyErmakov··on Ask HN: As a programmer do you have ups and downs and periods of intense doubt?
>> From my previous experiences one man show is very difficult. Especially if you dream big and have high goals (e.g. monetization, startup idea etc.).

It's been my experience as well. Pretty sad to recognize the limits to what you can accomplish alone. Sad but necessary.

AndreyErmakov··on Ask HN: As a programmer do you have ups and downs and periods of intense doubt?
Yes, I've had similar periods of doubt when considering ideas for my personal projects, though never to the extent you've been experiencing.

In general, doubt is a healthy thing. It allows you to weight the decision and the consequences before blindly jumping in and possibly making a terminal error. Without doubt as a balancing mechanism, humans would be acting on a rush and we would be living in anarchy and chaos.

That said, however, there is a limit as to what you should allow your doubts to do. Speaking of your personal projects, it is normal to have an idea, initially consider it great, get excited about it, then in a few days sometimes weeks/months to cool down with regard to it. This is in principle the necessary process. You need to let your ideas prove themselves before you act on them.

But then when you're convinced this is a solid idea, which has a potential for market acceptance and the real need it can satisfy, then it's time to put your doubts in the back drawer and decide whether you go with it or not. The idea may be great but too big for you alone to handle it, in which case you start to look for outside help. If it's small enough and you can pull it off alone, then do it. In the past I had ideas I began to work on to realize later their scope was beyond my abilities to complete them so I stopped them unfinished. I choose not to think about them as failures, but as painful but valuable lessons which taught me things I otherwise would never have learned. Then in the future I would not make those kinds of errors in judgement again.

Fear of failure is also a cultural thing. Certain cultures are very much averse to risk taking and failing where the society looks down on those who tried something unconventional and did not succeed. I don't know if it applies to your situation, only you can tell, but at least you should be aware that this may potentially be affecting your perception of reality.

No one starts a software project with an official warranty letter from some authority stating that it will work. You simply recognize its potential, you believe in it and that should be enough to keep you going. That's how the mind of an entrepreneur works.

← PreviousPage 2 of 3Next →