HN user

berkeshire

24 karma
Posts2
Comments40
View on HN

A philosophical approach may help. Change is the only constant expectation that I have. All of my past work over 25+ years is now deprecated, obsolete, tech-debt, or irrelevant. It is the nature of software. Intangible work built upon ephemeral stacks, all to go away with time. My personal metric: how much I can keep pace with. Rate of change vs deep-rooted expertise.

Had a torture filled 4 years in my undergraduate degree. Mostly poor grades throughout. But I aced the 2 internships as part of the degree program. Several profs told me that had the university believed in absolute marking versus relative, I would have been booted out in the third year itself. I can solve real world problems, but cant understand theory and textbooks beyond a point. Definitely struggle with closed scope problems in exams. I learnt to code - started with frontend development, which was easier back then. Basically, find something in software that you can excel at, with ease, within months. Resilience beats academic excellence in the real world of solving typical problems and earning a decent living.

The idea of leaving behind a lasting legacy of work is vanity squared. The ones who do selfless work for open-source do not necessarily do it for a place in history. The point of choosing a purely materialistic software career was to have the ego humbling of watching one's work get decimated or trivialized in due course.

Nice tips, but context specific. In my observation and experience, no rules apply when power dynamics and culture specific nuances are in play.

Examples: A setting where the group has pre-decided to exclude you - think snooty neighbourhoods. Pre-conceived biases cant be overcome. An unruly boss who bulldozes and dominates. A cool crowd that stigmatizes the nerds. Or cultures where fragile masculinity hinges upon dominating at all costs and multiple folks speaking over each other.

Also: these rules are hard to remember and apply in rapid conversation, for folks who are borderline autistic.

Greybeard with 26 years in the industry. Sorted in decreasing order of impact:

[1] Back in 2006, created a web scraper with .Net framework and C# that helped my wife run a home-based scraping business for 2 years. There were no tools / libraries / frameworks for spidering / scraping back then - or at least I wasnt aware of them. Helped her have a replacement income since she had quit her job for maternity. She of course enhanced it and made it better. Was fun while we were the early ones in it.

[2] SAP's Community Network in 2002: Supports a million users today, started with a much smaller user base of 10k, implemented it from scratch as a Java MVC web-app with another colleague.

[3] Amazon Ads in 2015: Contextual commerce ads in review websites and blogs, this single product drove (and still continues to drive) multi-hundred million dollars in incremental revenue for AMZN every year. HN doesnt like the Advertising business, but hey.

Am one of the black sheep of my Electrical Engineering batch who moved to software. Why? The steep learning curve that involved loads of memorization of long formulae and static values which sucked for someone like me.

An easier, and more forgiving entry path based on self-learning ("hack my way through") in software development as compared to the entry barriers of EE - especially in India where Oscilloscopes and other equipment were crazy expensive some decades ago.

20% of my batch has moved to software over the last 25 years, compensation being one key factor.

1995 India - Had a paid internship (Rs 2500 per month or ~ USD 80 back then) with a small software company that worked on FoxPro + dBase. A very diverse team (gender ratio), the highly enthusiastic bunch created software for non-banking financial companies. A thick documentation book occupied most of the space in the large, laminated box that such development software came in. Along with half a dozen floppy disks where we hoped that no disk would have a bad sector. Requirements were constantly over the phone from clients and shipping software meant taking two sets of floppy disks of different brands (backup!), in-person, to the city where the client was. CRTs needed a warm-up time and we had a small diesel generator (hand cranked) to power up the x86 computers once the main power line crashed (which was frequent). No internet searches, no help other than that thick paper manual or waiting around for hours for a senior engineer to get free to help you out. College taught us C and Pascal on Unix. That seems so far away from the world of microservices and SPAs. </nostalgia>

One cant do much. I have had a couple of terrible experiences. Its amazing what power does to some technical managers and senior HR. Its their karma and they are going in the right direction of being assholes who will have a miserable old age once the power is gone.

- Product Market Fit - find that before continuing to perfect the product. - Market size and especially addressable market size. We learnt it the hard way with children's apps. - Tech is a tool. Unless you are doing groundbreaking research, dont be in awe of the tools (tech), nor let it go crazy expensive. - One needs a deep reserve of patience and strength, you will get challenged in all dimensions. - Sometimes you can do everything right, and still fail.

- Minimal sugar or sweet stuff. 5 grams sugar a day, max. - 250 grams to 350 grams of food per major meal. - Lots of water through the day - Small, healthy snacks of 50 to 100 grams, twice a day.

Mobile apps startup almost a decade ago, for 2 years. Failed. Joined a FAANG company, initial months were depressing - narrow scope, cog in the wheel, shoddy culture.

On the plus side, the interviews were a breeze due to the depth I had built up on the tech side in my startup, and I had instant street-cred every time I talked to new coworkers.

Experience as a founder was very valuable due to the much bigger picture that I could see most of the time and easily switch my thinking hats from tech to product to business, and add value to most discussions, even with executives.

