I have no children. But there are many children in my life. I’ve also worked closely with thousands of entry-level developers over my 20 years in technology. Throughout my career, I’ve been approached by parents looking for advice on how to encourage their children to become software engineers. It is, after all, the No. 1 job today, according to US News & World Report. It’s also really fun work.
There is a temptation to treat children as Olympic hopefuls. Get them coding as soon as they can type! Create an ascetic childhood of programming challenges and summer code camp! This will surely ensure their future success. To the right?
This will ensure that they understand how to write code. But the ability to produce the correct syntax does not make a brilliant developer.
Neither did an Ivy League degree in computer science. In fact, some of the best development teams I’ve worked with have included people with degrees in subjects as diverse as music, philosophy, finance, and linguistics. Or, in some cases, no degree (including a number of the 100+ developers I lead at Atlassian). These people were all late in terms of coding knowledge, and each came to software development through their own path. And not because their parents pushed coding, by the way. They learned to code because they love it.
It turns out that the key ingredients for success are surprising, especially for someone like me who has spent over 10,000 hours in front of a computer working on code. Qualities such as curiosity, persistence and empathy are essential and, frankly, harder to learn as we get older. If you want to equip your children with the skills and characteristics they will need to succeed as a software developer, start early and get them to go beyond the keyboard.
The best developers quickly dive into deep work and stay focused on their task because they love their job. If you’ve ever been “in the zone” at anything, you’ll know what I’m talking about and how awesome it is.
While there are many ways to promote focus in children, I encourage parents to give their child unstructured time to dive deep into whatever they love to do. Make them understand what it feels like to be totally absorbed in something. Whether they’re shooting hoops or drawing, they’re developing the muscle memory they need to complete a task.
Building software is a team sport: it takes developers, designers, product managers, marketers, and customer support engineers. So what better way to learn to work with others towards a common goal than by playing a team sport? Or if your child isn’t interested in athletics, they can form a band, build a clubhouse with friends, or team up to work on a project. All of these collaborative activities teach children to divide up the work, play their positions and support each other.
Not all developers are team leaders, but all developers are expected to lead projects. And it turns out that providing opportunities to practice leadership at home can also lighten the load on parents. Find something your child can take care of: a flower bed, some day on your next family vacation, grandma’s birthday present, etc. give them ownership of something. Let them make decisions about what needs to be done and how.
4. Emotional Intelligence
Empathy is the key not only to building software your customers love, but also to being a great teammate. Experts have written a lot about how to develop empathy in children, but I have a few favorites. The classic game of “what does that cloud look like?” introduces young children to the idea that different people have different perspectives. Older children can deepen their understanding by choosing films and books that present the experiences of people different from them. And for an experience for the whole family, nothing beats volunteering at your local food stall or soup kitchen.
The software industry is changing rapidly and the people who like to learn are the ones who stay on top. If you don’t constantly learn and progress, your skills will atrophy and you will eventually be left behind. As with focus, unstructured time to explore an interest is a good way to stimulate curiosity.
Even better, parents can nurture their child’s curiosity by connecting them with books, activities, and documentaries on any topic that interests them. Bonus points for parents who show passionate curiosity about their own interests. Growing up, I saw how much my mother loved learning new things. She would spend months learning a new skill, immersing herself in it completely, achieving her goals, and then moving on to the next challenge.
6. Spirit of Growth
Developers who approach their work from a place of continuous improvement and lifelong learning are the least likely to burn out and the most likely to be happy in their work. Children whose parents set an example by admitting what they don’t know (and inviting their child to come and find the answer) have a head start when it comes to developing a mindset of growth. See also: children whose parents take the time to best explain complex concepts or systems. Responding to difficult questions with “Well, that’s the way it is” is expedient in the moment but is useless in the long run.
With the rise of remote working and teams spread across multiple time zones, the ability to speak clearly is increasingly important, especially the ability to explain things in writing. Very young children can get a head start by telling you what they did in school (and don’t hold back on follow-up questions!).
Parents of older children can encourage journaling or writing short stories. When they’re ready, encourage them to write to the companies whose products they use or their government officials to advocate for the things they’re passionate about.
Neuroscience shows that stories activate our brains much more than the facts alone. The bottom line is that whether a developer is speaking at a conference, offering VC funding, interviewing for a job, or trying to align their team around an idea, being able to tell a good story allows you to connect with others in a more meaningful and human way.
Asking children to recount things that happened in school is a good way to develop this skill. The same goes for making a smartphone adventure short film for their friends – the more drama, the better. As a bored teenager, me and my group of friends started hosting a neighborhood show-and-tell event where we told a story about an object and why it had meaning to us. It started with five participants and grew to over 50 people on a monthly basis.
With the constant flow of new tools and technologies, developers always have more to learn. Those who can also teach what they have learned to others become multipliers within their company. (Boom.) Luckily, most kids like to show off what they know, so channeling that energy into teaching isn’t usually a hard sell. They can help younger siblings learn to tie their shoes, fold clothes, braid their hair, ride a skateboard… whatever. Older children can further hone their teaching skills by becoming school tutors.
The best education is not linear
Creating software is a creative enterprise. Rather than looking for people who have top rankings on competitive programming challenges like Best Coderindustry would be better served by cultivating diverse teams of people who bring different perspectives. Research consistently shows that “aha!” moments do not happen by chance. They were born from the meeting of various backgrounds and ways of thinking.
Don’t obsess over following a particular path through the education system at the expense of personal enrichment and time to explore. Learning and enrichment are the keys to future success, but burnout is very real. Heed the warnings from these documentaries about child-athletes gone wrong and encourage your kids to find their own paths throughout life, then send me their resumes in 10 years so I can hire them! A busy childhood prepares them for a fulfilling career in software development, or wherever they ultimately choose to go.
Mike Melnicki is Engineering Manager for Developer Tools at Atlassian.
VentureBeat’s mission is to be a digital public square for technical decision makers to learn about transformative enterprise technology and conduct transactions. Learn more about membership.