Stories/Clifton C. Craig
Clifton C. Craig

Clifton Craig is a Senior Staff Software Engineer at Samsung Electronics. He has over 16 years of software engineering experience. He is a mobile software engineer with a diverse skill set ranging from iOS development to Linux bash and zshell to Snow Leopard.

#developer#mobile#full-stack

Tell us about yourself

I am a single father with a passion for Tech, God, and Bass guitar. I look forward to the day I can somehow combine all three. I’m also a regular goofball who has worked at several major tech companies from AOL/MapQuest, to Microsoft/Skype, Apple, and I’m now employed at Samsung.

I did backend database and server stuff for the first half of my career before eventually transitioning to mobile and now front end web design. I am self taught, mastering dozens or programming languages including one invented only 15 minutes ago by an Irish monk living in Wisconsin. I love puzzles and finding patterns in code and in life. I’m an occasional gamer who builds robots on the side and I love to tinker with electronics.

alt text

How did you first get started in your career in tech?

It is a long story involving beer, black eyes, and big opportunities. (I’ll try to summarize.) I started coding around the age of 5 or 6 teaching myself with a big book on BASIC and the Intellivision II computer accessory. This was a keyboard attachment you would plug into the Intellivision video game console. I tried to make my own games.

Fast forward several years later when I struggled with alcoholism and challenges with my pregnant fiancé and homelessness. I was enrolled in Lincoln Tech programming classes at the time. I opened my Bible, prayed, joined a night Bible study group and several miracles happened.

My first software job and my first child were born on the same day 21 years ago. I’ve been blessed ever since. I almost forgot that somewhere between pregnancy and homelessness there was a dumb story involving a black eye but I’ll leave that for another time.

What are the most important skills in your current position? How did you develop these skills?

The skills I value most are my ability to recognize patterns and to embrace errors and failures. Software is all about patterns, design patterns and anti-patterns. Once you pick up the patterns you can master your domain.

Modern practices like TDD/BDD, CI/CD focus on failing fast and failing often. You actually build off of failures. Pattern recognition was embedded from childhood where I was addicted to chess and video games, all of which have certain predictable patterns.

The more important skill of embracing failures came from being saved and reading scriptures. the Bible teaches us that what we see as a failure is actually a blessing. See 1 Peter 7-8.

What are some resources that helped you in your journey in tech?

Kathy Sierra’s old blog and her Head First series gave me life.

I was also heavily inspired by Joel Spolsky’s old joelonsoftware blog, a funny Microsoft by the name of Rory Blythe, and Robert C. Martin’s Craftsman articles on TDD.

Many of these resources and inspirations are no longer easily available online but you can find Joel’s book on the Best Software Writing in bookstores along with much of Kathy’s books. These were all resources that taught me how to program instead of what to type in my editor.

What difficulties did you face in your career? How did you overcome them?

My biggest challenges came in the form of my own ego. Once you reach a certain point in your understanding of software, key in on the patterns, you feel unstoppable. This leads to arrogance and the inability to hear other coders with less experience.

Lessons from the Bible lead to my practicing humility and treating junior devs as if they were senior devs while regarding many arrogant senior devs (myself included) as junior. See Mark 9:34-35. It was in doing this that my career actually matured in a way that it will remain unbreakable as many of my later successes came through helping others.

Looking back on your career, what advice do you wish someone had given you that would have helped accelerate your career?

I don’t know that any advice could have accelerated my career nor do I wish my career were ever accelerated. Acceleration and learning to code is actually a bad idea. Becoming successful takes time and it took me well over a decade to feel comfortable with where I am.

The best advice I could have hoped to receive would be to be patient, and keep doing you. Don’t compare yourself with any other person, rather compare your self with the you from yesterday. Lastly, cherish any/all mistakes you make along your journey.

Thank you for sharing your story with us. How can we support you?

I need no support. Instead I’d ask folks to support the causes and communities I believe in:


Join our community of 3300+ members!

Every week, we'll send jobs, events, scholarships and speaking opportunities for underrepresented folks in tech.
👉 Sign Up

Get weekly updates


Get a weekly digest of scholarships, job opportunities, and resources


Subscribe

© 2019 Blasterra LLC. All Rights Reserved. Illustrations by unDraw & avataaars.

Made with ❤️ by Veni Kunche