I had a personal situation that transpired yesterday and while I won't get into the details of that here, It did inspire me to write this article. What I do want to share with you is the amazing advice a person in a position of leadership gave to a friend. There was one person involved that was forced into questioning where they were in their career and whether or not they were successful. The person on the other end of the conversation gave some excellent advice and this is what you can expect from great leaders. He asked, "How do you define success?". This is a fantastic question and I want to dive into this today from a Software Engineer perspective.
I want to give you a little background on me so you can understand where my perspective comes from. I am going to date myself a little but I am currently 38 years old. When I graduated high school way back in 1996 I got my first computer. I quickly fell in love with this machine and when It would break I would buy parts for it and learned how to fix it myself. I knew within a year of owning that thing that I was destined for a career in computers, but I had no idea what that looked like or how I was going to get there.
I was a pretty solid student in high school and math was by far my favorite subject. Like most students, I could have done much better if I applied myself but I just wasn't interested. When I was 18 I was living on my own and working full time as a landscaper. I know that I didn't have the means or desire to go to a 4-year college. I could learn a whole ton about computers there but I also realized that I would learn a lot of stuff I didn't care about and when I was finished I would be swimming in a pile of debt. So I opted to go the 2-year technical college route and I think it was a smart one. I would work during the day and go to school at night for 4 hours 4 days a week. Looking back on that it was some pretty amazing dedication and hard work on my part.
While I was going to school I started teaching myself web development. My very first "customer" was a friend of mine who owned his own business. I built a full-scale e-commerce application from scratch. For my second gig, in the most unlikely corners of the internet, a chat room, I picked up a pretty large gig for an online luggage company that needed a new eCommerce solution. I didn't realize it then but I discovered an important concept of education at that age. You aren't going to learn everything you can from a book or an instructor. You have to take what you learn and apply it to the real world. I don't consider the technical school a success but the initiative I took during those years was one. The next 15 - 18 years of my life was spent moving from one great company to the next. They all played a vital role in my career development and I am thankful for all of them. What I do remember about this time period and even as I sat here today writing this article is that I never lost my thirst for knowledge.
What can I do?
So what can you do as an aspiring developer? You are going to need some combination of schooling and self-taught education. If you think a 4-year college is right for you I am not one to talk someone out of an education. What I would say is make sure your vision of the end goal aligns with what you're going to school for. To me, this means that if you want to be an iOS developer a 4-year college doesn't make sense. You can accomplish this in far less time for far less money. If you want to study computer science at Harvard as well as a business because you're going to run the next facebook, then, by all means, look into that. There are great Bootcamp style school's popping up everywhere. A Bootcamp style school offers to teach you a certain skill, like "Learn how to program in Java in 14 weeks". These are focused classes and if they were around when I was getting into programming I would have jumped all over this. If you're in the Cleveland or Columbus area I would highly recommend you check out
So now we come full circle back to the question of "How do we define success as a Software Developer?". When you look back on your career are you going to consider it a success because of the amount of money you made? Will you define success because of what your friends and family think you have accomplished? For me, success is always going to be defined as "Are you happy?". I can tell you that from a career perspective (It's not over yet) that I am very happy. I'm happy because I have busted my ass and I am continually learning to improve my craft. Happiness to me is remembering people, even myself, telling me that I couldn't become a Software Developer. I am happy because once I started believing in myself I accomplished something that I set out to do. I get that being a programmer is glamorous but ever since I started playing with that first computer I knew this is where I wanted to be.
If you're parents, friends or family don't think of you as a success because you're not working at Google or Facebook don't listen to them. If your goal is to work at Google or Facebook then bust your tail and make it happen. Last but not least and I can't stress this enough, is money. Too many people get caught up in the notion that success is defined by your paycheck. I know plenty of people who make a ton of money and are miserable. If your goal is to make more money you can certainly achieve that goal but don't let that be the deciding factor in your pursuit of your career goals.
At the end of the day that leaders advice was just what my friend needed to hear. It reminded them of all the opportunities they do have and not of the ones they don't. It reminded them of how happy they are on a day to day basis and how important those things are in life. If you are passionate about what you do and you continue to learn there will always be a place for you. Software Developers are in demand which means you get to write your future however you see fit. Work your tail off, continue to educate yourself and enjoy what you do. If you do these things, you can wake up every morning with a smile on your face... And life is too short not to smile to my friends.
Question: What advice would you have for aspiring Software Developers?