Weevo and the Manatee

Progressing through Madison Kanna’s Becoming a Software Engineer class when I was introduced to the radically-new concept, at least to me, of deep work. The goal of working deeply is to do so by freeing yourself of the ever-increasing number of distractions we are faced with in our increasingly tech-centric world.

Cal Newport’s Deep Work

One of the tenants behind forming deep work habits is disconnecting, whether temporarily or otherwise, from attention-sink of social media outlets. Average time each day spent browsing and posting on Facebook, Twitter, and Instagram to name a few, varies widely by person, so the amount of time saved by nixing these activities is obviously subjective. For someone like myself whom is constantly checking and updating my feeds throughout the day, the time really adds up and can account for a huge chunk of my time. So I decided to take a hybrid approach to this, and instead limit my Facebook time to just one weekend a month, where I can view and update all the happenings of myself and my family and friends over the span of a few days.

It’s been almost a week since I started this experiment, and I can already notice a huge increase in the amount of study time I’ve spent in my pursuit of Python-nirvana [more on this in a second]. I can also honestly say I’ve felt happier as well. I’m not distracting myself trying to think of clever or interesting things to entertain my poor Facebook followers with, and I like to think these longer periods of isolation will also improve the quality of time I’ll spend with these people when seeing them in person.

There is a lot more between the covers of Deep Work. More examples Newport cites, more strategies he provides to help the reader evaluate their professional day-to-day, and get the most of it. It can be a quick, weekend read, and worth every moment. Do yourself and your career a favor, and take time out to give it a look!

As mentioned above, a majority of this newly-discovered excess of time was spent in preparation of the PCAP certification exam, which I believe I briefly spoke on in my last entry. The enlightenment of these new study habits really came at the right time, as they allowed me to wrap up the Python courses offered by the Python Institute, which in turn netted me a nice 50%-off voucher. That in hand, I decided to go ahead and set an exam date for later in the week, forcing myself to commit to finalizing my studies. After doing quite well on the practice exam, I felt quite confident as I gallivanted into USC’s testing center. While I had two days before begun to feel the effects of the seasonal ‘yellow snow’ and was fearful it might negatively impact my performance, just before going in I saw some encouragement from a dear friend, which helped to dispel that dread. An hour later, I walked out of the building, and went on with my day..

I passed! PCAP-certified!

Wanting to maintain the surge of momentum from this achievement, and armed with these new mental-expanding methods, I decided to pick back up with data science. The complexities of Pandas’s dataframes had stymied my progress in the past, but after great success finishing Udacity’s Programming for Data Science degree a few months ago, am thinking to pursue the next tier of the track. The next cohort begins on Wednesday, March 20th, and to better-prepare for this, I’ve been going through the Numpy and Pandas sections of Jose Portilla’s Data Science course on Udemy. I’ve taken a few of his classes before, and Portilla is a really good instructor. I think I’m actually getting the hang of manipulating data with these dataframes now, so I’m feeling a lot more confident about going for this next nanodegree!

The future looking brighter, able to be more focused now-than-ever on becoming a developer, I’m really optimistic about making progress these next few months. So now is of course, the perfect time to get waylaid by this feeling that I might be in love. Maybe this self-imposed semi-isolation will allow me to forget how crazy that idea would be. Or, perhaps like the proverbial manatee living atop Melancholy Hill, I’ll be sitting here, just looking out for the day when you’re close to me, whatever you may be..

Gorillaz’s On Melancholy Hill is, I believe, a song about addiction and the delusions you surround yourself with as you try to cope and reconcile not having what/whom you want. It’s an absolute fave of mine.

Weevo and the Halls of Reflection

A good friend of mine invited me to her New Year’s Eve party last night, and after a few drinks, we all went across the street to watch the culmination of the city’s block party celebration; the fireworks show set to commence at the dawn of 2019. In the final few minutes of the year, standing on the steps of the capitol building in anticipation of the awaiting spectacle, I reminisced upon the highlights of the past 365 days and tried to take stock of the progress I had made in my life in that brief duration. It was in these moments of reflection when I thought I would recap the progress I’ve made in the past year on the Python front, specifically those resources which I’ve found to be most useful in my growth as an aspiring developer.

Start Here

