Andrey (azangru) wrote,

A couple of posts made me reminisce.

One was a HN thread titled Pluralsight and the dark pattern of auto-renewal:

For anyone considering subscribing to Pluralsight, be aware that they will not inform you of their auto-renewal policy, and will charge you once your subscription is up for annual renewal without warning. In my case, this auto-renewal has cost me $300.
This is a serious dark-pattern and I'm surprised companies still employ it. It's so short-sighted. I emailed their support and they offer a "promotional" $50 refund as a token.
Are there any other companies that do this? In contrast, (which in a similar space) sends an email in advance warning you of the renewal as well as how to cancel it.

Another was a Twitter thread about junior developers, with this tweet:

My own first junior developer gig was a complete and utter crap — precisely because, as the tweet says, good junior dev jobs are scarce. It was a remote job at a tiny Saint-Petersburg startup that was building a completely useless — no, positively malicious — product for webmasters: a script that, depending on how webmaster would set it up (e.g. after a certain time or when the visitor has scrolled past a certain percentage of the height of the page), would open a popup nudging the visitor to share the page on their social media of choice. That script embodied everything I hated about web pages. I couldn’t imagine who would be so desperate as to add such nonsense to their site. Still, a job was a job. Perhaps the only lesson I still remember from the other developer on the project was that the most important thing when getting familiar with a program is to figure out where its entry point is, and work from there. And that you can git checkout a file to reset current changes. And that there is fast-forward option to git merge. That was the only job where I used ruby. From then on, I worked primarily or exclusively with javascript and friends.

My second job (part-time, while still employed on the first) was also remote, with a medical tech company created by Byelorussian immigrants to the US. I didn't do too well, but I got to know a developer who was leagues ahead of me. On that job, I got acquainted with Jira (we used Redmine on the other job, and it paled in comparison) and agile rituals. I learnt the now-obsolete Angular 1.x. I learnt rudiments of unit-testing and end-to-end testing, and also learnt how to use Docker. Most importantly, perhaps, the feedback I got from more senior members the team got me thinking about code structure, and responsibilities of different parts of an application.

My third job was at a — gradually decaying, although I didn’t realize that until many months later — Russian company with a fairly recognizable brand, but a very secondary — and trashy — product. That was the job where I learnt Backbone, and came to hate object-oriented and event-driven model of programming for the debugging nightmare that it created. After a little less than a year of working there I moved to a company where the frontend stack was based on React

This brings me to the HN post. The company, while much more refined than the previous one, and trying to woo the intelligentsia, heavily relied on the dark pattern of automatically renewable subscriptions. We had a lot of angry customers. We also had an angelically patient support service. And we had small print somewhere in the user’s agreement. So yeah, fond memories. The dev team was the best I have ever worked with, before or since. My senior colleague was just as far — if not farther — ahead of me as was my senior teammate on the second job. I learnt React. I learnt some SEO techniques. More importantly, I learnt to be continuously ashamed of our web site speed metrics (they were not completely terrible, but not stellar either). My colleague used to say that choosing single-page app as an architectural model for our site and choosing React with server-side rendering as a framework was a mistake. I am not sure I am completely convinced (I love the developer experience of React); but at least I have learnt to see the tradeoffs. My tiny personal website is built with Gatsby. I would probably still pick it — but at least now with a sense of shame about my choice. And I learnt to see the bullshit of the opening statement of this blog post: "Gatsby has always been, and will always be, focused on performance".

One thing that annoyed me about these last two jobs was that their products showed ads in one case and promo banners and pages for partnership campaigns in the other. Both ads and promo banners suck for user experience. Promo campaigns are whimsical and short-lived. And since we didn't have a dedicated scalable solution for all those promo shenanigans, we had to add this entirely superfluous code to the business logic of our app, which felt wrong and dirty. Luckily, at my current job we have the luxury to focus entirely on the product. No ads. No banners. No partnership pages. No desperate fishing for users. Unluckily, I no longer have the pleasure of having colleagues I can look up to, not on the frontend side of the stack anyway.

  • (no subject)

    Also, Google's documentation style guide. With the latest trends about the correct language, obvi. This one via HN.

  • (no subject)

    Google's document on how they build Chrome dev tools with web components. And yeah, it includes a special dance for some semblance of type safety,…

  • (no subject)

    On the ideology in the industry: A guest on a podcast: There was a thread on Twitter the other day, with Adam Rackis, and he had made a comment…

  • Post a new comment


    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.