Here are the 3 best practices we teach to young developers in our network as they begin their journeys as international software engineers.
1. Think About Time
Do you work with a lot of 45-year-old software developers at your current company? According to a 2015 survey on Stack Overflow (via InfoWorld), the average software developer is 28.9 years old. (Data USA puts the average at 39.7.)
While there are many reasons for this, the bottom line for many developers is that the window to fully develop your professional network may be limited compared to other industries such as the legal profession, where the average age for U.S. judicial workers (including lawyers) is 46.3.
Sure, it’s tempting to take your excellent pay to go on every available holiday and let your friends know you’re living the good life on Instagram, but it also pays to take some risks early in your career. So take risks.
Risk joining a startup, risk starting your own project or company, or risk asking someone you’d like to emulate to mentor you. As the old adage goes, “Fortune favors the brave.”
While press headlines may focus on the Zuckerbergs of the world, I know plenty of developers who were early employees at technology companies you’ve never heard of that were acquired, and who have leveraged such experiences to leapfrog their careers.
So surround yourself with people who embrace risk. You can easily spot these people and organizations because they’re the ones who are constantly investing in new experiments.
Believe me, not many developers want to join the ranks of those who thought joining my first startup was “too risky.” That company is now worth over $3 billion on the NASDAQ stock market.
I believe the greatest risk for young developers is not taking any.
2. Use IT Outsourcing As A Stepping Stone, Not A Career Destination
In emerging economies, working for an IT outsourcer can be a great place to learn basic skills and get exposure to live commercial projects, but you may not want to think of this as a long-term career prospect. That’s because IT outsourcer culture can be one of employment arbitrage and not innovation, and learning to think like an innovator can widen your career opportunities greatly.
A 2016 Deloitte survey (via The Wall Street Journal) indicated that only 21% of enterprise outsourcing contracts had any “proactive innovation” built into their service contracts, although Deloitte found that number had risen to 43% in 2018 (download required).
Obviously many innovations come from startups, so working on a startup project could be great exposure to innovation culture and give you the opportunity to put your own unique ideas into production code.
As well, I’ve found that IT outsourcers (especially large ones) tend to work on legacy projects and in legacy languages like J2EE. This can severely limit the types of jobs you can get in the future and rob you of the experience to learn new technologies or frameworks.
A common mistake I see young developers make is thinking it’s OK to work in the “safety” of a large outsourcing company because they and a friend are working weekends on their brilliant app idea. It rarely works.
A 2012 study by Harvard Senior Lecturer Shikar Ghosh (via Silicon Valley Business Journal) found that 75% of venture-backed startups fail, although other estimates vary. Think about that for a second — if founders who are dedicating their lives to their projects with VC money fail three out of four times, what are the chances that your unfunded side project will be successful?
For those that aren’t born innovators, developers can nurture an innovation mentality by working for a company whose culture rewards “outside the box” ideas and fosters risk-taking. That can be a fast-moving corporation, a VC-funded startup, or a bootstrapped group of hungry founders.
3. Find A Great Mentor
If you don’t have a senior coder that can take you under their wing and mentor you, please go ahead and work for someone that can. This is by far the single biggest difference I see between developers who simply survive from paycheck to paycheck and those that continue to increase their opportunities until they decide to retire.
Another common mistake I see young developers make is that they think $500 per month more in the short term is more valuable than working for a good mentor in the long run. In my opinion, they are wrong — good mentors are as valuable as a top university education.
Look for mentors who are living the life you want and who espouse the values you hold dear. Just because someone made millions and drives a Ferrari doesn’t mean they’re a good mentor for you. And a good mentor doesn’t have to be someone that makes you feel good about yourself.
Think about your best professor or teacher from your school years. Was the person you learned the most from the nicest teacher? Did they challenge you and at times make you feel uncomfortable, or did they sing your praises on a regular basis?
Mentors come in all shapes, sizes and temperaments. You want to choose those that can most accelerate your career and help you train for your “career black belt.”