From curiosity in customising a blog, developed into an interest in coding. Shakima started out in Early childhood education as a Teacher’s Aide, then had to switch to a role in customer service. Out of frustration, she rekindled with her past interest and dived into the tech world since.
I hope you enjoy the journey!
Hi Shakima, please introduce yourself
I’m Shakima and I’m the Senior Solutions Specialist at Refersion. I am the go-to person for integration troubleshooting, technical support, product knowledge and solution engineering.
Outside of work, I’m a self-taught developer building Featrd.
What was your background before learning to code?
I started out in Early childhood education as a Teacher’s Aide while working a second job on the weekends. Around my 4th year into the weekend job, I had a foot injury and could no longer work on my feet. I needed to shift gears quickly as a result.
I switched to a customer service role for a small cosmetic ingredients supplier to give my foot time to heal. I excelled in my role there but there was little room for growth at the company.
Feeling frustrated, I decided it was time to resurface some of my tech skills (which I’ll expand on in the next question) and finally apply for a technical role. Mid-2018, I applied to Refersion as a technical customer success manager and was hired. Over time, I expanded my knowledge of the product and tech in general and was able to grow with the company.
What got you interested in coding and how did you learn to code?
I grew up around computers so my love of computers started young. My mother would take apart computers, fix them and put them back together again.
I took an interest in coding starting around 11 years old when I blogged on Xanga. I wanted to customize my blog like other bloggers. To get the look I wanted, I started changing things around in the templates available which introduced me to basic HTML/CSS concepts. I did the same for my MySpace profile.
With enough modifications and some resources on the web, I started to really understand how HTML/CSS worked. Once I had a decent understanding of those concepts, I moved onto having a self-hosted blog.
For a self-hosted blog, you need to host and manage everything — from the blogging system to contact forms. At the time, I used CuteNews; and later FanUpdate (both PHP-based blogging systems). The contact form I built for the site used PHP for collecting and sending responses. Working on that site introduced me to basic PHP concepts.
Fast-forward to November 2019, customers’ use-cases and problems at Refersion started to get increasingly technical. I decided to pick up where I left off and truly learn PHP beyond file includes and contact forms. I also wanted to dig deeper into API’s and how systems integrate. Overall, it was time for me to bump my knowledge up to that of a developer.
What started as a necessity for growth and customer success at work reignited my passion for learning and code. I wanted to learn quickly, so I started building projects to fast-track my journey.
How did you get your first job in tech?
One of my first jobs at 16 was distributing flyers for a rental hall after school. The rental hall did not have a website, so I offered to build one for them for free. The owner liked what I built; that initiative helped me move into a web developer role at the company.
How did you prepare for an interview?
Since my first tech-role was something I grew into, I’ll speak generally on this topic:
For any role I apply to, I always try to do the following:
- Look at what the role requires. Take those requirements and align them with what I already know how to do and/or have experience with.
- For the things I don’t know, I start to prepare myself for what I need to learn and clearly express my intention on learning those things.
- Research the industry the business serves. This is very important when you’re switching from one industry to another. You have to find a way to make your past “irrelevant” experience relevant; or at least show that you’re interested in learning more about the company and the industry going forward.
Any obstacles that you have to overcome in learning coding?
Because I learned to code early on and all my knowledge is self-taught, the hardest part today is unlearning bad coding habits of the past. Specifically, I have a habit of breaking the D.R.Y (don’t repeat yourself) rule of coding — this makes debugging hard.
Even now, there are things I still don’t understand. However, I’ve gotten better at knowing what I don’t know, enabling me to ask the right questions should I need help.
Tips for newbies?
Challenge yourself. If you only learn enough to get the job done, you may miss out on learning concepts that can be applied to solve a more complex problem in the future.
Build something while you’re learning. Similar to the above, if you’re following a tutorial step by step and don’t experiment, you won’t start to think critically about how code solves problems.
You want to reach a point of understanding in which you don’t need to know every concept and function for the language you’re learning; however, you want to know how you can solve problems with code and plan accordingly.
- Learn how to debug. If the code is not doing what you’d like it to do, take a step back and break it down. Is a variable defined? Is the right data type being returned? Is any data being returned at all? Are the errors client-side or server-side? Are you catching those errors?
Walking through your code and breaking it apart from the top-down helps you understand the problem so you can squash the bugs faster!
What are your plans for the future?
Since FanUpdate stopped being maintained by its original creator, I’ve always dreamed of bringing it back to life or creating something similar. I have a copy of it on my computer and I plan to work on it one day. It’ll be my way of contributing to open source.
If you like to read inspiring coding journeys from self-taught developers, please subscribe to the newsletter.