If I had to pick one single book from which to start out learning the basics of Python, it would without a doubt be Python Crash Course by Eric Matthes. Not only does it cover the fundamentals of programming and the nuances of the language itself, the latter half of the book is comprised of three different projects, which utilize the knowledge you picked up in the earlier chapters. One has you creating a Space Invaders-esque game, another focuses on data visualization, and the last has you building a web app. I really liked that these projects were so varied because you start to get a sense of the great wealth of things you can accomplish with Python. Again, I highly-recommend you starting here if you are looking to get into programming, or may be coming over from another language.

If online material is more your thing, I also had a lot of fun with Treehouse’s Python track, and also The Python Bible course over on Udemy. Both sources also cover the basics of Python as Matthews’s book, and you may be thinking, “Weevo, why would I take more fundamentals classes when I now already know the basics?” To answer that I give two reasons. One, because you may pick up something in one course that was left out in another. More importantly, relearning the basics, helps you to reinforce  and retain these critical concepts. Wouldn’t want to build a mansion on a shaky foundation.. But to get back on track, Treehouse is just an excellent fount of learning for all things development. C#, Python, Swift, Web Dev, Data Science, you name it.

I’ll end this section with another book. I recently read John Sonmez’s Complete Software Developer’s Career Guide. While it doesn’t teach you how to program, the focus of this particular book is instead to provide you with a wealth of topics to help you jump-start your journey as a software developer. How to promote/brand yourself, how to prepare for those infamous whiteboard code interviews, how to negotiate your salary after getting that job offer. It also has a laundry list of further reading for more of a deep dive into other topics. Given that, perhaps this should be the first book you pickup before the Crash Course one, as it helps paint the bigger picture and how to get from A to Z without the minutia of the finer details.

Later On

After becoming comfortable navigating some of Python’s libraries and wielding its primitive data structures, a good next step I found was Al Sweigart’s Automate the Boring Stuff with Python. While having read this one quite a while ago, I do recall it being more an exploratory work, showcasing some of the more interesting things you can do with the language, and how it can even help you to, well, automate some of the more mundane daily tasks you may be faced with in your day-to-day. One in particular I remember was writing a script that would automatically open Paint and having it manipulate the mouse cursor to draw pictures.

A common thing I believe you will hear on your journey is the importance of maintaining a healthy GitHub profile. I created an account on the site years ago, but I never really could figure out how to use it. Fast-forward a bit and I had stumbled upon a post about how Udacity’s nanodegree program had helped someone land a web development job. After some research, I bit the bullet and signed up for their Programming for Data Science track. It was estimated to take three months to complete, but already being comfortable with Python and a tad familiar with SQL, I managed to knock it out with a few weeks of dedication. I really liked their project-based resume-building approach, but what I got most out of the course came from the section on using GitHub. Little laughable that something so simple took me so long to grasp but, in the end I’m happy to say I finished the class well-ahead of schedule and with an understanding of version control.

My most recent achievement was finishing Jose Portilla’s Python 3 Masterclass Journey, available through Udemy. It has a brief overview of the basics, but is largely another exploratory course. What I loved about this one was the way it was presented; it is story-based with the plot woven around you. You assume the role of an aspiring field agent who, after learning the Pythonic ropes, are tasked with tracking down a group of fellow agents gone rogue. You uncover their trail by writing scripts to decrypt messages, send and receive emails, manipulate images and other methods. Felt very much like I was in one of those old Command and Conquer games. You’ll learn a lot and have fun doing it, but towards the end, I thought the difficulty ramped up significantly so, definitely not a first step.

Going to conclude with two non-Python specific works that might not come in handy until a little later in your studies. One is a book by “Uncle Bob” Martin, The Clean Coder. Basically stresses the need for professionalism whilst on the job, and while that probably seems common sense, it covers situations where that isn’t always easy to do, and how to overcome. The book is full of personal anecdotes which help keep it a light and entertaining read. The last is another course on Udemy which covers the software development lifecyle. Language-neutral and doesn’t go into the specifics of hows or whys, but rather gives a general glossary/overview of the Agile method so, more ‘big picture’ material that I think would come in handy as one begins a career in development.

And there you have it; a year’s worth of experience summarized in a few paragraphs. I hope this insight can be of some use to folks starting out on their Python programming path. The hardest part of any journey is the first few steps but, from what I have seen, the communities of Twitter’s #100DaysOfCode and Stack Overflow are always welcoming and willing to help newcomers so, also give them a look!

