C3 Conf Amsterdam Insights
Introduction
I have attended the developer conference in Amsterdam called C3: Code, Career, Creativity. This event is part of a series of events organized by Gitnation, of which the others were not that much of an interest to me.
It has been a bit of a frustrating start with the workshops and general complaints about the organization, but it turned out to be one of the best experiences. You can view the offline schedule here. In this article, I have mainly tried to compile a list of specific talks I have attended and my insights from them. But before that…
Pre-event: AdvancedJS Amsterdam Meetup
I have been attending some AdvancedJS Amsterdam meetups to learn and engage more with the Javascript ecosystem in Amsterdam.
I have already submitted a Lightning talk to the organizer Konstantin Klimashevich, and I was delighted to learn that I would be presenting alongside a few people who will be speaking at the conference.
I presented a quick demonstration of using .http files as an alternative to HTTP tools like Postman.
The presentation was well received and after the talk, I was amazed by how many people were complimenting the talk. I have also been approached by Josh Goldberg who was also there as a surprise guest sneak-peaking his talk to the audience, and he has suggested that the extensions could be further improved by integrations to Typescript and OpenAPI. I was excited to talk with many other speakers at the meetup and engage with listeners from a speaker’s perspective.
Overall I think it was a lovely start.
Workshops
From Senior to Lead: Grow and Thrive in the Role
The first workshop that I attended in the morning was focused on providing solid advice for getting promoted. The presenter has provided some supplementary material with exercises to find one’s place in which path they are willing to take (IC, architect, or management) and record keeping of success.
The presenter was mostly talking from experience, and I couldn’t help but feel a bit of bias towards their own experience. However, there have been many take-home points for people who were trying to become better ICs (and eventually be promoted I suppose). Some of the key highlights for me were:
Others need to see a person as a go-to person for a specific domain &&|| technology.
I believe this does play well with the T-shape knowledge, where you stand out as a person for one specific area, while still knowing the rest. Not only increases responsibility to make an impact but also increases the credibility of oneself in the org.
Curate a brag list (of sorts).
They suggested that keeping a list of achievements, however small or big, can help with motivating oneself, allow going through bad days, and mitigate the imposter syndrome.
Engage more with your manager.
They suggested that sharing your personal goals (such as targeting a promotion) is helpful as it would be your manager’s goal to help you achieve them. I have been discussing many issues, ideas, and feedback that I have with my manager in our not-so-frequent 1 on 1s and I believe it has been extremely helpful for me to grow and flourish.
While I enjoyed the talk, I have seen them take a very rigid and formal approach. The helper workshop files they shared were mostly of templates to fill (like goals, pro-con, etc…) and there were instructions like do this x times, and goals shall look like this which I believe was a bit too waterfall of an approach, and too goal-oriented.
IMHO, defining getting a promotion as a goal and a metric, then trying to shape your whole work life around it is a ticket to despair. Sometimes, you will have bad weeks or months. Sometimes, the company won’t have the budget to promote everyone (even if you follow guidelines perfectly). Sometimes, just following some guidelines blinds you so much, that the work just becomes Promotion Oriented Programming.
I would like to believe, that just as one’s life is not just work, one’s work shouldn’t be just a career.
Overall, I found value in this workshop with the advice given, however I am a bit suspicious of the overall message given.
Senior Mindset
This session in the afternoon was a very interactive talk, where the presenter gave certain instances, and people joining shared their experiences. I enjoyed the share, not only because it was fun and interesting to hear others sharing, but also because it showed that we are not alone regarding what we go through as developers in general.
This talk featured a lot of interesting points about what being a senior (fitting into the mindset) entails. I think there were a lot of valuable lessons. This has become a list way longer than I anticipated, but I wouldn’t generate this if I didn’t think these were important:
Senior role is terminal: Some people will become architects, and some people will switch to management or PO roles, but for the most, there is nowhere else to climb.
Figure out what is the right work to do: what does the company need the most and what you can provide?
Improve the productivity of the whole team
Working for major companies (like FAANG) doesn’t matter if you cannot improve, as long as you deliver value (make things better) over time, it is an improvement.
Most people don’t want to improve, so make sure that you have a team who wants to grow & improve with you (I think I am already very lucky regarding this aspect tbh.).
You will never outgrow your company: If your company doesn’t want to grow, or can’t grow, then you won’t.
Your work will result in an output, however, the promotions will come with outcomes:
Output is measured on an individual level, while the outcomes belong to the team. Outcomes trigger more of everything, more responsibility, more say. The result is a bit of tit-for-tat, if you can show that you can bring outcomes as a team, you will get more opportunities to deliver more outcomes &&|| realize your goals.
Pick your work and brag about the outcome: Your manager cannot be in every room & they need to know what you want.
The leadership team will get what they incentivize anyway, so find the incentives for your values and build things from there. Everyone builds something anyway, yours will stand out on how much it aligns with the incentives.
The best outcome = impact * #people learning. The more people who know and are affected by the impact of the things you build, there will be more value.
Solve problems, so the stakeholders don’t have to worry about them much: If you solve the problems that other stakeholders worry about, more people will know you as the person who gets things done.
Involve engineers early: Most stakeholders don’t know what complexity is. Engineers are the people who know best how the systems work and how they should work.
Document the time &&|| resource delta for the impact.
Don’t sabotage: Here is a link to an article quoting from CIA’s handbook on how to sabotage effectively. Don’t be one of those people that practice these methods to secretly sabotage the work of others.
If people ask questions about how you will do your work, this might indicate they don’t trust you for transparency enough. This will yield less autonomy. Be proactive, make a decision yourself and others will come to you.
Solve the problem, not a different more difficult problem
Managers are from Mars, Devs are from Venus
This next workshop has drawn my interest specifically due to the name, I thought that it was somehow relevant and it seemed like a fun workshop overall. Indeed it was, as we were progressing towards a framework for improving communication between the devs and managers, I couldn’t help myself get more involved and participate. The overall premise of the workshop was that failure happens because there was at one point a lack of clarity and trust between different parties. This, they claim, is a clear indication of a gap in the communication between devs and managers, thus the title of the talk. So, during this workshop, the presenters showed demos and examples of certain ways to understand and argue better with the managers.
There were a lot of steps to go through. Some I think are simply facts of communication, but some seemed a bit sneaky to get your word through others. I won’t be laying out all the terms here, but some of the few highlights from my notes were:
If you act with a sense of urgency people will listen: Always put out the problem, visualize costs, and worsen it over time. Stick is better than carrot.
To me, this sounded like a good way to get people nervous, which I believe would increase the stress level of everyone involved. So I didn’t particularly enjoy that they encouraged me to create a doomsday scenario out of everything. I believe that people essentially are trying to go through the day, so stressing them out will not work.
Detailed visualizations are sheet (may not be the exact wording): have less than 10 figures on a slide, page, etc…
This is something that has made sense to me ever since one of my middle school teachers told me. I still don’t understand why would some people provide a bunch of text and other visuals on presentation materials. KISS principle FTW.
Build functional and powerful teams involving people with the right skills for the right job.
Know the people you address: dig deep to see what they truly want to have.
All people wear masks, so the parties you talk with naturally can’t/won’t tell you what they incentivize. This will help one work well with others to align their own goals with others’ goals. If you don’t know what they want, you cannot truly align with them. Once you dig deep, their incentives may not be just more money, reputation, or recognition, but maybe someone who just is tired of putting out fires.
Don’t blame people, it will come to bite you: empathy is the key.
A very powerful phrase to use during any sort of emotional escalation is I understand and that sucks. It doesn’t blame anyone, shows empathy, and a result, makes people understood and calms everyone down.
Communicate your intentions clearly, like an elevator pitch.
The presenters have provided a way to structure the whole speech to sell an alternative solution, but I don’t think there is only one way to present a solution. Furthermore, their way of presenting the solution (first create a complication and swing it) feels to me too hand-in-hand with building doomsday scenarios out of nothing. So I won’t be getting into the details here.
Celebrate small wins: While building the solution, structure it in a way that will show incremental improvements. This will not only show the measurement of success but also will address any doubts that others were having.
During the workshop, we (the audience) split into teams and tried to handle a sample scenario on how to argue. I have realized how unprepared I was before tackling communication issues, and one of the biggest advice I got from the presenters was to practice with a coworker, before taking a proposal to higher-ups. Overall, even though I didn’t agree with the harsh take on the fear aspect, I believe the workshop was very much helpful.
Meet with the legend: John Romero
On the next day, the keynote speaker, John Romero, gave a presentation about the issues around the latest developments in AI and his take on which job functions will it replace or enhance. He was most critical of OpenAI and its abuse of licensed content without paying any royalties or giving credit. He was mostly focused on the creative aspects of the games that he has built in the past, with examples from Doom and Wolfstein.
The argument was that AI was marketed as a revolutionary tool that is going to change the world, but according to his arguments, it is not creative at all.
It follows that the AI could be very helpful to generate another version of pong, but it will not revolutionize the gaming industry as much as Minecraft did.
I agree with his take that AI has evolved into becoming a huge mess that everyone is somehow trying to promote. I believe someone more involved with AI has explained it better.
However, I also love using the Copilot for basic tasks and it feels that it is a helpful tool nevertheless. After the talk, when I went to meet with him, he agreed that companies like Apple, which train their GPT over the data they have licensed already are ethical and legitimate. I think that he has enjoyed the take that developers find better ways to do things after seeing how badly the AI does it, so I don’t think he is completely against the usage in any case.
Conference talks
After the keynote, there were many conference talks.
In the breaks, I was able to connect with many people from different countries, different backgrounds, and different stories. This was a valuable experience within itself, so much so that I think my C3 stands for Code, Career, Creativity Connection.
I don’t know how many folks I met in the breaks, during the talks, or at the party are reading this, but it was very pleasant to meet with you all.
Bring the power of AI to your application
This talk was given by a member of Github Next (the Github research team). I was expecting a bit more of a tutorial approach when I saw the title of the talk, but when I started to watch, it turned out that it was mainly about the discoveries about the LLM and Github Copilot applications that they have discovered. He was presenting most of the user studies that they conducted, which are accessible from Github Next’s website. A few points that stood out for me were:
Hallucinations are just the AI bullsheeting, like a student trying to get some grades from their teacher during an exam that they didn’t study. The answers will not be always correct but the exam paper will sound very confident.
Know that the AI will fail: Get it to do the boilerplate code, not decision-making.
More accuracy!= More value: To get more accuracy you will need more data, more training time, and more latency. Users are happy with bad results.
This was very interesting for me to hear. Apparently, according to their studies, users are inspired by the bad results that LLMs generate, more than they accept the good enough results.
There is no coming back from the AI change: It is here to stay, everyone needs to ponder about how and when they can use and utilize it, instead of completely rejecting it.
Limiting interfaces make it better: According to their studies, more free text interfaces (like ChatGPT) make the results unusable and provide more freedom to the end-user on how to structure their query. This in turn creates usability issues, that the user has to fill everything and wait. More constraining interfaces, like an autocomplete instead actually benefit the users more as they don’t have to engineer a prompt themselves.
Overall, the talk has been very concise and informative. I think that the dissemination of UX studies like this would be very helpful to many other companies and organizations that are missing the end-user experience.
How to turn engineering work into promotion
This talk stood out as the presenter was full of energy and the talk was structured as a series of very important quotes. They were a series of pieces of advice and things to look out for while advancing through one’s career. What I was astonished by was that even though the points that the speaker mentioned are basic ones, I have heard that many people have not encompassed them when I talk to others. So for the following points, I am trying to follow, and I would encourage you to same:
- Have a Brag Bank: Similar to one of the talks before, keep a list of things you can show off. $s saved, %s improved, anything that has a business impact.
- NNQ is important for arguing for a promotion: Names (important people can vouch for you), Numbers (metrics), Quotes (people that said something good about you)
- Your work won’t speak for itself if nobody is listening
- Be self-compassionate: Only you live with yourself in your life, speak to yourself like the roommate you wish you had.
Panel discussion: Career development
In between the talks, I joined a panel discussion that was led by directors of engineering. The overall discussion was mostly based on their experience, but I was able to get some solid advice:
- Ask people how they see you, and what they think about you, perception is important.
This perception is also very apparent in language use. Even though people don’t want to be judgmental, there is always an implicit bias against the usage of language. Especially if English is not your main language, use tools like Grammarly or ChatGPT to enhance your language use in what you write.
- Teaching helps you grow, and most definitely you can understand the things you are teaching better
- Start writing, write for your brand (like me now), and write what you learn. Before making changes write about them, it makes it easier to discuss and gives more time to everyone to think and discuss.
- Tell others about your plans to make an impact. How many people are interested in the impact is a good metric of actual impact.
- Whenever you join a new team, position, or company; try to make an impact in the first month. Nothing big, maybe a one-week side-project based on a problem that you see. Usually, company code bases have a lot of issues that can be tackled easily, but people won’t have time for those Start doing it, don’t think much about it.
- Know your privileges, values (what drives you) and skills. Deliberately invest in more skills.
The discussion was overall very unstructured and more personal as only a few people were sitting around a roundtable and thus there wasn’t a clear agenda on what to talk about. I was inspired by the panelists’ takes, since even though they were laying out specific principles, they were always quoting back to their experience in previous work that they have done and the overall conversation was more casual than the other presentations that I have been.
In conclusion
Attending the conference was a significant experience that provided me with invaluable insights into how to progress in the career journey. The talks and discussion formats offered various perspectives of tech leads. Meeting peers from around the world was a bonus, it was nice to feel like a part of the global community with a shared ambition.
In this blog post, I broke down the significant talks I have attended, alongside my key takeaways and personal commentary. I hope that the points in this post will help you too! Thanks for reading and making it this far!