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!
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.
"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.
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?"
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.
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.
Just posted my reply when I saw this. Yup, I have the same advice. Avoid SPA overhead, keep it simple with server-side rendering and pinch of javascript for some interactive UX.
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.
Hey folks, I have been helping out some beginners pick up web dev basics and started encountering a pattern. This post simply list them out with my thoughts on why they are mistakes.
Other than that, content and email marketing would be an effective approach to consider.