
How are you? — I’m good.
Have you ever noticed that? These simple greetings aren’t exchanges we have with just anyone. We would not say it to everyone we come across — not the fellow traveller on the train — not even the individual standing in line waiting to order food.
How many times did we ask this question, and who did we ask? Each time, it’s like a connection to a specific moment in our life.
Did you ever wonder why you know these people? Well, there are some reasons. Can you remember a few people and why you know them? What memories do they bring?
For me, those moments are memory and lesson I have learnt from them in my career— that I would like to share.
The very first one, I remember about!
“Do not let problem scare you, be familiar with them”
Thinking about the first meeting, it was surprised. Everyone was talking a lot, like they were in a war of discussion with many ideas and very active person. But for me, I didn’t even know what was going on in those meetings — not only one I mean many meetings :)
I just wondering how they can do that, where they bring idea from, since those of them are no one specific experience on these domain business before.
Absolutely, there is nothing free, no one born with those kind of skill/knowledge.
What key take away from me is that, working/life is like playing game— enjoy collecting more gold, upgrading weapon, buying more weapon, more facilitates, fighting to gain more resources, and upgrading internal strength. The more we do, the more we improve, we will gain more and more strength / experience and more power and not scare how hard the next level is and always enjoy for the journey.
It is not different, the more you power and strength, collecting more knowledge, more skill set, play more and more, collecting more weapon, …, more and more, the upcoming issue / problem will not becoming big and scare us. Base one experience and what we have passed through, we are not always to be expert on the problem to solve but we know “How to we gonna find the way to solve it!”
For instance, at the very first start of this position, I have joint a development phase call inception, which is a new for me. And there are a lots of the tools, that we using at that moment. Elevator pitch, SWOT analysis (Strength, Weakness, Opportunities, Threats), Prioritization framework, Trade-off Sliders, R&R (Role and Responsibility), Stakeholder Map, RAID analysis(Risks, Assumptions, Issues, Dependencies), Pros vs Cons comparison, etc,. Since that is interception phase which we trying to figure out what is client challenge need to be solve, those tools mostly relate to analyze / organize the information.
In overview of this first point, this is the inspiration of unblock from my limitation of fear facing the new challenge that what have no experience or new challenge.
Beyond this, no hurt at all to talk to people. Talking to people is very fast ways to learn something and can helping you a lots to solve the problem. Keep quick, short and straightforward.
This is another one I would like to mentioned as well:
Language is not everything
Like reading until this section, you maybe notice there are a lots of mistake that can be improved to be more better. It is 2nd draft only before I publish. Absolutely, it would be better and better version with 3rd review, 4th review, … and so on. But I really want a recap what in mind and share. Otherwise, I need to wait for 5th or 10th review before you are able to read. For sure, you will still can found a lots of mistake many place until the end. I hope it can still delivery what I want to share. (This section is just added in the 2nd review, and I wish not correct all those mistake that I can found, since it is a personal article and not on behalf of any party. However, if you feel would like to say something / comment / feedback, I am very happy to hear all your input! :)
Lack of English knowledge is not the constraint preventing me from working where everyone cannot speak my native language. I am not good at English but communication is more than a language:
- Clarification what we understand, wrapping up, following up
- Provide the enough context, link to all those information we talking about especially communicate across functional stack holder. Keep in mind to have clear message intention i.e. inform message, asking for taking action, or asking for approval
- Quick introduction to audience, in the invitation with bullet points start with: “What”, “Why”, “Who”, “When”, “Where”, “How”
- “Can you repeat again with different word” — One of question that I like, when one of team lead always saying this to me when he cannot understand what I trying to explain
- Virtualization tool is a very sufficient way to explain something or contribute among team. Especially, working remotely, online board is very useful tool
For language, if it is a safe environment, no judgment for language, no accent judgment, speak by our style, we will be better and less fear to speak out.
One other point from experience, we always doing something wrong. There are different level of mistake we met. However, along with those mistake, those should be the area to improve and prevent to happen again.
Treating Mistake as a Road Sign Direction
Story Card should be writing for the business stack holder, providing the business value. Using non-technical word in title with straightforward and clear, acceptance criteria is about business as well, the rest of technical should be in technical note. Card size should be small enough, can be known by list all the sub tasks that can be exist in cards, trying to put the assumption to see are there any block that need to be resolve. Story card can be spike if there is a lot of unknown information that we need to investigate on. One card maybe include:
- Summary
- Acceptance Criteria
- Technical Note: Assumption, Subtasks, Details
- Open Questions
- Out of Scope
- Further Generic section (if any) i.e. story point, time box …
Story Backlog Grooming should be a session for sharing the context to all stack holder. Each story card maybe have the open question section and only a quick conversation with answer yes/no. If there is a lot of deep conversation or the more analyze to find the answer, those questions should be answered before grooming by having a conversation with relevant stakeholders or doing quick spike or investigate.
Stick to what we decided in team, during leading the further conversation with other stack holder. There are a lot of factors can effect the team especially with the management perspective along time management, team capacity, and workload. So, don’t use own decision, since there is only one perspective i.e. Dev perspective.
Take action is a general key to be a better version and moving ourself close to our goal. We can dream big, but action can be take as small as we can. Plan what is close to our currently situation, plan with what we can start doing immediately. There is no limit for everyone. My mistake is wasting time on fear which help nothing.
Don’t do development in the last day —
Last but not least, there are a lot of things I pass through on top of the old experience as a Software Developer.
New Collections
There are a lots of things that I hand on
- TDD (Test Driven Development)
- Testing Strategy — Shift left, Test Pyramid, fast feedback
- Feature toggle, Continue Integration, Continue Deployment & Continue Delivery
- Security tools, Git hook, & Code Quality Scanner, Code review
- Agile Thread Modeling, Sensitive Data Protection
- Gaining new tech stack / technique — K8s, Argo, K6, Terraform, Template generator, Observation tools, Cypress, Github Action, CI/CD, AWS, Exponential Backoff
- Pair Programming, Dev huddle, Tech Debt, Mob programming, Knowledge sharing, Conduct workshop/training, Interview
- Story/Spike card analyze & preparation, Backlog Grooming, Story Card Kick off, Desk Check, Demo, Show Case, Handover, Retrospective, MVP scope
- Documentation, Decision log (ADR), Feedback
- Team social, board game, team bounding, dinner / lunch & beer
- New abbreviations: BRB — be right back, LGTM — look good to me, WoW — ways of working, IMO — in my opinion, AFK — away from keyboard, TBH — to be honest, etc.,
- Fully working remote and fully on zoom the whole working day becoming normal
In the end
Those are the new gain along this time, on top of a Software Developer with MERN stack experience. Also, those remind me many people I have said “hello” to them in different situations. Thank all of them for what they share and feedback.
There are a lot of things that we never know they exist. Don’t stress to be a very expert in anything, we can be better than that. Keep collecting all what we have pass through, improve the interesting area, expand all unknown area as much as we can. 🎒
However, these are all my quick overview and memory that I remember in professional services as a Software Developer, Consultant during 2nd anniversary.
Cheer!