New Python Developer position, Classes, and Coding
Well, life is super busy these days!
The biggest news is that I was hired by a great tech company in Dallas for a Python Developer position! It will be fantastic to fully transition into a true software development position and I am looking forward to learning as much as possible!
I need to take some time and write up a more detailed post about exactly how I transitioned from analytics into software development. To quickly sum up several years of learning though:
- Learned SQL on the job at VCE.
- Joined a DFW Python users group and started using Python at my job
- Read a great book on C
- Took some community college classes on C++
- Bought way too many books
- Did a course on LinuxAcademy
- Went to PyTexas 2015, got a lot of great shirts (SWAG), and met a lot of great people!
- Decided I wanted to transition into software development
- Took Harvard's CS50 through EdX and completed most of it.
- Took a leap and joined Oregon State University's Post-Baccalaureate degree in Computer Science On-line program.
- Revamped my resume and started getting interviews for Developer positions
On the school front, I am well into my second term now at Oregon State and taking two classes CS162 and CS225.
CS162 is your standard computer science II class using C++ and we are getting deeper into the concepts of Object Oriented Programming and other important things like recursion. The quality of the program is high and Computer Science is one of those topics that lends itself very well to the on-line format I feel like.
The program can be a bit stressful at times though, because the course resources (textbook/videos) are not going to give you everything you need. You have to do a lot of looking things up on your own and it seems like it can be a bit stressful for students who are not used to this. I was lucky in that I was self taught (with regard to programming) before I joined the program, so I am very used to having to figure things out on my own.
CS225 is a course on Discrete Mathematics and it was bit of a mind bender for me at first. I have actually had to put a lot of work into this course but I feel like I am starting to build up a good mental model of what Discrete Math is and am definitely getting better and proofs. I am actually enjoying a lot of the math now and wish I had more time to do more of the practice problems at the end of each chapter.
I can definitely see now how Discrete Math is very essential to a true understanding of the basics of Computer Science. I especially find the exercises where you are required to translate from informal language to a formal mathematical language of symbols very similar to the process of writing code.
I started listening to Programming Throwdown about a year ago and after going through every episode I have found it to be a really great resource for understanding what programming languages are good for what task. Check it out if you get a chance!
To learn a difficult topic I have found that it helps to really immerse yourself in that world as much as possible and I find that Podcasts are great for people who don't work around a lot of other developers in real life. If you have a long commute it can be great to throw on a cast and do something semi-productive on your way to work.
Also if you are on iOS, then I highly recommend using Overcast to manage your Podcasts. Don't worry, its free!
Here are some other great development focused Podcasts that I think are helpful:
Moving Python Reference to GitBook
I am still slowly working on my Python reference but I am going to be moving it from this Pelican based website to GitBook. A pelican static site is not a really good platform for building reference documentation.
If you take a look at it, keep in mind that this reference is still very, very much under construction.
I am trying to transition over to VIM but the going is slow. For some stupid reason, I always what forget letters are the arrow keys and so I made some quick stickers earlier this week to help:
On the Wife front
My wife, which I like to call "The Wife" will soon be graduating from college with her Bachelor in Business Administration. She got her first real office job a few months ago and has really been enjoying building excel models to help automate the job for others.
This exposure to Excel has really opened her up to the idea of doing something more technical for a living and so she is looking to start learning SQL and Python once her classes are done with this coming summer/fall.
It will be very exciting if she does start getting into programming! I am kind of hoping she is a lot better than I am so I can just quit working, bro out with the dogs all day, and play video games!
Well, now that I will soon be an offical Software Developer I think its very important that I get a t-shirt that reflects that.
I am thinking one of these:
"Im a software developer. Whats your super power?" Maybe a bit pretentious?
"Trust Me, I Am A Software Developer" Not bad, but I am not sure it makes sense.
"I Don't Always Test My Code but when I do, I do it in production" Yeah, that may be just right.
What I am watching
(Because I know you are wondering.)
Well, and now we get to the important part of this blog post. I started watching a SciFi channel show this week called "The Expanse" and I have been fairly impressed with it so far. Its the first SciFi channel show I have watched since Battlestar Galactica and while it is not quite on that level, it is still pretty fracking good.
I have also been indirectly (I promise) watching a lot of "The New Girl" because The Wife has been re-watching the entire series on NetFlix.
Well, that is all for now, thanks for reading. Time for me to go "CS and chill" now.