HN user

luthfur

320 karma

Creator of The Daily App, a task calendar for makers, builders and creators: thedailyapp.co

Writing about software engineering at: makingsmallercircles.com

Previously at Linkedin, Head of Engineering at Careerify (sold to LinkedIn).

Posts27
Comments36
View on HN
www.infoworld.com 2y ago

GitHub Copilot makes insecure code even less secure, Snyk says

luthfur
15pts6
makingsmallercircles.com 2y ago

The Creative Meeting: Applying Lessons from Pixar Brain Trust

luthfur
2pts0
makingsmallercircles.com 2y ago

How to Work on Legacy Systems

luthfur
3pts0
www.inkandswitch.com 2y ago

Embark – Dynamic documents for making plans

luthfur
1pts0
makingsmallercircles.com 2y ago

How to Practice and Ace Coding Interviews

luthfur
2pts0
makingsmallercircles.com 2y ago

Top non-technical skills for Senior Engineers and Technical Leaders

luthfur
3pts0
makingsmallercircles.com 2y ago

Avoid These Interview Mistakes for Your Next Engineering Manager Role

luthfur
1pts0
www.microsoft.com 4y ago

Hints for Computer System Design (July 1983, Butler W. Lampson)) [pdf]

luthfur
1pts0
makingsmallercircles.com 5y ago

Learning Mindset for Software Engineers

luthfur
1pts0
hbr.org 5y ago

Leading Teams: Sir Alex Ferguson’s Formula (2013)

luthfur
2pts2
makingsmallercircles.com 5y ago

5 Mistakes Beginners Make When Learning Web Development

luthfur
5pts2
www.hillebrand.com 5y ago

Where are all the containers? The global shortage explained

luthfur
332pts286
ganssle.com 5y ago

Keep It Small. Complexity does not scale linearly with size (1998)

luthfur
1pts0
makingsmallercircles.com 5y ago

Demand-Side Thinking: Creating Pull for Your Products

luthfur
2pts0
www.sutterhealth.org 5y ago

Differences in symptom between Covid-19 and the Flu

luthfur
2pts0
makingsmallercircles.com 5y ago

How to Build Rapid Prototypes to Test Your App Ideas

luthfur
1pts0
news.ycombinator.com 5y ago

Geoffrey West on the Creative Process (quote)

luthfur
1pts1
www.youtube.com 5y ago

Distributed Systems lecture series from Martin Kleppmann [YouTube]

luthfur
4pts0
medium.com 5y ago

Kafka with AVRO vs., Kafka with Protobuf vs., Kafka with JSON Schema

luthfur
2pts0
makingsmallercircles.com 5y ago

Distributed Architecture with Event Streams, Stream Processing and Derived Data

luthfur
1pts0
www.youtube.com 5y ago

How to Price an Election: A Martingale Approach (Nassim Taleb) [video]

luthfur
4pts0
www.theverge.com 5y ago

NASA’s OSIRIS-REx spacecraft lands on the asteroid Bennu

luthfur
1pts0
programming.love 5y ago

Martin Kleppmann on Programming Love Podcast

luthfur
1pts0
makingsmallercircles.com 5y ago

How to Learn Programming: A Roadmap for Becoming a Software Engineer

luthfur
8pts0
www.finewoodworking.com 5y ago

The importance of working clean (Inspiration from a custom furniture maker)

luthfur
1pts0
makingsmallercircles.com 5y ago

Book Summary: Ultralearning by Scott Young

luthfur
1pts0
ai.googleblog.com 6y ago

Using Machine Learning to “Nowcast” Precipitation in High Resolution

luthfur
72pts12

Ordergroove | Engineering Manager | REMOTE | FULL-TIME | https://www.ordergroove.com/jobs/?gh_jid=6653210002

We are looking for an entrepreneurial Engineer Manager to take over the Frontend platform team at Ordergroove. If you love building great self-service Control Panels or Admin Panels, you will thrive at this role.

Ordergroove is a fast growing SaaS that enables DTC merchants to provide their products as a subscription. We are used by some of the top brands in the industry such as Dollar Shaving Club, P&G, L'Oreal, KIND, and many more!

Feel free to apply here: https://www.ordergroove.com/jobs/?gh_jid=6653210002

Or email me directly if you have any questions: luthfur.chowdhury@ordergroove.com

Reminds me of Josh Waitzkin's concept of "investment in loss". Such a great and rewarding approach if you are able to suspend your ego and practice it.

Got a chuckle out of this.

"Jon Ross, who wrote the original version of SimCity for Windows 3.x, told me that he accidentally left a bug in SimCity where he read memory that he had just freed. Yep. It worked fine on Windows 3.x, because the memory never went anywhere. Here’s the amazing part: On beta versions of Windows 95, SimCity wasn’t working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity. If it finds SimCity running, it runs the memory allocator in a special mode that doesn’t free memory right away."

How many of us had to hardcode those one off "if" blocks to handle an annoying special case and get the damned thing shipped. Maybe the section has a nice TODO comment that stays in the repo for posterity. No one wants to take the effort to clean it up lest there be a hidden dependency somewhere that would break.

