One more day at Laracon 2015, and there's probably no better way to start off the day than listening to the first speaker. Jeffrey way, the creator of Laracasts, starts us off with a presentation called "Things Laravel Made Me Believe." If there are 2 people you want to see when you come to Laracon, one of them is Taylor Otwell and the other is Jeffrey Way.
Jeffrey Way has a great talk about 3 key topics which are care, simplicity, and distrust.
Care - Jeffrey talks about how care in the small details is very important. He talks about how Laravel has beautiful comments throughout the framework, and even though some say all the comments are unnecessary it makes the framework very easy to use for anyone. Some of these things are the small details that make Laravel so great. Basically, he talks about how important it is to put care in the products you work on.
Simplicity - Don't confuse simplicity with "basic" or "easy". Keeping things simple is important to growing. Jeffrey talks about how there are so many things to learn out there and not everyone can possibly learn everything, so keeping things simple with a lot of complex technologies is very important.
"If there is some secret sauce for success. I have to believe the key ingredient is simplicity"
Distrust - Jeffrey talks about how Reddit and Twitter can actually be bad for developers. Because, when learning new things or even asking for advice on social networks you must be careful not to lose your focus or steer your direction. He talks about how as a developer you can consider opinions and advice that others give you, but make sure not to subscribe to everything someone says. Basically there are a lot of haters out there. We are developers and we want to create things. Simple enough... Just go and create it, because even the smartest people can give bad advice. So trust yourself, keep it simple, and put care into what you create.
Next up is a talk by Paul Jones with a presentation titled: "Same Thing Happens Every Time"
Paul Jones starts off by talking about similarities in movies. He talks about how they all have similar patterns. These patterns happen in all aspects including code and developers. Paul then talks about different personalities of developers. He talks about how we all have a hierarchy in any organization and he gives a few bullet points on how to change the order of our hierarchy.
Pauls talk was very entertaining as he talked with us about patterns in movies, patterns in teams/work, and how to recognize these patterns to deal with them effectively.
Next, was a quick bathroom / snack break and then on to Round 2 of Artisan Jeopardy!
Round 2 of Artisan Jeopardy was just as entertaining as the first. Jeremy Mikola is an awesome and hilarious host. After the second round of Jeopardy the winners competed to win an iPad Air and an Amazon Echo. (fun fact: That's me on stage with the microphone, sadly though I did not make it to the final round. But, it was super fun and I'm glad to have had that experience).
After some more good eats and beverages we head back in to listen to a talk about company culture and open source by Brian Webb.
Brian's presentation is about building strong company culture and using open source. He starts off talking about the difference between a satisfied employee and an engaged employee. A Satisfied employee is someone who is good at their job but they are more interested in their personal success as opposed to the success of the company; whereas, an engaged employee is an employee who is good at their job and strives for personal success as well as company success. The engaged employee is one who invests in the company and the culture. An engaged employee seeks out to solve problems; whereas, a satisfied employee waits for the problems to come to them before they solve them.
An engaged employee takes ownership of what they work on and what they create. Brian says that companies should let their employees use the tools that they want to use, this puts more of the power in their hands. A lot of times companies force employees to use a specific tool because they have a license for it and that's what everyone else uses. He says that it's not about the tools that the employees use, rather it's about the code that gets written.
Brian says "What does any of this have to do with Open Source?" He then says that open source projects require engagement. It allows the employee to master the open source project, get engaged, and it gives them more purpose.
Finally a few gems that Brian made in his presentation.
Mastery is the desire to get better at something that matters.
Purpose is the yearning to do what we do in service of something larger than ourselves.
So, when developing your company culture make sure to convey and reinforce a clear purpose, invest in and promote new ideas, and find and push people to work on open source.
Next up is Samantha Geitz to talk about "Source Oriented Laravel & Lumen"
Samantha Geitz talks to us about "Source-Oriented Architecture." Source-oriented architecture is an architecture where services live as different entities. Instead of building a single app that has a ton of bloat, we may want to look into creating an architecture where we build API's that talk to eachother.
She walks us through an example application architecture. The sample app that she talks about is a t-shirt e-commerce site. She says if you were to implement this project in a single application you will eventually end up with a route file that has a thousand lines of code, a folder overflowing with controllers, and an app that grows really large.
So, why not split up this functionality? We could split these features for our project into multiple services, such as a micro-service to handle customers and subscriptions and another micro-service to handle orders and products. All these micro-services work as data-in and data-out and that's it.
By creting your apps into micro-servers you will have a project that is easier to manage and faster to test. Lumen is perfect for building these API's and micro-services, because you can use all the Laravel features you already love with faster speed and less of a foot print.
Samantha also talks about how we can use these different micro-services to talk to each other. She talks about building these API's for different environments, versioning the API, and authenticating a user before the data is allowed to be accessed.
This was definitely a great talk about organizing and architecting your application. Be sure to follow Samantha at @SamanthaGeitz
Samantha Quinones is an engineer at AOL and she talks with us about "Hacking the Human Interface." Samantha gets real with us and talks to us about how she found herself in a rut. She talks about some of her personal past experiences when she worked at VISA and had the same job title for 8 years. She talks about how she was in a bad place and she ended up pulling herself out and making herself a better person. She talked about Empathy and Sympathy and the difference between them.
Even though she gets real with us Samantha is actually very entertaining and kind of funny. Samantha talks to us about being a better person, or as she puts it "How to be less of a shitty person." She talks to us about having empathy and how important it is to have empathy for each other. She touches on how we can change ourselves to make ourselves a better person. In return this will make us better psychologically. By being psychologically healthier it will help with your work relationships and your skill development.
Yitzchok Willroth, "Yitz", or @coderabbi starts off his presentation by thanking the audience for giving him our time and allowing him to talk. He gives a brief introduction of himself and talks a little bit about his journey to becoming a programmer. He let us know that he was going to talk to us about "Advice", because after all what else do you go to a rabbi for?
This advice that Yitz shares with us is based on his experience and how they helped him grow as a developer.
One very important piece of advice is to acquire a mentor. If you want to level up as a programming there's nothing you can do more than find yourself a mentor that you cultivate and lean on. Mentors are not always actively looking for an apprentice so you may need a few tips for finding one. In order to acquire a mentor you must identify your possible mentors, interact with your mentors, and take initiative.
Another great piece of advice is to acquire yourself a colleague and view people as your most important resources. He talks about pair coding and the extreme benefits of paired programming and how this is a tremendously efficient method for learning new skills.
The CodeRabbi says that as a developer we need to interact and do things such as write a blog, create a gist, go to a conference, or contribute to an open source project. All of this advice is golden!
Finally, one of my favorite quotes from the CodeRabbi:
The more one interacts with the community, the more one gives to the community, and the more one gets from the community.
Cover Artwork done by @ninjagrlstuff