HN user

makstaks

36 karma
Posts1
Comments40
View on HN

I think it depends on your company rather than saying "most". If you are in a software company (i.e. you sell the software you write), then your value is the unique IP you create from writing code. In that case, hopefully a larger portion of your day is coding.

edit: When I say coding, I don't mean plumbing code, I mean something that is actually a unique invention.

Scrum is a cancer 3 years ago

I have delivered successfully projects using Scrum, but we were fortunate that our Scrum Master was well trained and a senior engineer. Our CTO also let us figure things out, and helped us when we were blocked. He was genuinely concerned with the team having a balanced workload, ensured we deliver user value and our software was of high quality. Story points were not used as performance metrics but a tool to help provide stakeholders with some estimation, but only when our velocity became stable. Overall, our process was light-weight, we spent most of our time coding, and we pushed hard to deliver value to the user. If we fell short, we learned from it, no blame, just learned.

Sweden Sans 3 years ago

The documentation is pretty standard, it allows users of this typeface to build out a design system that scales.

CheatGPT 3 years ago

As a parent, I'm hoping this will reduce the at-home workloads and shift more work towards school. What's the real life value of having students go to school and then spend all-nighters trying to do homework and all the expected extra-curricular?

I wish HN had a central thread feature for discussing oft-debated topics like TDD, microservices, and agile. This way, we could contribute to the conversation instead of constantly rehashing the same points through new posts.

Maybe then question then is how does one get every developer to design and build modules as you have prescribed? (Recognizing different talent levels across the industry / delivery deadlines). Genuinely curious to know a scalable solution for this.

edit: typo

If you are writing code by yourself and your code base is relatively small, then I agree it's hard to see the benefits at first.

If your team and code base grows, one of the first things you'll notice is a lot of time wasted trying to figure out what parameter types a method takes. If you can imagine, a new person onboarding on your code base and having to figure this out constantly and then forgetting, is pretty inefficient.

TypeScript solves that problem since you declare types explicitly in code. The new person will know exactly the parameter types, the IDE can support you more intelligently, and you'll get upfront compile time errors.

The downside is the initial setup and the extra effort of declaring types, so it comes with a cost, but personally I think the benefit outweighs the cost.

One challenge I had with the opening statistics in the post is that it treats all books being equal in writing quality and market demand. Just because I write a book, doesn't entitle it to be bought.

I don't doubt your technical skills, this comment is just to help you see the side of the employer. They don't have time to onboard someone on AWS, they need someone to be able to speak "AWS" out of the gate and contribute immediately. General knowledge isn't helpful, when you need to be able to fine tune each AWS specific services.

At the end of the day, those that get hired because of their certificate can't actually take up budget resources and not be able to expertly talk about HA architecture and deliver on a technical roadmap. You can't hide behind a certificate. A technical professional actually needs to deliver a solution to a real-world business problem and when you don't it is highly visible. (Slow service, downtime, lost data, breaches)

If certification is indeed useless, and exams are simply basic marketing exams, it will eventually become a red flag in the hiring process.

I disagree. I've worked with two groups of professionals, those that have certification and those that say they "know" AWS or have working knowledge or experience. It's quite painful to work with the latter when you depend on their expertise.

Give the content a try, you'll find at the foundation of it is building highly scalable distributed system, just that the execution of it is via AWS. You can apply the same knowledge to any cloud platform.

If you are building software in a paid capacity then yes it's a small price to pay. But if you aren't getting paid or getting paid somewhat decently (e.g. study, hobby, open-source) then it's a lot.

It's great they have various editions, to address the above, so if those editions are good, then it makes my point moot.

edited: Recognizing different free subscriptions exists

Thanks for sharing this, not easy to admit. In retrospect what would you have done differently though?

The idea itself is sound, having an agreed specification allows others to build tools around this specification. (i.e. auto-generation, integration). In theory, this makes development easier. OpenAPI achieved this and is now widely used in various tools including Amazon API Gateway.

The types of diagrams you listed above are great for describing software in useful ways, but none of them are rigid enough to spec out an async API.

I still need to review this spec to fully understand it, so I'm not promoting AsyncAPI. I like the motivation behind it.

edit: typo

From a support engineer perspective, I found severity levels very helpful. PagerDuty describes it well here: https://response.pagerduty.com/before/severity_levels/

From a developer perspective, I've had a hard time whenever I see the two labels Priority and Severity used together. I find I need to apply some sort of mental kung-fu every time to remind myself what this article is stating. (e.g. Low Priority, High Severity) The reality is, it IS confusing. Kudos to Blue Label Labs for effectively managing it well.

(edited: include an example)

@ilaksh the middleware pattern is a common pattern for many large frameworks like ExpressJS and Ruby on Rails. It allows you to cleanly handle the request and response cycle. From a code maintenance perspective, using a well-established pattern that keeps your codebase module and extensible is desired.

If you have one or two lambda functions, then definitely this may be overkill, like you said just call a few functions. But as your system matures and grows, these few functions become a few modules, then your few modules become libraries, so on and so forth. You might want to consider this pattern before it's unclear what exactly is interacting with your requests and responses and in what order.