Brandon Travis

Picture of a man writing on a piece of paper and also using a laptop

My experience with working

Last updated on: Sunday, December 19, 2021

Learning new technology that you have never touched before is pretty fun if it's not something ancient like COBOL. I think we can all agree with that. At work, I'm stuck with using Laravel, VueJs, MySQL, Elasticsearch, and all containerized within Docker. Initially, when I started working at this place, I knew exactly none of these frameworks and technologies and that it was an uphill battle to learn all of this in a meaningful amount of time so that I could be productive.

man lifting boulder up mountain

One of the biggest challenges also contributing to this was that I am still currently a full-time student trying to get my Bachelor's degree in Computer Science. Be warned some or all of this may turn into a ramble of thoughts.

I was given a project at work that uses the previously mentioned stuff above, make a search engine that parses all uploaded documents and books that are currently uploaded on the website and section the results out for each department and to also allow users to upload documents and images all of which is saved on Amazon S3. Then make a general repository that lists all results in one centralized place all while making it look pretty and very easy to use for non-technical users. My first initial response to this was, I am going to need a lot of time to develop this and just hope it works out in the end and not break. I did not even initially think about my priorities of being a student still, I was kind of all focused on this. I initially got the project description in the summer and started working on an MVP right away to hopefully have something to show before the semester starts.

man putting head down on desk

An example of what this application looks like with some stuff cut out is this

screenshot of custom built application login screen
screenshot of main page of custom built application

I started on all of this while not knowing how any of these worked except for MySQL, so everything for me was an uphill battle pulling my hair out error after error. One of my biggest frustrations with all of this had to have been with Elasticsearch and I generally do not know why. A lot of people seem to have an overall positive experience with using Elasticsearch and almost the whole time for me I just struggled with issue after issue trying to tie everything together. One Laravel package that helped me during this moment was Elastic-Scout-Driver. It saved me a lot of time trying to figure it all out on my own and provided me with a basic idea of how to approach everything. I still have mixed feelings if I like or do not like Elasticsearch just yet.

My overall experience with Laravel was pretty pleasant, initially, I wasn't that thrilled to be learning PhP since my first thought was that it was an old outdated language with nothing going for it besides WordPress. Laravel is quite a nice framework with a lot of magic going on behind the scenes to make everything feel more structured and less likely to shoot me in the foot which is quite nice. The inbuilt ORM in Laravel also has its tradeoffs but in my use case is perfectly fine, since I am not working on a database with millions of items stored in it. At the end of the day, Laravel is just another tool in my toolbox that I may or may not use for future projects.

In regards to VueJs, I am a bit biased here as I generally do love React more so take my opinions with a grain of salt. When I first started learning React back in 2017, the learning curve was steep but compared to the first Javascript framework I learned which was Angular, React was so much easier to become productive in. Then when I got assigned on this current project and had to learn VueJs it took me at most an afternoon for me to start becoming productive compared to the 3-5 days in React. VueJs was so easy to learn, I kinda wish I just took an afternoon a long time ago to learn the basics instead of going online and researching which should I learn first type of thing which I feel like a lot of us lazy developers do.

This whole thing feels like a ramble of my thoughts transposed on a document, but that's really what this whole blog is about.


Related Posts

Picture of a stylized brain holding up weights
My experience with a coding bootcamp
Stock photo of computer
How I built this blog
picture of javascript framework, VueJs
VueJS
Picture of Javascript framework, Reactjs
ReactJs, NextJs, and PreactJS
a clock that shows the time passing
Why I started coding

Copyright © Brandon-travis.com 2022.