And of course a special shoutout to Jenna for being an awesome friend and helping me find this inspiration, and for just being a beautiful soul in general.

Weevo and the Rainbow Rogues

Okay, I know it’s been more than a few weeks since our last update, and while a part of that has been due to the end-of-year tedium both at work and home, I’m going to blame the delay on that vice common to purveyors of programming; the difficulty in naming one’s variables [or in this case, the blog title]. And yes, ‘Rainbow’ was used in the previous title, but it fits quite well here, as I think you, my dear reader, shall see..

In brief, the majority of this past month has seen my nose buried in books moreso than infront of my laptop coding. As these were software career-development and theory works, I’ll still count that as furthering my programming ability.  The first was John Sonmez’s The Complete Software Developer’s Career Guide, which you can find here. While some of the information in the book seems fairly commonsense, Sonmez covers a lot of topics I never would considered for one trying to break into the world of software development. 

Another, which was recommended by Sonmez, is The Clean Coder, written by a guy known as “Uncle Bob”, Robert Martin. In it, Martin does not focus on how to be a better programmer but instead how to be a better developer professional

My current read, a recent release, is Impractical Python Projects by Lee Vaughan. Suggested as one’s second book for learning Python, it leaves learning the basics as a prerequisite and dives straight into some really fun, if somewhat quirky, project ideas. The idea behind this, I believe, is to help cement the reader’s grasp of the Python language, and to become more familiar with a number of it’s [sold-separately] libraries. My keyboard has not sat silently this entire time, however..

A few weeks ago, I signed up for the Complete Python 3 Masterclass Journey, by Udemy allstar Jose Portilla. Like Vaughan’s book, it is largely an exploratory look at some of the things one can use Python to accomplish. The cool thing about the class for me, though, is the narrative; the student is woven into a story whereby you start out as a promising field agent for an entity known as The Institute. After covering a few fundamentals and passing the ‘field readiness’ exams, you become a field operative, and have to track down a group of former agents-gone-rogue. The remainder of the class is comprised of being taught useful operations in Python, such as encrypting data with ciphers, web scraping, and even sending and receiving emails. For each proceeding color-coded mission [hence rainbow], you must then utilize what you learned to attempt to decipher a progressive chain of clues left by the rogues in order to unravel the truth behind their shadow organization. It is a very unique and entertaining way to engage you as a student, and I highly-recommend taking Portilla’s course after you are a little familiar with the language. 

Weevo and the Rainbow’s End

A few weeks have passed since I last checked-in with you guys. In the time, I’ve continued tracking my #100DaysOfCode progress on Twitter, and gaining more followers from that community. I also created a new apps/games section to the site, and uploaded a few games I’ve managed to complete. During another of Udemy’s famous sales, I picked up a promising-looking course on building one of those old-school 2D RPGs with Unity. The class started out great, as most appear to do, but I soon found the instructor’s teaching method lacking in explanation, and so was once again listless and looking for another project, course, or even, just a direction towards which to steer. It was then that I decided to change tactics, to try a different approach, and it arrived a few days later, much to the detriment of numerous trees..

Continue reading “Weevo and the Rainbow’s End”

Weevo and the Long March

In the weeks following my completion of Udacity’s Programming for Data Science nano, I found myself beset by indecision and from it, a lack of tangible progress which led inevitably to a loss of motivation. Not wishing to rest upon my recent-gained laurels, my eagerness to avoid stagnation compelled me onward to other horizons, but I quickly found my fervor to explore every single branch of that expansive tree is development, could actually be a double-edged sword..

Continue reading “Weevo and the Long March”

Weevo and the Magical World

For a while now, I feel like I’ve been at that point many aspiring developers reach when they think to themsevles, “Okay, I’ve been through countless coding tutorials, completed numerous online classes, read the books, have a plethora of course-completed certificates.. so what next? I’ve got a fair amount of knowledge, but how do I make that leap from simply following these code-alongs, to actually making something worthwhile to start building up something of a portfolio which I can show off to prospective employers and prove my value?” So I was skimming through my Twitter feed one day when I ran across a retweet by FreeCodeCamp, which led me to an interesting piece: Continue reading “Weevo and the Magical World”