top | item 30235018

Ask HN: How can I help you?

68 points| shepik | 4 years ago

I always prioritized having broad skillset rather than focusing on a single thing, but i'm now having doubts about it.

I'd like to discover if my skills are useful by applying them to solve someone's challenges. If talking to me might help you - please drop me an email or schedule a call (the address is in the profile). Free & no strings attached.

About me:

- co-founder/ex-CTO/ex-CPO of a russian company with $15M arr

- people usually describe me as a "smart guy"

- had to solve a problem that required using nlp, so i organized data labelling team, finetuned BERT, and integrated it into a larger system

- know some finance. unit economy, operating costs, that sort of thing

- did a lot of a/b tests and conversion experiments

- bitmap indexes, fractal trees, k-d trees - i like indexes and trees

- developed software using python, golang, php, c++

- clickhouse user for 3 or 4 years. also, mongodb, vertica, presto

- did some custdev and qualitative interviews

- have some experience managing outbound sales reps; but still, i'm a builder/hacker, not a hustler

(I realize this post looks a bit like a sneaky "hire me" post - but i assure you, that is not my intention)

42 comments

order

kingkongjaffa|4 years ago

I’d like to be CTO / VP of engineering one day.

How did you get to that point?

What roles did you do before that to be able to step up into being taken seriously for that kind of role?

I’m in the odd? Position of being more commercially experienced and less technically experienced than most (senior)/software engineers. Right now I fall into wanting to prove my chops technically and building new products/ mvp’s while also guiding devs on other projects.

Obviously it’s a world of difference between a start up and a f500 company in terms of what a CTO would do so feel free to think CTO at startups <100 employees size etc.

liquidise|4 years ago

Great question and one many of my very talented engineering friends express. My suggestions (in no particular order):

1. Title inflation is a thing. I got my first CTO role in my late 20's and this was partially due to hopping on with a very early stage startup that needed tech direction/leadership/IC work. Getting exec roles in your younger years is much harder with larger more established companies.

2. Learn the whole stack. If you are the VPoE/CTO of a smaller company, people expect you to have the answers for everything tech. You pick the servers, infrastructure, code styles, architecture, frameworks, etc.

3. People are everything on a team. Before you are in one of these roles, spend some time understanding challenges people face in companies you work for, across departments. Grab lunches with people, talk to them about work. Some problems can be solved with an hour of coding a script for them. Most are more complicated, but developing this empathy and willingness to understand was crucial for me.

4. Being able to interview and hire well is an undervalued skillset in the tech industry. Involve yourself in those processes early to start understanding it. Remember that as CTO of a small/mid size company you may have final say on all tech hires as well as being the one who determines when positions are posted.

5. Grow comfortable with the unknown. There is a lot of on-the-job training for your first or second CTO run. Trust that you are smart and deserve where you are. You can figure this out.

shepik|4 years ago

I was a software dev, and then a technical co-founder, so when the idea became a company and the company grew, i kinda grew into the CTO role. But I did manage to build a team and a product, so i think i was taken seriously because of that.

jimhi|4 years ago

I'm not the poster, but this is most of my career - check out my profile and website.

The short answer is either:

1. Be willing to take a severe or entire pay cut at the start (i.e. Do it because you trust the person and believe the product and your equity will be worth it)

2. Know founders and investors and have a rich history of being a CTO / technical CEO with a plethora of launched apps to point at.

atlasunshrugged|4 years ago

Asking here in case others find it interesting. Can you share more about your experiences building in Russia, especially more unique challenges you faced (e.g. harder to literally get funds from foreign clients, regulatory environment, etc.). Are there things solved there that you are shocked you haven't seen elsewhere? What is your feeling about the current buildup of troops around Ukraine & what do Russian friends/family/colleagues feel about it?

shepik|4 years ago

That's a difficult question - i don't have experience outside of Russia so no idea what is unique and what isn't.

It is harder to get funds from foreign clients, primarily because customers are wary of paying money to a russian company (because of hackers and scammers, i think). But you can solve it by registering a US company.

There is a "local market" trap: Russian market is obviously smaller than US one, but still large enough to be considered as a viable single option. That's why many russian companies go solely for the russian market, and that's why companies from Belarus or Ukraine (where local market is not large enough) are often focused on US/Europe from the start.

As for the recent events, I am not a fan, and hope that the situation resolves peacefully.

ignoramous|4 years ago

Mostly technical questions from me:

1. Re: Presto/Clickhouse: Have you looked at dsq, pola.rs, DuckDB, Apache DataFusion, Clickhouse Local? If so, what's your opinion on where the (data science) ecosystem is moving towards (for example, ibis-project.org taking over Presto/Trino).

2. Re: Bitmaps: What's the most compact way you know to store a bitmap-index in printable ASCII (b64 etc)? Puny code esque state machines are elegant (used in DNS), but is there anything else that's better?

3. Re: Unit economics/Opex: Are you a believer in the cost effectiveness (both eng and monetary) of the overall Serverless storage and compute movement?

4. Re: Russia: From the looks of it Russia (and Eastern Europe, in general) has fantastic yet untapped pool of talent, but then, how do you compete for talent with Yandex, Klarna, Spotify, UiPath, and others?

