A Faith/Values-based Journey to Choosing a Software Job
I just decided on my next software job, and I have an immense sense of peace about my decision. I’d like to share about the extended time I spent to reflect and decide – so that you won’t just rush to the next big name / hot startup / highest paying job, but really aim to make a values-based career decision you’ll be at peace with. I’ll share about my values of relationship and “love your neighbor”, how they came to influence my decision process, and how they apply to the software world.
What Led Up to this Point
First of all, we who work as software developers are incredibly blessed. We get paid very well, and are in high demand, for jobs where we spend the majority of our time solving interesting problems and creating. It is easy to get caught in the Silicon Valley pecking order of, hey I don’t work at Facebook or Pinterest or on the coolest technology, but as someone who lives in a place where there’s almost nobody in high tech, I can tell you – we are all looked at as rocket scientists by the rest of the world.
That said, here is a really brief summary to give all my readers some context. I am an electrical engineer by training, who migrated into software largely due to the luck of landing a job at VMware. I joined them when they were less than 200 people, stayed 9 years and left when they ballooned to over 10,000. It was a crazy ride. Next I jumped to the big data analytics team at Ooyala, a video SaaS company (Software as a Service). Thanks to the great folks there, I got introduced to the world of open source and speaking at conferences, opening many doors for me. Next I went over to Socrata, to help the open data and government transparency movement. It was a great mission, but things didn’t work out – it became clear my values and career goals were in conflict with where the company was – and I longed to get back to doing big data analytics. In addition, there were some open source projects I was maintaining in my spare time, and I really wanted to have support for them.
Relax, Be Patient, Give up Twitter
At first, my instinct was to go talk to as many friends as possible, former bosses, etc., and think about some of the big names in the Big Data space I was in. I wondered though, if I should consider going in a different direction, like consulting. All wrapped up in my own thinking, it was actually friends and my wife who made me slow down. They asked me a question that cut to my heart: “Where’s God in all this?” They worried, correctly, that I was too self-consumed, and didn’t have my heart in the right place.
I didn’t grow up Christian, and amongst most Christians I knew there was a sense that for things like jobs, one had to rely on one’s own wisdom. That seemed like worldly wisdom though. Unsatisfied, I talked to more spiritual folks, started reading Experiencing God, and realized that I had to be patient and really carve out quality spiritual time. If you really love someone, you would want to spend time with them, to hear them out for real. I decided it was time to do that for God. What time did I have? The mornings. A while back I had decided to get up earlier - but mostly to get more time for things like open source development. It didn’t really work - it’s hard to wake up earlier, and I would end up surfing the web, checking Facebook to see how many like’s I got, and wasting time on Twitter. Somehow I got inspired to quit Twitter for a month, and started really dedicating my mornings - to prayer, journaling, reading, listening to sermons, just really good quiet time. After a while I started by listening to worship songs too. And you know what – it worked, I was able to feel guidance. Relationships and spirituality tends to return what your heart puts into them.
After some time, I decided it was better to quit and just enjoy the summer. Life is short, and summers where I live are absolutely gorgeous.
I know many of you reading this might not believe in a God, but that’s OK. I hope you keep reading! My point is this - job decisions are very important. Take the time to make them, and take some time off to enjoy life. Spend time with your family, parents, kids, God, people who matter. This will also help put the right perspective into your decision that only time and reflection can do. And I’m sorry, there are no shortcuts to this. Relationships take time. Perspective takes time. Peace takes time. Employers – and $$$ – are not as important as any of those things.
Money Last
The first thing God gave me peace about was money. You see, I grew up in a culture where you live to work, harder and harder, to rise up the ladder in importance and salary. As an engineer in Silicon Valley, I graduated seeking the companies who paid the best, and switched jobs seeking to increase pay. Being the sole bread winner of a family with kids and a mortgage doesn’t decrease the pressure.
Somehow, in the last few months, I have been freed from that mentality. God told me, just trust Me. I started connecting with startups in Asia that were not VC-funded, and found a way to sustain themselves and be very long-term thinking. Consulting firms that may never go IPO, but who strongly believe in investing in the growth of their people. I started to realize how the startup culture in Silicon Valley (and elsewhere) – every aspect from hiring practices to management to short-term focus to how we deal with community – is driven by VC money and everything that that implies. No doubt that has produced a huge industry and uncountable life-changing innovations, but we need to be cognizant of all the ill effects as well.
I basically came to realize that other values - relationships and community, for me – were much more important and worth sacrificing salary for. Chase relationships, not money, fame, VCs, and IPOs.
Relationships: Software is a People Business
Sometimes in the software world, we forget just how much of a people business it still is. We grill interview candidates with coding challenges usually irrelevant to our daily work and try to hire the most “brilliant” minds without giving most candidates a chance to really get to know the people they might work with. We pick companies based on their potential for financial reward and look at which VC funded those companies, or on what we can learn or what technologies we get to work on.
Looking back, I realized that most of my important career inflection points were due to relationships gifted from God. I joined VMware thanks to a friend from college. A tech lead who became a great friend introduced me to the world of open source and conferences. What’s more, it is known that VCs care not so much for ideas but for strong teams. We all know that the people we influence the most tend to be those with whom we’ve built the strongest relationships.
The above was probably something I realized before, but just had not applied to choosing software jobs. I realized:
- I should prioritize working with or for people that I know well. This makes everything much smoother.
- I really didn’t want to do traditional interviews. Your coworkers are people you will have tons of meetings with, who influence your happiness for 40 hours a week at least. Why not work with people you know, instead of guessing what they might be like through a 1 hour interview?
- (I have to acknowledge that I have enough open source cred that I can often point people at my work – and not everyone is in this position)
- I should work with people who believe in me, instead of people to whom I constantly need to prove myself. (from @urbansusie on Twitter)
I decided to take a step of faith and stay with friends or people I knew when I traveled to conferences (when possible) instead of hotels. In June I went to Spark Summit, and stayed at friends’ places. I had a blast and got great advice from my friends as well. Someone I had taught a bible class with, and who is also a big data consultant, suddenly offered me a place to stay, and I chatted with his son who’s learning Java. For me, it was an important confirmation that personal relationships should play a key role in my decision.
My own Startup?
If you want to go fast, go alone.
If you want to go far, go together.
-- African proverb
Perhaps you have your own idea and want to start your own business. I know I have my own projects that I want to turn into ideas, so I briefly flirted with doing my own startup. However, “it is not good for man to be alone.” Having complete control and a huge equity stake is really tempting, but I realized a good team that complements you is key to taking ideas far. Working with others requires humility and a willingness to give up control. In the end, I heeded the advice of others, and realized I’d rather have a smaller share of a bigger movement. If you have the chance to be part of a team that shares in your vision, believes in you and can contribute technically too, do it!
Loving Your Neighbor (and the Open Source Community)
Jesus told his followers that everything boiled down to loving God, and loving your neighbors as yourself. What does this mean though, and how can I apply it to work and jobs? In thinking about relationships, and who is my neighbor work-wise, I realized that I’ve been blessed by awesome tight-knit communities. I was part of the swing-dancing community, and that community led me to my job at VMware, and introduced me to my wife! In the same way, I started getting involved in the open source, Scala, and big data communities – giving talks, contributing to projects and starting my own Github repos, writing blog posts, starting and running a Meetup, and more recently, helping with organizing and training at conferences. All of this activity built many relationships, opened many doors, and was very rewarding.
I realized that my participation in open source gave me the answers to how to love my neighbors. Many companies take open source for granted, using projects but rarely or never giving back. Still others abandon or shut down communities as a way of doing business. For me, being able to continue to give back to the open source community, that has given me so much, means to join a team which values and contributes to the community, from the top down. One who understands why it is important to foster and develop communities. One for whom helping with community efforts is aligned with their business interests, not just something you do in your spare time. My last job experience became one where neither the business nor my teammates shared my community vision, and it became a lonely and painful experience. Work with others who believe strongly in collaborating with, and giving back to, the community!
Serving others from our jobs
I’ll end by telling the story of Esther, from the Old Testament. In those days the Jews were exiled in Persia, a mighty empire, and King Xerxes was looking for a new Queen. Esther found favor with Xerxes and became Queen. Later on, Esther was able to save her Jewish people by using her position to out an evil plan from the grand vizier, Haman, to pillage and exterminate the Jews.
You might not realize this, but we are all in privileged positions within a palace. We are all Esther’s. We all have loved ones, family, and communities that we have been placed in, and not by accident. Our workplace, industry, profession, or circle of friends might be that palace. Take some time to relax and reflect on your priorities and perspective – what can you do given the position you have been placed in already? I did, and I realized my “palace” was the open source, Scala, and big data communities. I came away with a deep sense of peace, choosing to join a team which is not only doing interesting work, but deeply shares my vision of helping the open source community, and will also help push forward my projects that I care about.
From Every Good Endeavor: “If you have to choose between work that benefits more people and work that pays you more, you should seriously consider the job that pays less and helps more — particularly if you can be great at it. It means that all jobs — not merely so- called helping professions — are fundamentally ways of loving your neighbor.”
I pray and wish you luck on the journey to find meaning and peace in your workplace.