It’s been a hell of a couple years since I’ve posted. A month after my last post, I found my first gig as a full time software engineer. I’ve made quite a few new friends and learned a lot. I learned what it was like to work on a large scale application with a team of developers. I learned about Amazon Web Services, what dev ops do and their significance in how we operate in our day-to-day.
My Ruby and Rails skills have improved dramatically. I thought I knew it all, but man was I wrong. I learned about memcached and redis, russian doll caching, polymorphic associations and nested attributes. I can’t go into to much detail about my previous job because of an NDA, but I can explain the surface of the application in a low level way.
The platform required users to sign up, provide basic data and complete surveys to qualify for free items. Vendors would pay our service to target a certain census group. Our application targets scoped users per item campaign. Quantity is on a first-come-first-serve basis, so once a month at 12 noon EST, we make items available in a flash-sale modeled website. This ususally jolted our traffic from a measly 500 users per minute to 35,000 users per minute. Squishing slow queries was important and writing DRY maintainable code was important for expanding on features.
Tools of the Trade
We used a few nice tools to keep us in check. Semaphore and HoundCI runs every time we make a pull request. Semaphore makes sure that all our tests pass and HoundCI makes sure that all our developers all agree and follow a code convention.
Tools like NewRelic, BugSnag and SumoLogic were great for catching errors and debugging code. This made sure that we knew if a user was having a unique problem and how to solve it before it was ever reported.
Jenkins was really convenient for simplifying the way we deploy our code. Before jenkins we used MIST to SSH into the box and pull the code from the github repo.
Slack was actually one of the most fully featured applications that passively effected the way I worked. Our lead developer had set up slack integrations and notifications for NewRelic, BugSnag, Jenkins and Giphy (duh) which always alerted us of problems in a push-notification like fashion. This was really helpful for when we were in a code dive and not paying attention to the logs.
Future Goals
I feel really comfortable in Ruby & Ruby on Rails. I know if I had to build an app or API, I could do it fairly easily. I think that what I feel is missing is my JavaScript skills. I wish I had the opportunity to use a front end framework.
Lately I’ve been building applications in React with Redux and Native. I think the biggest appeal of react for me has to be component separated development. I think Reacts component structure complies to the true principals of object oriented design. The React community is also really nice!
Jekyll Collections
So Jekyll is a pretty cool framework for building blogs. It’s actually what this website is built on. Anyway, I learned that you can create collections, build a template that accepts variables and then pass a markdown with variables on the top. This made remodeling my portfolio really simple. Now whenever I need to add a project, I just need to create a new markdown file, pass it a few variables and write in it like I normally would. Jekyll takes care of the rest. 1-year-ago me would be impressed :)
Algorithms Section
Also new, I’ve made an algorithms section in my portfolio to display my knowledge a bit. I feel like this is the best way for me to prove my knowledge to possible employers and to keep myself sharp. As of today, there isn’t really much to it except to highlight past code challenges I’ve worked on, but in the future, expect really in depth explenations about some computer science-y stuff!
Oh btw, I’m moving to Austin, TX!
Yep! My fiance and I have decided that it’s time to pack up and leave NYC. I’ve lived in NYC my entire life (31 years) and I think it’s about time I moved out of my comfort zone. No better way to do that than to move into a comfortable, large home with a pool, terrace and grill! In the spirit of hitting the job market again, I’ve given my website a little love and put all my old work on github. I think the only painful part of working a full time job with an NDA is that it doesn’t reflect well on my portfolio… ¯\_(ツ)_/¯
It’s been a hell of a year though!
edit: title change