bloc referral

If you are interested in learning to code with a mentor, try bloc and get $100 off.

Monday, April 20, 2015

Miami Effect: Dev Recruiting

* This was a rought draft of a CFP I was planning to enter at a local Rails Conference. I never submitted it due to me moving to SF. 

In the 1980's Howard Schnellenberger knocked door to door in neighborhood homes in Miami-Dade county. Recruiting football players that nobody wanted. He took a chance on the local community and built a dynasty that dominated football in the NCAA.

Not only was the University of Miami unknown as a private college, their primary focus was trying to be part of the Ivy League of the south. Coach Schnellenberger knew he had no chance getting the top talent to not sign with Oklahoma, Texas, or even Florida and Florida State.

His thought was to grab the unwanted talent from the neighborhoods you would drive your Miami Porsche Convertible through. Most prospects had troubles that the top schools did not want to deal with and despite that Miami was able to build and grow a team from their very own community. The result was this simple change in recruitment turn the community into die Miami fans, because the boys from the neighborhood all played for the school, which increased ticket sales.

In addition to the increase in increasing fans, The team began to win. A new form of untapped talent was accessed and developed into a NCAA powerhouse. Another pro to this recruiting style, was the talent became virtually endless because the younger brothers and fans eventually grew up to play for Miami because of their loyalty to the neighborhood.

Miami went on to win 4 National NCAA Championships in only 8 years after being relatively unknown prior.

Why so much talk about Miami?

I read an amazing blog post from Ashley Nelson-Horenstein that gave a simple answer to the metaphor that you should check out. Everywhere you look you see post for Senior Developers, recruiters are bending over backwards to catch the big fish out there while completely ignoring the junior-mid level talent.

Their efforts are very understandable, Tech companies want to win championships and build products quickly. The opportunity to make money in tech is huge and there is a huge sense of urgency for companies to iterate and hire quickly, but what happens when a company drops everything to obtain these talented individuals?

Look at the Miami Heat; no longer a powerhouse they once were.

What if tech companies put more effort in recruiting and developing the potential talent eager to learn and hungry for growth in their career? I am sure in return they would receive the same loyalty from that same home grown talent, the way Miami received.    

There is an overwhelming thought that there is just not enough developers out there to do the work that needs to get done, but there is a whole opportunity to teach new people. The framework I work in, Rails has reached the stage of maturity where people can now be taught how to build a blog in 15mins or with enough experience, craft a MVP in a weekend.

I believe that there could be potential in the local community for more growth. If a focus is put in helping the self awareness of the under represented groups in tech to lead the charge in encouraging their communities to take the opportunity to learn such a coveted skill.

Rails has actual done a great job in leading the charge in closing the Gender gap with organizations like RailsBridge and RailsGirls. Making sure that the overall community is one that is inviting and accepting of people of all walks of life.

I began learning how to program in 2013 and decided as a way to keep myself accountable, I kept this blog of my efforts. I also re-emerged myself on twitter. Previously I was a twitter lurker, but I found it was a great tool to engage actual established developers.

As time went by and while I continued down my journey towards proficient programming, I started noticing people reaching out to me and asking me questions, like what do you think about this or how do you do this... sort of thing. I of course answered them and moved on. I eventually started noticing something similar between the majority of the people that reach out to me and it was they were a majority black males.

My hope is to reach other minorities in Rails and encourage them to share their story to encourage others, but also reach out to the community as a whole to let them know to encourage minorities who might not necessarily speak up due to impostor syndrome or other false limitations.

The Pitch
There is a great deal of work closing the gender gap, and it has been accepted into the community with open arms. I believe the community ready to talk about closing the cultural gap in tech now. As Black male I am encouraged to share my experiences to others, and hold myself to have the personal responsibility to be my own spokesperson.

What happened to all of the Black and Hispanic computer scientists out there? Are our struggles, voices, and efforts now irrelevant, because we don't have the notoriety of a Steve Jobs, Zuck, or Larry and Sergey? Aren't each of us the best representations of how to not only survive, but thrive in a field where the odds are against us from the start?

Outcome: I am part of Steamrolers, which is a slack chat community open to all people interested talking about diversity and closing that gap in tech. 
I hope to also encourages to reach out to their community just as DeVaris Brown in the Tenderloin

Wednesday, April 15, 2015

JSON view chrome extension recommendation



If you are not building APIs right now, I highly recommend you dedicate some time to building one. With the popularity of JS frameworks and native mobile, having data that is accessible to multiple places; Now is the time to learn and become confident in building an API, not to mention it can be extremely fruitful to one's web developer career.

I just attended a meetup where the announcement of the {JSON:API} 1.0 was announced and that is my recommendation is to use that for output of an API, only because it is my only experience, but there are other choices.

If you have already been using JSON as API serializer, I highly recommend a plugin or extension that pretty prints it in the browser. For whatever reason, I never thought of downloading something for that, but a coworker recommended the JSONView chrome extension. The extension has made my time working with APIs very nice. I recommend installing this or a similar extension in your browser today.

