This year’s Codemotion Milan included a significant focus on how devs can start their career, build their skills, and progress through their career cycle. We enjoyed talks at the conference from a number of people about their career story and meet with presenters for deep-dive interviews. Here are some of the insights we learnt:
Transitioning from another career to become a developer
Grace Jansen, Developer Advocate at IBM, spoke about the challenges of reactive architecture. She shares with Codemotion her move from a degree in biology to working at IBM: “I think any transition from one expertise to a different industry and another expertise is always difficult. She noted that her biology degree involved some programming:
“I used Python to program biological models in different biological scenarios, so I was lucky that I had some programming knowledge, but I’d never done object-orientated, and I’d never even heard of Java.”
She shared:
“I was very lucky that IBM gave me the time to learn they gave me the time, the resources and more importantly the mentors and support, so I really had a community behind me trying to help me get up to speed.”
We also sat down with Kathleen McMahon, Senior Frontend Engineer and Tech Lead, at O’Reilly Media. She shared her transition from UI and interactive design into engineering and the benefits of cross-sector skills in the contrasting worlds of design and development:
“Design system engineers are at the very front of the front end. You are straddling the line often between design and development. With either background, you can hop over that line and be a bridge between the two sectors when developing an app, a component or a layout.”
Further, design skills mean you can understand how to inspect a file and ask the right questions about implementation, due to a shared language and break down bottlenecks to speed up the product development lifecycle.
Not everyone needs to be a specialist
According to Russ Olsen, there’s a space for everyone on the team. He explained his experience working as a generalist:
“I think people are born generalists or born specialists and that that’s fine the world needs both. Do I want to dive deeply into this one thing and learn everything in the world about it, or am I easily bored? As a generalist, to dive I can learn something for a little while until I’m bored with it.”
Russ notes that while it sounds like a disadvantage, “it’s really not because if you keep going on to the next thing then you have this kind of horizontal view of how things work as opposed to a vertical very narrow way of it works.”
“The advantage of having a generalist on your team say is that there will be all of these people who have these specialties and essentially are working in silos but you also need people who you know big picture and not so much you just need someone who can see the next silo over or maybe two silos over because that’s where the big mistakes happen. Otherwise you have two people or groups working side-by-side but they don’t really understand what the other one is doing.”
The importance of non-technical skills for developers: people skills
In an interview with Codemotion, Akhilesh Gupta, Sr. Staff Engineer LinkedIn “I think if we talk about non-technical skills, the most important interpersonal skills right now is just being a nice person. He suggests engineers should focus on “helping your colleagues and your juniors grow with you.”
Russ Olsen advised of the value to see the world from another person’s point of view and notes, another skill that’s important is being able to write and communicate:
“I think one of the problems is that if your main interest is technology people will tell you ‘yeah you developers are not good at communicating’ or you’re not a ‘people person’ and that it’s a little bit of a stereotype.”
Russ stresses that while some people have these skills innately, they can also be learned:
“Don’t imagine if you have trouble writing or communicating or maybe just kind of coping with people don’t imagine that that is just something you’re stuck with. You learned to program, you learned HTML or SQL, and you can learn to communicate. “
Russ shared his hobby in building musical instruments from junk:
“It’s a hobby that has a long tradition in the United States, and it’s wonderful for honing their skills in software development because you look at a box maybe that cigars came in and you maybe you see a box the cigars came in, but maybe you see the body of the guitar. So you see things for what you can use them for and not just for what they were meant for, and if that’s not a skill that you need in software, I don’t know what is.”
Tools and Resources are Available to Help you Learn new Skills
One of the advantages of being a developer is access to new tools and technologies to help build your skills and career opportunities. Priyanka Vergadia, Google developer advocate took some time to talk with us about chatbot development. She shared:
“If you’re interested in data science and machine learning, in general, you definitely should start with Python.” She notes, “ It’s actually very easy to build chatbots, but the problem is there are so many out there. As long as you are investing your time and energy and understanding into how to build a good conversational experience, that is what’s important and will lead you to success.”
Get involved in your community
Being involved in the developer community is not only a benefit to your social life but also your professional development, Luca Mezzalira, VP of Architecture at DAZN, asserts:
“I truly believe that being engaged with the community will allow you to see the same topic in the same knowledge that you have from a different perspective and different angles and that is unviable because then you can start to think on different ways to solve problems that you wouldn’t think before.”
The experience of managing
Akhilesh previously worked at Uber as the company was undergoing a period of rapid growth. He notes the importance of autonomy as companies scale and the need to “let your team make their own decisions…
Give them the autonomy to make the choices that are best for the thing that they are overseeing and then help hold them accountable”.
We also heard from Patrick Kua, chief scientist at N26, about the role of a tech lead and the challenge and opportunity for those going into the role. He noted that “The tech lead is not a promotion, its a role change” It’s also a leadership, architecture, and developer skills.
He shared that the role is also about growing points of knowledge, so you don’t have single points of failure in your team. The skills are very different from management and previous engineering:
“What got you here won’t get you there.”
He shared the surprises and struggles he had experienced transitioning into the role. This included feeling alone, balancing the sharing of information with the “need to know” and feeling of uncertainty. He highlighted the value of reaching out to “others who have been on the same journey in other organizations.”
Break the rules when you fail
Luca Mezzalira, VP of Architecture at DAZN, closed the conference with a keynote about failure and reinvention. He discussed the capacity for reinvention and that “An idea can be more powerful than a job title.”
He suggests that devs embrace the bigger picture, look for similarities with what you already know when circumstance forces you into a new paradigm. He advises that ideas can come from anywhere:
“Don’t be afraid to change your mind, change your approach. If the norms and ‘rules’ don’t work for your specific context, break them!”
Luca was also kind enough to offer some insights and suggestions for future Codemotions:
We look forward to next year’s Codemotion conferences where speakers will inspire us through sharing their insights, challenges and career journeys.
If you want to know more about how modern technologies and tools can support you for – and during – the organisation of a virtual event, don’t miss this article showcasing the best tools we used to host our online conferences since the COVID-19 outbreak.