a) Their work load - whether they will burn out or become a lazy bum. Neither extreme is good.

b) What the next job level entails and how to get there. Whether to take the career path of being an individual contributor, manager, architect, tech-lead manager, etc.

c) Compensation, equity, and how RSUs, ESOPs, etc. work.

d) Alternate, overlapping fields of work - in case of software developers, how can they explore product management or running tech programs.

Failure taught me one thing. My self-attested labels of being creative, a builder, risk taker ... were more likely rose tinted glasses. They were the fuel and the motivation of my all-nighters, that effusive optimism and self belief.

Motivation and other labels only go so far. Its discipline that got me anything worthwhile. Showing up and getting shit done, even when I didnt feel like it. A realist view of what could cause me to fail.

A little bit of world-weary jadedness does wonders in channeling creativity towards what really needs to be done.

Yes, FaaS is a good choice for early stage products, where the traction cannot be predicted, or the user volumes would be predictably low. Combine Lambda (execution) with other free tier + subsequent low cost serverless offerings like DynamoDB for data, you can achieve a truly cost-effective solution with FaaS. Cold-start is not that big an issue, for full functionality web-apps, every now and then, the first request seems to take maybe a second longer. Cons: Learning + debugging curves are higher. Source: Built a SaaS product mostly based on Lambda and it was very cost effective - as in - 1/20 the costs of the traditional EC2 route. EC2 can be a good pick if your engineers are more comfortable with leveraging what they know and speed / a quick go-to-market is of more importance.

Comparing AWS EC2 pricing [1] and AWS Lambda [2].

Assumption: Let's say you run an application / function with 5 qps traffic, needing 256 MB RAM max, 50ms execution time.

EC2: t2.micro instance - 1 instance available as always free, hence using as a baseline. This comes with 1 vCPU and 1GiB RAM - cost $0.0116 / hour x 750 hours a month = $8.7 / month.

Lambda: For 5 qps traffic, it would amount to 13,392,000 requests in a month. With a 256MB instance, and 50ms of execution time, that comes to $2.48 / month, after accounting for 1M free requests.

The math goes in EC2's favor once you cross 20 qps.

Can a t2.micro run such a load - oh yeah!

[1]: AWS EC2 On-demand pricing: https://aws.amazon.com/ec2/pricing/on-demand/ [2]: AWS Lambda pricing: https://dashbird.io/lambda-cost-calculator/

1) Watching English movies, with subtitles (close captions) "on" is very helpful. 2) Reading aloud an English language newspaper, an article in a news category of your interest - say - Sports - read it aloud in front of a mirror, and then try and recollect as many sentences as you can from that article, with the newspaper down. 3) Finding a buddy to practice speaking English with. Can be online. Can be via text chat.

The interviewers want to prove how much more they know, as compared to the candidate. Or worse, they have one optimal solution in mind and anything else is a square peg / round hole.

Ageism is also a factor with some age cohorts preferring to hire within their age groups who play with their cohort's favorite tech-stacks.

A badly behaved interviewer - arrogant, rushed for time and treating the interview as a nuisance, egoistic - all of these make it harder for candidates to get a job.

Data point of one: I have faced the worst lot of interviewers in startups and Unicorns, and have had the best-behaved and reasonable folks in FAANG companies.

Since money / savings is a deciding factor - you could leetcode your way into much higher compensation via FAANG over 6 to 9 months versus 1.5 years for a MS. However it would be a path of : Join in India, wait for a year, get a L1 visa, transfer to the US location. The visa part is iffy.

Doing a Masters removes some of the visa risk, while bringing in the campus hiring advantage of FAANG.

On another note, have you thought of what you would think once you see folks raking it in there with PhDs in Machine Learning?

You could invest in US Tech Companies that you understand well via a brokerage firm - the FAANG list is one example. Or ETFs that cover the best tech companies.

[Not an investment advice, markets are risky, losses are probable - you know the usual disclaimers]

Context: Not from the investment banking or trading background. Have been an investor / trader with modest gains.

How does one solve for risk in the markets? As in, mathematically. How does one do short term predictions of prices, with a day or two as the prediction range, with a probability > 0.5.

I had the dot com boom pass me by, saw many become rich, while I worked on ATG Dynamo based e-Commerce sites. I had the Web 2.0 boom pass me by, I remained a cog in the wheel, again saw many folks get ahead.

Was it distracting or mildly discouraging? Sure.

I finally jumped onto the touchscreen and app boom, lost a lot of time and money, but sharpened my development skills.

I have seen multiple booms where closed-networks of folks and insiders make huge money leaving the vast majority out.

I do my thing based on my capabilities and networking skills. Sucks to be an introvert on the autism spectrum. I have learnt to not be impressed by the highlight-reel of folks that is heavily curated. If you dig deep, you will learn the insider stories of the superficially happy-family folks and the ones with the latest cars.

Each of us have our own miseries, even the ones with money. Especially the ones with boat-loads of money.