HN user

gilfoyle

64 karma
Posts0
Comments22
View on HN
No posts found.

Catholic churches are quite conservative in their own ways, primarily set up by Christian missionaries with the mandate to convert.

The english language helped, sure, but it's the lack of opportunities in their own state and the higher education levels that created the conditions for the immigration to Middle East. Kerala also had a long history of trade with Arabs.

Yes, there is restriction on beef consumption in India but nobody protests for pork while in the middle east - it's all about which side the bread is buttered.

Elon Musk's Trump like behaviour - for e.g. poll regarding Twitter HQ, edit button, openly discussing product ideas etc would have definitely spooked Twitter. This would have led to serious talk and conditions that he should restrain what he puts out as a board member - which probably wasn't worth the trade-off for Musk.

Can you be a "VP of Sales" without ever doing any sales? Can you be a head chef without ever cooking?

Sure, you can be immensely impactful being a people leader and a conduit between business and tech without ever having written any code. But you can't call yourself CTO if you haven't written any software yourself without diluting the meaning of the title to homeopathic levels.

Two books that might help:

Courage to be Disliked - it's helped me put different life problems in perspective.

Mountains Beyond Mountains: The Quest of Dr. Paul Farmer, a Man Who Would Cure the World - This has been on my bookshelf for a long time, I just picked it up recently, looking for meaning after witnessing covid devastation around. Just a couple chapters in, but it is a really inspiring book.

Product companies ideally optimise for outcome (growth/delight/adoption metrics).

Consulting companies tend to optimise for output (delivering on time, code quality, reported bug counts, number of stories, sprint velocity etc.)

A full time product engineer has more skin in the game and freedom to work across the stack while consultants might be restricted to non-prod environments and therefore limited access to infra/devops work and prod support/troubleshooting. YMMV.

There is a huge learning in supporting what you build and not getting that experience can be a limitation in consulting.

However consulting offers you the opportunity to work across domains, tech stacks, work with new people, travel etc every 1-2 years whereas in product companies a commitment of 2-3+ years is desirable.

Finally, it boils down to quality of the group of people you are going to work with. A consulting firm with higher density of talent would be more interesting than a mediocre product team.

Java Is Underhyped 5 years ago

Java language gets its hate from its historical lack of focus on developer happiness. Beyond the language, the crufty experience with Java Bean, Java EE, WebSphere era all contributed to this.

Thankfully, Java ecosystem has learnt from other languages and frameworks and with Java 8 onwards has addressed some of major pain points For e.g. lambda, streams, vars, text blocks, records etc,

On the other hand, Shopify and Dropbox that used Ruby and Python heavily had to invest in type checking to bring back some sanity and this is evidence that beyond a size of code base, static type checking is worth it.

Considering these, I find Java to be a very good option to build stable enterprise applications compared to Ruby or Python.

There is intentional or incidental technical debt which is debt taken for good reason because of lack of enough context, YAGNI, or whatever with the understanding that it will need to be revisited and the developers are aware of it. This one is easier to deal with and is usually contained well because it is a known-known.

Then there is accidental technical debt that is mostly due to lack of design skill / judgement that results in code smells, spaghetti code, poor abstractions and a codebase that sucks the life out of everyone.

When most people write about technical debt, they refer to the former while it is the latter that is much more costly and prevalent and yet, avoidable.

Gitlab is a great service and a great alternative to github and bitbucket. But it has been quite flaky over many years and it's quite surprising they haven't prioritised system stability over everything else. https://twitter.com/gitlabstatus

Gitlab has been a fully remote proponent going back a few years and these persistent reliability issues add some doubt to that model - even if there might be altogether other issues in play.

I have found agile rituals like standups, retros, iteration planning meetings etc helpful because it gives multiple forums especially for junior developers to participate. These help break down information asymmetries that can creep up.

However, it is essential to keep in mind why these things are done and not just cargo cult them.

I have felt Scrum is cargo cult agile which helps non technical managers retain power post "agile transformation" in the form of "scrum master". Just that title changes the power balance in meetings and kills the spirit of what they are meant for.

Lack of motivation and thus focus could be due to many factors. Finding the root cause is the first step.

If it is due lack of social contact (due to working from home), try hanging out with friends or acquaintances everyday. It's a good idea to do that anyways.

Lack of exercise and exposure to sunlight can be a factor. Being outside on a nice sunny morning really cheers me up. Carve out time to walk in a park or in the midst of nature.

If the work isn't interesting, try to see if there are other places you can contribute and ask for it. If you can also identify a interesting problem worth solving then you can own it and run with it.

Lack of appreciation at work or from colleagues can also be a factor. If that is the case, acknowledge that many are also going through a rough time at this point. Perhaps you can help set an example and try influencing the culture a little bit. For e.g. an attaboy on a solid PR to a colleague or engaging in conversations outside of work before start of meetings.

These are not unusual traits when starting a company as a technical founder.

Its actually not unusual to have technical cofounders who have no prior software engineering work experience.

I have an enterprise B2B app on react native with expo and the experience is great. Code push (over the air updates) on expo is a killer feature and something which Flutter doesn't seem to have yet. If you are a small team that uses/knows React then React Native can be a better choice if there isn't a compelling reason not to use it.

I think the role of AI in eliminating these jobs is overstated compared to the role of Cloud, Dev Ops automation and faster iteration cycles afforded by relatively better abstractions and tools for building software compared to 10-15 years ago.

A lot of these large IT companies relied on long term maintenance contracts for infrastructure and legacy software with unnecessarily large teams on self serving time and material (T&M) models. But these days, even large enterprises have to innovate to stay in the game and their experience with top end Agile consulting firms made them realize that you can do with much fewer people with automation and hiring better. On the other hand, the large IT companies got stuck with their old model and without training and experience on challenging projects, the talent atrophied even while having to eek higher salaries every year due to inflation and talent loss to startups and others.

However, the numbers being reported so far aren't huge compared to the employee sizes of these companies. For e.g. 5% layoff would actually be a reasonable trim on an annual basis. In that sense, the carnage hasn't started yet.