5. Re: py/go: Choose one? ;)

Thanks.

shepik|4 years ago

1) DuckDB - like the performance and that it's tightly integrated into python. Clickhouse local - i saw the announcement when it came out, but i just don't see the usecase for it in analytics. DataFusion is new for me. I'd say that the ecosystem is moving towards snowflake/bigquery/redshift/...

2) Why would you want to do that? You'd use bitmap index because it's quite compact and you can process the data at the speed of memory bandwidth, using ascii defeats that, no?

3) Not really. I just can't imagine costs of running any large website or app with serverless.

4) I think it's the same in the US - everyone competes for the same talent with FAANG (MAANG?). The salary gap between big companies and startups is even lower in Russia. Also, we humans want to do meaningful things, some of us struggle to find meaning in being another bigco employee.

5) Py

convolvatron|4 years ago

is there a service for this? i mean i hate the fact that everything has to be an app, but i'm in a similar boat. i've been trying to get more out of life by engaging with other people (outside a commerical context), but its hard to keep jobs coming.

green_bananas|4 years ago

Well,there's a whole field called Expert Networks for people to share their work experience, although it's in the commercial context. Currently is mostly targeted to investment funds and consultancy companies but it starts to be used by big corporates and smaller businesses.

dr_kiszonka|4 years ago

Maybe we could add some string, say, "HN Volunteer" to our HN or LinkedIn profiles? These profiles are easily searchable, so there would be no need for building a new app.

0kl|4 years ago

A few threads:

Volunteering

Open source

Teaching

Meetups

dkv1|4 years ago

not many come forward for helping. Thanks and appreciate your post.

jacquesm|4 years ago

You should try coaching positions, plenty of start-ups are struggling with the things that you have already seen and know how to deal with.

CTO's would likely love to know you have their back and that they can come to you to ask for 2nd opinion (or even 1st ;) ).

dane-pgp|4 years ago

If you're not looking to get hired, and you are looking to help people using your software skills, does that mean you'd take suggestions for free software projects to work on?

anm89|4 years ago

I'm looking to raise ~$2 million to build a coliving space with the goal to grow to multiple spaces. I'm bringing half a million of my own money to the table.

Have any connections?

atlasunshrugged|4 years ago

Where are you looking to build it? Is the money literally for construction or retrofitting an existing space or other stuff? Coliving.com had a guide on some of this but maybe it's old hat for you https://coliving.guide/

ww520|4 years ago

What's your thought on TreeMap (ordered by key)? What problems can be best solved by TreeMap? Why do people use HashMap instead of TreeMap?

guiand|4 years ago

Hash tables are (usually) faster to do all sorts of operations than tree based maps, as most operations become a simple function to calculate a tree’s hash followed by a table lookup. Of course, they’re unordered, so if you need to iterate in order, or find all keys < a certain value, or things like that, tree maps can be better for your algorithm.

Also, TreeMap uses a red-black tree to implement the map, which is a basic type of binary tree. Depending on the data you’d like to store, other kinds of tree-based maps can have better performance characteristics. A map based on a Splay Tree[1] speeds up repeated accesses, so it could perform well if you had keys that were cheap to compute an ordering but expensive to compute a hash, and your access pattern has good temporal locality.

[1] https://en.wikipedia.org/wiki/Splay_tree

shepik|4 years ago

Simple answer: Use tree if you need range access or to get elements ordered by key, and use hash otherwise.

More nuance: - hashmap may be resized if it's over capacity, the resize may cause a latency spike.

- hashmap is essentially a single random memory access, tree is a couple of accesses but they are not random

- tree is a bit like a sorted array with fast inserts/deletes. Some trees, like leveldb, are in fact sorted arrays (plus some tricks, of course)

- if you use b-tree, you are more memory-efficient (but less cpu efficient), and access to nearby elements is almost free. That's why b-trees are used to store data in a permanent memory

- there are many other tree variants, each of them with different trade-off

faangiq|4 years ago

You’re selling in a place where there are no buyers.

reayn|4 years ago

I wouldn't say that really, there's quite a few people here (including me) who just barely have our foot in the door and would love advice from experienced people such as OP.

Now whether the format of the post is acceptable to the kind of website HN is, I'm not quite sure, though I have seen submissions like these popping up more and more as of recently.

joelhlim|4 years ago

What types of things have you seen the most successes in A/B testing? What did you do?

hwers|4 years ago

Lovely initiative, even though I can't think of ideas at the moment (just wanted to applaud).

ravish0007|4 years ago

Where to find beginner friendly remote jobs? such a high barrier for entry level folks.

altdataseller|4 years ago

What are the risks of investing in a public Russian co (ie Yandex and Ozon and Semrush)

shepik|4 years ago

IMO most of Yandex/Ozon revenue is in Russia, so you a betting both on a company and on a ruble. Semrush, on the other hand, has most of its revenue outside of Russia (i think).

bananamansion|4 years ago

can you expand on "did a lot of a/b tests and conversion experiments" any posts i can go to read more about?

thescribbblr|4 years ago

I am looking for $100K for my NFT marketplace project. How can you help me?