I thought we'd switch it up for a change and have an interview with my friend Daniel Clark. I first met Daniel a couple years ago at the Global Code Retreat the same one that I met my soon to be mentor David Bock @bokmann. Daniel was miles ahead of me then at coding and still is :-)
Daniel also knew a lot of Python besides just Ruby and had already made several Ruby Gems that had been download several thousand times. I was always shocked that he didn't go out sooner and get hired as a Ruby developer.
Well after talking over the years and coding together atseveral Meetup groups, that time has now come and Daniel is fresh on the market and ready to get hired as a junior developer. Finally!!!
ANY company would be a fool not to beat a path to Daniel's door and hire him tonight, tomorrow might be too late =-)
Here is the interview I had with Daniel, I hope that it inspires and encourages others along the path to becoming a developer and one day getting hired as well, I hope you enjoy it! Feel free to leave some comments for Daniel, follow him on Twitter and check some of his cool stuff on Github, I always love sitting down and seeing what he's working on :-)
ME:
"Tell us a little bit about your background, what got you into wanting to be a developer?"
Daniel:
"I'm a bit of a jack of all trades kind of guy. Growing up I always dreamed in adventures. In my dreams I'd always be running towards something, or away from something, but I never knew what. I love to be curious, and I love solving mysteries.
Not mysteries as most would think of them. While I was still a toddler, to my mom's surprise, I found a screw driver and took apart the dining room furniture. I've always enjoyed taking things apart to understand them better.
My dad is an excellent computer programmer. He introduced my to qBasic when I was in 5th grade. I grasped a very basic concept of 'functional programming'. I was gifted an old computer around that time and the curiosity drove me.
I learned computer systems with hands on experiments. Break it, fix it, repeat. I was very interested in programming, and I so wanted to learn Java. Java was this amazing language that worked on everything. It seemed like the way to go.
Well when I first started learning it I became very frustrated. Too many lines of code for simple things, it was object oriented and I only understood functional programming at the time, and I simply didn't have fun figuring it out.
So that kept me away from programming for a while. Around 10th or 11th grade I'd discovered a language called Python. And it was perfect. It looked like English, and it was very friendly with my functional programming style.
To accelerate my learning with it I challenged myself to design an open source video game for school. So I wrote a game called PyC4 which is a Connect Four game. I won a first place for that entry in the Science and Technology Fair. From there I was hooked. I could do anything."
ME:
"What has been the hardest thing about learning to code?"
Daniel:
"The hardest thing about learning to code has been thinking anything is difficult. To think that really turns your brain off and makes everything harder to grasp. There are often many ways to solve a problem.
It is most helpful to learn the tools you have at hand and use them in creative ways. If your process of deduction isn't continually improved then your brain isn't as sharp as it can be. It is how you think, your method, that needs to be improved. You don't need to know the answers to the world, you just need to know how to find the answers when you need them."
ME:
"What do you like most about coding?"
Daniel:
"What I like about coding is it's always fresh. I love a good mystery, a good challenge, and the process of problem solving. I also like the difficulties to overcome.
Yes... when the code just doesn't work and you don't know why... What do I know when that happens? Well these are the times that I can improve my process and become a better programmer for it. The process is the most powerful part of programming. Having my mind become stronger
for the difficulty is worth those moments."
ME:
"What has been the coolest thing you've built or helped to build so far?"
Daniel:
"I have written many things that I've been proud of. I mainly have developed small projects and scripts. I've written some web automation, including YouTube, Twitter, and search engine optimization scripts.
I've written many system scripts for handling, and processing, videos, images, and audio. I was also contracted for a script which paid out teachers for an educational media site through PayPal.
As for cool, I kinda like my random YouTube video script which grabs three dictionary words and gives you the first YouTube video response. Yes that's silly. But as a
programmer you need to have fun now and then ^_^. "
ME:
"What advice would you give someone who is just starting out wanting to learn how to code?"
Dan:
"I highly recommend beginners to be a bit relaxed when starting out. Don't ever assume something is hard or difficult. Knowing where to go is really key to progressing quickly.
Fortunately in the programming world Google search results generally provide very good answers. This seems true for the more popular programming languages. For any particular questions you can head over to https://stackexchange.com It's wonderfully easy to use for Q&A and for all things software development."
ME:
"Knowing what you know now, what would you have done differently with your path to learning how to code?"
Daniel:
"Deadlines. Starting out having deadlines for accomplishments really drives efficient progress. I say that because the school project had me learn a huge amount to accomplish the game.
The thing about deadlines is it indicates a commitment to complete the task at hand. This largely helps prevent any idea of giving up, or abandoning it. Also find a competitive partner. Some one who's willing to challenge and push you further.
This will open up whole new worlds before your eyes. If you need something to compete with then websites such as https://projecteuler.net provide excellent challenges."
ME:
"Where do you see yourself as a developer in 5 years? 10 years?"
Daniel
"In five years I see myself as a community organizer and leader. I can see myself involved in the
development process and growth of a company. In ten years I can easily see myself as a founder of one, or many companies. I can also see myself as being heavily involved in helping the community in so many ways."
ME:
"What are some long term goals that you have?"
Daniel:
"I have many. I have always wanted to own my own software company. I want to be a lead singer of a band and have the band stay together. I want to found a music label as a non-profit ministry. I'd like to be part of a video ministry. I want to master several languages. And I want to be a great athletic runner and a master of parkour."
ME:
"How do you feel about your development skills?"
Daniel:
"I feel I'm capable of some of the greatest achievements yet to be. I am able, I only need to hone my ability in on target and all will be well. This is how I feel about my skills. Do I know everything? Not even close. But I am as capable as anyone else on this earth. I can chose many different paths. Which do I truly want to be a master in? Yet another mystery. I look forward to the future."
ME:
"What is your favorite language?"
Daniel:
"I love Ruby and I love Python. I like Ruby as a powerful language to accomplish things to the finest details. And Python I like for beauty and consistency. Python has a game development library PyGame, and an amazing network protocol library Twisted.
So for game development I clearly favor Python over Ruby. As far as web platform, I really like Django, which is a Python based platform. I fully believe the consistency of code between developers on this will help the code be easily maintained, and not a problem to maintain in the long run.
In Ruby you can have so many different ways of writing code that it can make for a more difficult time when working with other programmers. Think of it like people in Ruby have such extreme accents it's hard to tell what they're saying sometimes. But that's not a bad thing, it just keeps us looking up more details online and learning all the more.
My first choice to program is Ruby, but I'll quickly go to Python for it's well developed libraries if the task calls for it.I would like to say I'm open to learning many other languages. HACK, by the makers of Facebook, is one I really want to learn. I love web applications, and this looks like a beautiful language. A true programmer will continue to learn more languages."
ME:
"Do you like to do more front-end or back-end development?"
Daniel:
"I like whatever remains simple and beautiful. For front end development, everyone has a web browser on every device, and it's simple to develop for. So for me the best front end development is web development. But that's just aesthetics. I love mysteries remember? So give me the back-end problem solving code and I'll be on the hunt."
ME:
"Tell us something that most people don't know about you. :-) "
Daniel:
"I know that the mind is the best tool you can utilize. It is your 'way' of thinking that defines, or redefines everything. What I speak of is worldview(s). We often limit ourselves by believing before knowing. What this leads to is what I call “self-fulfilling prophesy’s”.
If you believe you will be poor all of your life, then you end up living in such a way that proves that. For example; some one who believes a jump won't hurt them, are more likely to make the jump. And one who is afraid of a jump, will most likely not jump and believe their fear to be fact. These are self limitations.
I believe that in all area's of thinking we can expand our worldview and become bigger and greater people for it. And so I help myself expand my worldview, and my understanding, by reading and studying patterns of good thinking. Author's that have helped me greatly are people such as Zig Ziglar, Jim Rohn, Dale Carnegie, Ravi Zacharias, and many others. There will always be more to read, learn, and grow from.
Lastly I root my understanding, and my foundation, in the Holy Bible and Jesus Christ, the risen Son of God. He provides reason for living, hope, meaning of existence, purpose, and lastly He gives us value. I love sharing and seeking truth, and I am open to all who want to talk on these subjects.
If anyone would like to take a look at some of my projects and code feel free to head over to my GitHub. "https://github.com/danielpclark And feel free to follow me on twitter @6ftdan