*My current project is a Rails API, and I am considering building a new public facing API for a popular sports team.


Friday, April 10, 2015

JS frameworks in SF

These past few weeks have been extremely busy and challenging without a place to live but luckily I am now secure in a place and stable enough to writing blog post on the regular.

I have had the opportunity since arriving in the city of San Francisco to attend a number of meetups and training Sessions.

Ember:
I have been partial to Ember for the reason that I felt like focusing on one framework first prior to branching out, the main reason I chose Ember is because I actually personally knew people who used Ember in projects and could ask them questions. Even with Angular being a larger community; I just did not have an opportunity to meet any of them prior to starting my first frontend project.

Ember has a very impressive community in SF, and I had the opportunity to attend my first EmberSF and was very impressed with the caliber of talent that attended the event. I am still very pro Ember but like the fact of peeking/using other frameworks at different times.

Ember is great for teams because of its structure, no matter what Ember project you can, similar to Rails, know where important components are located and understand the basic structure.  This reason is due to the "Ember Way" of doing things is generally the same across the board. A

Another nice thing about Ember is they had an early adoption of ES6, which actually has helped me in understanding other frameworks like React and even the differences between node and io.js. There is a lot cool things happening with ES6 and I had the opportunity to learn it through Ember even while being very new to Javascript development.

Some things I am finding challenging with Ember is finding the libraries that match the newest way of package management with ember-cli. I know there is a ton of libraries out there but just not a ton of documentation due to "newness" of everything. With that being said, I am excited at the opportunity contributing to the community in that way while I discover different better practices.

Angular:
When I took the job at Bloc, I was made aware of the use of Angular in the project and began researching Angular right after I accepted the position. Probably due to my love for Ember, I did not find the excitement in learning Angular, as much I did with Ember. I however attended an all-day Intro-To-Angular workshop the second weekend I was in SF.

Now that I have gotten past the initial beginner phase with Angular, I have come to appreciate the stability of Angular and how has fast it is to get up and running in a project. Ember is big into separating the API from the concerns of the frontend framework, but Angular seems separate but still knowledgeable about everything.

In a conversation I had with neighbor while pairing at the event, Angular is still new to developing best practices in creating an app and it has been a struggle to newer devs to Angular. I believe things will be getting better when Angular 2.0 is rolled out and I have heard word that there will be a planned upgrade path for those on Angular 1.x, which is contrary to what was announce last year - which is good.

I do have to say it is nice knowing how to use a framework as popular as Angular and being able to contribute to the JS framework conversations. I also think it will take a lot to unseat Angular as the leader in the framework battler for the simple reason that chaos of how customizable Angular is probably one of its strengths. Ember has a lot of the conventional ideas of Rails and some of it own and it does not seem conducive for a non-ruby/ post-ruby dev to learn these conventions. If someone writes PHP or JAVA in a way and wants to apply Angular to a project, they can with their own special conventions.

I think the next year of Angular will be pretty interesting and I am appreciative that I know a bit of it and have gotten up to speed enough to be able to work with it on a day to day basis.

React

React is definitely a framework I have hardly any experience with but I did attend a react meetup last night and very impressive with what it can do. I do know some of the React creators were big Ember evangelist at one time and saw many similarities to Ember in the React 101 talk last night. I am definitely impressed with the speed of React and what it does on the View layer, but the idea of calling a "framework" doesn't seem right.

The React core team addresses the product as a "library",  which I will from now on. React actually should be thought of as a jQuery replacement tool. It does a lot of work to speed the rendering of your views and like the full-service frameworks react only needs your api, regardless of what language it is written in.

The other portion that makes React be considered a framework is Flux, a separate project that helps with data stores. When you receive an object from a JSON API (one of many options) the framework/library grabs the data and stores that object and attaches "observes" to watch for any changes to update. Flux is very similar to Ember-Data and js-data, actually js-data copies a lot of what Ember-Data does and Flux has a lot of similarities Ember-Data as well.

I envision that Flux and React to become synonymous with each other in the future to make that "framework" everyone is looking for. I have plans to actually start a React project soon and even take a chance React-Native with that same project, but per the presenters comments there are a lot of things to left to be desired in React as they continue to iterate on this new product.

Conclusion:
There is actually a lot to be desired in all the frameworks and in reality, I don't any framework will ever solve every known problem.  

As soon as I wrote about my experiences with Ember last summer I received a lot of feedback on why I did not choose Angular and I did not have a great answer other than fact that I didn't know any Angularist I could get feedback from. I understand there is a "Holy War" going on right now about which Javascript frameworks is the best, but that is dumb.

My recommendation is to pick one framework and learn it and don't be afraid to branch out to learn from other frameworks, because at the end of the day its all still Javascript.

P.S. I hear Meteor is by far one of the easiest to learn and though it was not mentioned here, I highly recommend reading up on that one too.