Who are you? Where are you from and what is your backstory?
Hi! My name is Omar Rasool and I’m a Developer / UX Designer from the United States. I’m originally from Afghanistan, but my family immigrated to the US when I was 6 and I’ve been raised here ever since. I worked as a Developer for a number of years before quitting to go backpacking and travelled for 7 months. I hated coding and lost all passion for it after working on other people's ideas. After I traveled I came back with a different perspective and I felt more in control of my life, and started working on my own ideas. Working on my own focuses is what makes me happy, and with that - my elevator pitch is complete.
What made you get into programming?
I’ve been interested in computers since grade school but never took it too seriously. In college though, I remember having conversations with a dorm-mate about what we wanted to accomplish in college. We were both pretty frustrated about the traditional route we were travelling on (college, degree, and a desk job forever). He was studying marketing and I was studying Sociology at the time, but we kept talking about doing something, making something, and doing something different. One thing lead to another and I switched to a Web Design Degree, and we had an idea about making a fashion design delivery box that students in fashion design could benefit from. That idea never really panned out but that decision has set the course for the rest of my life. Also as much as I love Sociology, the careers are limited. I’ve been programming ever since.
What made you create Colorkoala.xyz?
What does your process for learning to code look like?
First I want to say, this stuff does not come easily to me at all. I don't have a mind for computers or programming. I’m a slow coder/learner. I don't think it really comes easily for most people and I have to work twice as hard understand most concepts.
I have a habit of getting stuck in tutorials, and honestly I don't enjoy watching tutorials. I can't count how many courses I’ve bought and never finished. I’d rather be making something. Copying code off a screen isn't fun for me. I figured I learn the most when I struggle the most. So usually if i want to learn something I make a fake project thats utterly out of my current skills reach. I try to get as far as I can, then when I hit a point where I say to myself “I don't know how to do that” I reach for help(google, stackoverflow, youtube, documentation, twitter, slack, friends, my friends dog). And every time I don't know how to make a particular feature I just reach for help. Mind you I’m not trying to make a perfect project, I’m just stitching together a frankenstein project to understand how it works. I try not to worry about making my code perfect, just make it working. This isn't some secret shortcut process, because the truth is this shit is hard, but that's okay because humans are even better at learning over time. Hope that helps.
What does your process for building apps look like?
I’m constantly writing down ideas. Even before I started programming I was writing down ideas, it's a good practice to get into. So usually I start with the smallest bit of an idea. Something I’m curious to see if I can make or something i’d use. Honestly I’m not business minded about testing ideas and all that, I just let my curiosity take me.
I make a page for it in my notebook and write just random little thoughts about the idea, what i see in my head it doing or looking like. After that I make a document with four sections(Plan, Design, Develop, Polish) with each section having tasks related to that phase or aspect of building, each section informs the next.
What the end user should be able to do. What I'm trying to accomplish. Short sentences like “user can generate new colors” or “user can download colors”. I’ll Describe the mood, simplicity, visual aspects, how it will feel, interactions, layout, responsiveness to the user. Tools I will use use to build it.
I go into Adobe XD and make a semi crude mockup. Something to follow.
I break down each feature into mini projects. I start coding, usually I'll start with a generated boilerplate. I like to write all the HTML first, then JS, then CSS.
This section is about things you may want to revisit. Things that you need to do at the end of a project. Tasks to complete before you release.
Thats a short overview but it really helps me to be structured because I lose a lot of time going back and forth and coming up with things on the fly.
Do you face any particular challenges when building over a period of time?
I think for me its following through with a idea. I get trapped in making something amazing right at the beginning, and the truth is that it's really not necessary. Put something out and let it breathe and then take it from there. I have a lot of projects that won't see the light of day because hard lessons have been learned from.
Also the time commitments, we all have different parts of life vying for our attention. Balance is hard. Coding and making things is fun, but so is the other parts of life. I struggle with the balance.
I think mindfulness really helps with both of these things. Be aware of what you're doing and make tiny course corrections.
Are you currently learning anything new?
Advice for those learning to code?
When I started I thought I was really incapable of learning this stuff. Sometimes I still feel like that. At the beginning, I'm not gonna lie you have a steep hill to climb. It's the just the nature of this skill. But the key to coding I think is how long you stick with it. Eventually you will get it and it sinks in. The barrier for entry is lots of patience and time. That’s it really. I would say if you're just starting out it’s easy to get overwhelmed and feel rushed, but please take it slow. Burn out is easy. I would recommend keeping a learning journal. Reflective learning helps makes things more concrete.
If you're already on your way, then it's just a matter of pursuing what you wanna learn. To me there's nothing worse than not getting to use your creativity or follow your curiosity. It helps to work on things you care about creativity.
Build things you don't think you can and take lots of walks.
Take some time to think about what you want to do with this skill, It's important to know where you wanna steer yourself.
What’s your tech stack?
HTML,CSS,JS for frontend
Vue.js for frontend framework
Bulma for CSS framework
Sass for CSS preprocessor
Node, Express, and Mongo for backend
Npm for package management and build systems
Parcel for asset bundling
Adobe XD for prototyping
Git for version control
Sourcetree/Fork for git client
VScode for code editor
What have been influential books, resources and links that have helped you?
Anything from https://wesbos.com/courses/
I don’t buy Udemy courses anymore but I really recommend Angela Yu’s courses they helped me alot.
Also go on github and look at lists people have made for learning things. Awesome
Non coding books but just books that helped me are Obstacle is the Way by Ryan Holiday, The Subtle Art by Mark Manson
Where can people learn more about you and your work?
Honestly Twitter is the best place for me, I’m usually active on there. I’ve pinned my projects for 2019 on my twitter profile. My first project for this year is a site called StaticOwl.com, It will be free, and out soon.
Hope my story helped, thanks for the Interview Jess! :)
Twitter - @trytokyo
Site - omarrasool.com
ProductHunt - @ambrium
Also if you want to support my upcoming projects https://www.paypal.me/omarrasool