One way to deal with it is by being a producer instead of a consumer. That way you are forced to curate what you consume based on what benefits your "production".

For me that has been to start a blog, build an app etc.

Another approach is to go deep instead of wide. By that I mean, as you read, capture and take notes, start spending more time with your notes instead of capturing more.

Your feeling is shared by many. One way is to curate a set of tools that are your very own. By this I don't mean you build all your tools from scratch. Rather create a mix of "off-the-shelf" open source tools, custom scripts and methodologies that are your very own. You should have deep familiarity with them and improve your tool chain with time.

Keep this tool chain stable over the course of your career and over time you will see your effectiveness and personal velocity improve.

My personal examples:

- I maintain some simple scripts and tools of my own for dealing with AWS deployments and logs.

- I have my own flask app skeleton/scaffold for creating a new web app or web tool from scratch.

- I stick with vi for any kind of text or config editing

- I maintain a bunch of simple bash scripts for common tasks etc...

When you no longer feel you are learning or when the projects no longer stretch you with challenges.

A stagnation of challenging projects can also indicate a general stagnation in the company. That will eventually show up in business results. If see this, it makes sense to start looking around and joining a business that is more driven and aims high.

I know how you feel, I just completed and released a beta version of my latest indie product. There were definitely ups and downs on the road.

My recommendation is that what you work on has to have deep purpose and meaning to you. My recently released product is a productivity app that I had to build for myself. Once I started using it, it was game changer for me. Next step was to productize and make it available for others.

The point is what you work on as your side project has to have a clear payoff to yourself. That will drive you, and pull you forward.

Good luck!

So I can kind of see what you are trying to get at with your product. There are 3 books I recommend you read to help you further:

1. "Competing Against Luck" by Clay Christensen https://www.amazon.com/Competing-Against-Luck-Innovation-Cus...

This book will teach you how to look at the market from a jobs-to-be-done perspective. People don't want products, they want progress. They will hire a product to do a job for them towards that progress. It will help you understand where your product fits in ie. you should be able to answer the questions "what job can my product be hired to do?", "what progress does it help make? and for whom?"

2. Obviously Awesome https://www.amazon.com/Obviously-Awesome-Product-Positioning...

This is a book on Positioning by April Dunford. It's absolutely fabulous! It will help you understand how to position your product in the market and how to clearly communicate your benefits to them.

3. Demand-side Sales by Bob Moesta https://www.amazon.com/Demand-Side-Sales-101-Customers-Progr...

This is a sales book that explores things from a jobs-to-be-done perspectives. I have found his frameworks extremely helpful.

These 3 books taken together will help you understand your market better, communicate with them more clearly and position your product in a way that the market gets it. More importantly, working with your target market in this way will help you reshape the product towards something they will eventually want to buy.

Hope this helps!

You have sufficient skillset to build what you need. If you want to stick within them, you can go with Flask for Python. You can keep things simple by going "old-school" and rendering most of the UI on the server-side.

For more interactive UI on the frontend, you can go with Vue.js for a lightweight framework or stick with pure javascript. As you mentioned the tradeoff is more familiarity with the code. I find that is important to keep things maintainable.

For simple crud apps, often pure javascript with server-side rendering is sufficient.

So you are assigned to write tests which you consider tedious, but you want to work on the main code base presumably on features. Here are my thoughts:

1. Always deliver the goods: Execute your assigned work to the highest quality. To help with mindset, instead of thinking of your work in terms of "effort", think in terms of "contribution". Great tests contribute substantially to the quality of the product and prevent future regression. Find ways to deliver some bonus improvements, for example: improving coverage, improving test speed. Demonstrate that you create value in the team beyond what is assigned. Again thinking in terms of your contribution helps ie. contribute above and beyond what is asked.

2. Document the value you add and highlight it to your team and manager. Don't be passive about it. Building a reputation of quality and reliability as an engineer will help you navigate this project and beyond.

3. Be direct and clear about asking for work that you are interested in. Don't be passive. Passive is weak. Top performers are not passive, they are clear about their goals and direction and go after it directly.

Hope this helps. Good luck!

I am sorry but...Front-of-the-side-of-the-up-of-the-what?

This is division of labor gone out of control.

Complexity doesn't get simplified by merely renaming things. Bloated javascript frameworks and associated "infrastructure" keeps requiring more and more people to manage them.

"I would do one week of code, then spend the following week tweeting / blog posting about what I shipped — then repeat"

This right here is a very important organizing principle for indie devs. It's more effective than say doing both coding and promotion in parallel by dividing the the day into two.

Decades ago, the average person considered AOL as the "internet". Today it's Facebook/Google etc. In between these two swings of the pendulum we had periods of diverse, distributed, innovation. Remember the browser wars? Web 2.0?

My point is that the pendulum will swing away again. It's already happening. Blogging, podcasts and a long-tail of businesses that are not Facebook or Google are thriving. In some sense they never went away in the first place. In the coming years, this long-tail is likely to garner a lot more attention than it has so far.