How programming slowly took over my life

It was frustrating, but I kept on trying.

“The turning point for me was realizing that, with a bit of research, I could learn how to do just about anything.

”Later in my senior year, I found a part-time gig managing client accounts, as well as helping to build websites.

I learned how to use things like a code editor and version control.

I still didn’t do much actual programming at the time, but the basics behind web development were becoming more familiar to me.

My colleague I worked with was very hands-off, and because it was a small company, I wore many hats.

I was single-handedly responsible for some pretty large deliverables, and one-on-ones with clients.

I was given problems, but never the way to go about solving or implementing solutions.

This approach was challenging, yet triggered a huge amount of growth for me.

The turning point for me was realizing that, with a bit of research, I could learn how to do just about anything.

I graduated with a music degree that year.

A Minor Set-backAfter graduating, I looked around for a what I thought was a “real” job.

After countless rejections, I found a job description that mentioned working with HTML, so I applied and got the job.

This job was at a large communications company, making pre-determined edits to healthcare documents, while sitting in a small, padded cubicle with florescent lighting.

It was soul-crushing.

I quickly became way more interested in what the programmers there were doing than what I was tasked with.

But, I was met with some backlash for my curiosity, from both the programmers and my manager.

After three months, I decided to quit and go back home to live with my parents.

It was probably the scariest yet best decision I’d ever made.

Basic Programming ConceptsWhile home, I was determined to get out in the real world ASAP.

I don’t know how I decided on learning R (the statistical programming language), but I’m pretty sure I thought it might be useful as a way to support my data analytics expertise.

“It wasn’t the particular programming language that mattered; it was the fact that I had begun to think about basic programming concepts.

”Thus, I spent each day in bed, with my laptop, studying R and writing blog posts about what I learned.

I got thinking about data formats and data structures.

When I went out of the house, I would bring reading materials detailing ways to transform data using R.

That was my life for 2 months.

I suppose you could call it a bootcamp.

Looking back to this moment, I realize it wasn’t the particular programming language that mattered; it was the fact that I had begun to think about basic programming concepts.

I eventually applied to a data analyst position at a marketing agency.

I got the job!Building out my portfolioAs a data analyst, writing code wasn’t part of my job responsibilities, but I found ways to keep at it.

Our data visualization tool provided an all-inclusive way to extract and visualize data, but because of this, it had no version control and little flexibility.

I ended up using Python or R to extract, transform, and — when I wanted an extra challenge — even visualize the data, since I found the programmatic approach to be more debuggable, replicable, and transferrable to other industries and jobs.

At the same time, I tried taking online courses in Applied Stats and Data Management.

I had my head set on later applying to a masters program in data science or analytics.

Well, the course was awful.

We had to program in SAS, a compiled language that is used for statistical analysis.

The lectures were slow-paced and the content wasn’t interesting.

I dropped out after a couple weeks.

But, I continued working at the marketing company, and ended up building a couple tools that made other people’s lives easier at the company.

During that time, I also started dating — and am still dating — an experienced software engineer, who was inspiring and able to offer a helping hand when I got stuck.

Having a mentor on the sidelines was invaluable during this stage of learning.

Three key things I learned from this time:Effective debugging: how to use dev tools to verify expectations, at various points in the code.

Scope: how variables are accessible globally and within functions.

Refactoring: how to write the exact same functionality in a cleaner and more reusable way.

I made my first web app and developed a couple reusable Python scripts.

I was able to put these tools in my personal GitHub account as part of my portfolio.

It was at this time that I really felt the direct connection between something I built and how that affected other people.

I was addicted.

I discovered that I could make real people’s lives better with writing code.

“I could make real people’s lives better with writing code.

”As I built these tools, the dev team began to take notice.

I was shifted into a hybrid analyst/dev role, which meant that I helped out with writing jQuery to set up rules in our tag manager.

In the end, I found that I enjoyed creating tools and writing code more than I enjoyed analyzing data retrospectively.

Thus began my hunt for a programming job.

Filling in the gapsAs I applied to jobs, I did self-guided learning on how computers and the web infrastructure actually worked.

I felt that I was missing a lot of this foundation, since I didn’t go to school for CS.

I ended up reading CODE, which takes a bottom-up approach to how computers work, navigating from binary and logic gates, to assemblers, compilers, and higher-level programming languages.

Alongside this, I did independent research on topics of interest, like ‘how to get a web page without using a browser at all?’, or ‘how does a DNS work?’, or using tools like ping and traceroute and what it all means.

Basically, as I stumbled across terms or tools that sounded interesting, I dug in and learned about it.

Familiarity with these topics helped me become more comfortable talking about computer concepts with others (looking at you, interviews), as well as gave me a foundation to better understand higher-level web development concepts.

It all began to make more sense.

After a couple months — and lots of rejections — I found a company that was willing to take a chance on me, as someone with little to no professional programming experience, but with a small portfolio and blog that showed I had potential and interest.

That was 2 years ago, and I haven’t stopped learning.


. More details

Leave a Reply