Skip to main content

Posts

Featured

Reality check

There is no harder reality check that trying to use a mass marketed product you developed and finding it's hard edges for your particular necessities at a different point. Also it is really hard to get off your builder hat when it is not even in your turf to add those capabilites to the development roadmap of said product. It is impressive how many small and micro enterprises work with sub optimal solutions or the bare minimum functionallity and end up exporting information and doing the extra work on spreadsheets. It might look like small things but those are actual needs of a group of customers that are not being met; and I get the other side of the picture, there is no way that a product team can provide solutions for those needs while being constrained on resources and juggling with the needs of the high utilization volume users. This post I'm trying to be vague but for some examples here are somethings I'm currently missing. * In a cash payment to be able to record ret...
Recent posts

My Unexpected Career Journey & What I've Learned Along the Way

 What a wild ride these past few years have been! I've bounced from IC to staff engineer to principal and even director-level management where I was setting long-term strategy. Then came the layoff plot twist, which led me to launch two non-tech businesses before circling back to being an IC again—but this time in Operations and DevOps instead of programming. This shift has given me fresh perspective on what actually works and where effort gets wasted. The contrast between deep-pocketed organizations and bootstrapped startups is striking. One group is carefully carving out their niche while the other is in pure survival mode. What's fascinating (and frustrating) is seeing how much bureaucracy and inefficiency exists, especially for micro-enterprises. These smallest businesses often rely on pen-and-paper systems or basic spreadsheets—stuck with manual processes because there simply aren't tailored tools for their needs. It seems nobody's interested in serving the smalle...

On personal processes

TLDR: Bullet Journal rocks! Third is not a solely technical post.  Over almost 25 years of working in software development I've seen multiple practices, frameworks and processes for individuals and teams. Some implementations worked and others became so bureaucratic that they made for a very unhappy group of people. From free for all to things so complicated as rational unified processes (RUP) and Capability maturity model integrated (CMMi) passing through Personal Software Process (PSP) and Team Software Process (TSP). Some of those have their merits and can be used successfully in certain contexts but when it comes to really individual things they didn't quite help me a lot. They either required use of extra tools or even create new ones to be able to do what was required of the process in addition to do the value work which in turn adds to the inertia and extra effort.  The one practice that did really help me is Bullet Journaling (Ryder Carrol) precisely by being non techn...

On Interviews from the other side

On the last months I had a couple of the most aggressive interviews on my current job hunt.  It started with one of the interviewers stating that I was being recorded and that all answers should be provided from the top of my head, that if I looked elsewhere it would be considered as cheating and against my candidacy.  Wait what? Are you serious?  This is a senior or staff level position.  If you do not trust me to even do an interview why start this process at all?  Then while talking about technology we were discussing concepts and this same individual starts to talk about specifics and "educates" the candidate and tells me to validate this afterwards.  Come on, of course I will not contradict you, but if this is the kind of culture you are allowing count me out. Then on to systems design on whiteboard. Here I'm asking lots of questions regarding the domain and all they answer is to make an assumption. Then they start asking how to develop the solution bu...

On 10x Developers

 As of late there has been a couple of blips around 10x developers.My take is that a lot is missing for many of us. There is chance that you have worked with a 10x developer but by the context where you were interacting that 10x was negated. It might be a process that is impeding the multiplier, lack of guidance or north star or many other factors. One that is almost never taken into account is having two or more 10x developers with competing characteristics that essentially negate each other. This I believe is the worst case scenario as it can cause frustration on multiple levels. Also it can potentially be that the 10x individuals are not aware of them being the cause of this situation. A cycle of constant feedback among team members and across teams is needed in order to pinpoint this case. The way to solve this negating situation is difficult as it might mean changing way of working in not so subtle ways, a lot of coaching and uncovering of situations that may be hidden in plai...

Design in public - Information Vault (Post 6)

  his is the sixth post on information vault taken from John Crickett coding exercises. In this installment encryption for Private Data is added and also the retrieval of said data in plain text for when there is need for it. With this simple code it is almost unreasonable to have plaintext Private Data while using AWS DynamoDb, the downside is that full text search is not possible on these fields so a different approach is needed. All the code can be found on. https://github.com/mtzmontiel/dip-data-vault To continue from previous posts which can be found here: Post 1 -  Problem Statement Post 2 - Security Context Post 3 - API Design (initial) Post 4 - Initial code - Behavior Driven Development against mocks Post 5 - Implementation part 1 Now to add actual Private Data Storing with Encryption I’ll be using DynamoDb Encryption Client which uses AWS Key Management System as materials provider for encryption. First we need to define the Customer Managed Key that will be used, thi...