...dig, dig, dig.
and things in life, it turned out that a project came out with that company that I could not speak years ago.This time the It was more ambitious, instead of only 150 people from our company was a total of 1200 distributed throughout the world, And of different companies, of course.
The fact is that they had considered making an implementation from scratch, using Driven Desing, to organize The different domains that arose from rebuilding the 70 different applications that had on a single platform, open, where each domain was operated by a set of squads independently, exposing some APIs on a portal for that the rest of the domains will communicate with what they need.These squad would operate the development, deployment and maintenance Taking advantage of the tools they were developing for a multi-cloud.It was also given a lot of weight To the testing, using karate.The technological stack remained the same as years ago, evolved to the most friendly versions, of the Java libraries, with Spring Boot, and that yes, a hexagonal architecture.
The fact is that starting was quite well, as far as possible, we managed to start the complete development flow, From the definition of the API with Openopi, its generation of automated code, the implementation of the logic, a persistence with H2 in memory (because we still did not have the infra available for the BBDD) and all this with a Clean architecture, like the one that They generated the example artifacts, even automated the automatic tests of the APIS with karate and connected the Results with X-ray, everything ordered and in less than a month and a half, we even connect with your kafka to broadcast events.
The definition of the domains was not so fine, and except the one that had touched us.In fact it was a bit anemic, but Well, we were ready for us, the team was greased and ready for work, we just had to search replacement for the Qa Lead (which we do not end up finding) because the second Qa (in the end we were 2 squad) complied with the work that was expected (and there was not much, because nothing) and I even had to do the tests of Tech Lead, but between Some things and others had already happened almost 3 months, and it turned out that the code was not hexagonal.
So after the third (or fourth) Refactor of the APIs to meet the domain requirements (in their refactorization constant) we had to address the refractorization of the code of our domain (anemic, not at all) to make it Hexagonal, and the aggregates had the logic that was expected of them in a hexagonal design.And how it seems that they did not have very clear if the aggregates had to be immutable or not, and between the December bridge and that our person in charge was the week On vacation, they almost gave us Christmas to approve the refactor.A little earlier I find out that I didn't give the size For Tech Lead, 4/5 in the technical interview and 7/10 in the technical test.
On the interview I only direct, that after discovering years ago the concurrence in Go, I always have to refresh the concurrence in Java. And about the technical test, I will only say that if you are interested look here. I will say anything about that after performing the technical test a Saturday morning and part of Sunday morning, after eating My algorithm did not throw, and after many laps and before going to sleep, I choose to make it work, changing ...
and I will not say anything after the technical test, it was when they began to look at the micro code, and start saying no He was hexagonal and putting herself ... Anyway, I'm not going to say any of that.
because it turned out that before Christmas, in which they had asked not to take vacations, beyond the holidays, They were approved by the refactor, and incidentally, in parallel we implemented the outbox pattern they requested, with their own library, To send domain events ... but or surprise, at the return of Christmas, they told us that they dispensed with our services. Nor will I say anything that the domain had been out of the MVP of mid -January (for which we could not take vacations) And that they had delayed it, that the definition had been delayed sure that it had nothing to do, the case is that we were outside. Of course, the weeks missing we did the transfer as some gentlemen and we finished everything they sent us.
In summary, I know XXX and I know Yyy, but I am not going to tell you anything: D Brike your conclusions if you do not believe everything they tell you.
...Taking advantage of ordering ideas
After receiving that call inspected, you can take advantage to do Technological recap, and this project emerged, with the idea of looking for the optimal way to implement algorithms that solve problems Specific.Given that challenge, take the opportunity to set up a monorepo, with Bazel, with code in Java, Go, and Python.Also as I had mounted In Github, take the opportunity to make an action on Go, and also start learning Python, and thus start paving my path to Machine Learning.
...What is this?
That month, you can also finally make an internal course of Data Architecture, about 25 intense hours in which I learned about architectures of data, how to make acquisition, treatment, classification and metadata, a review of the world of bigdata, which was something that I He had crossed almost all projects in the last years, but as a data provider, not as an architect who has to recover them.
...And this is done inside
And it seems that I liked the taste, after the internal reorganization in my company, I was now in the marketing area, And the tools used here were adobe (also SAP but those did not touch me) specifically Adobe Campaing, definition of Journeys advertising, action on the prospect, to impact him on the chosen target, communications shipping (mail or SMS or push ...) and measurement of the impact, with a control group to see the effectiveness of the campaign.Before, during and then, I also had the opportunity to do Small studies of Alfresco, Open Marketing Open UPENS (such as Listmonk) and also updated with Lifey (who already knew him from another project), I also put a little in tune with React.Come on, that a world of technologies, new and not so new.
...English interview
and another curious thing that happened in this period, was that my conversation course ends in English, about 40 hours, but they were not enough, To pass the cut with a German client, who needed people who knew Go (finally a project with Go) but my English level was not enough to accept me, the fact is that I did the interview and everything, and they liked my curriculum, but my level (for the day to day) does not It seemed enough to them, if they caught another who did not know anything, but at least German spoke.
...Learning Hindi
That experience led me to redouble my efforts to get "fluency" in my English, I opened some new fronts and intensify others, And apart from starting to learn a third programming language (Python) I told myself, because I don't learn a third language, and I was about To get to learn German, but I told myself ... Better the Hindi, which are more, and are very good in informatics.And there you have me, learning, Poquito A Poquito, Hindi, we'll see where this path takes me.