Hi I am Sergio Martin Rubio
I started this blog to be a better software engineer and keep up to date with the latest technologies.
Keeping up to date as a software engineer is one of the hardest tasks, because there too many learning resources. You can go to conferences, attend meet-ups, read books, listen to podcasts… however you will probably forget soon what you have just learnt if you do not materialize the new knowledge.
I started learning Java in 2017 and I read many books at the beginning, like Effective Java, Java 8 in Action, TCP/IP sockets in Java…, but after a year I realized that I had not spent the time wisely because I simply read all these books without any further practice. This is when I decided to have my personal tech blog where I can materialize the content I read from books.
Writing a blog is not only a way of making sure you understand a particular topic, it is also a diary of your software engineering career, your own personal library, a cover letter and a way of sharing your knowledge with the rest of the community.
Some recommendations before you start creating your own blog:
- Do not try to be fancy. Find a platform that allows you to write straight away and do not try to create your own platform, otherwise you might spend more time building and maintaining your site than writing articles. In the beginning I hosted my blog in a Raspberry Pi and I ended up expending too much time configuring NGINX, Apache, firewalls… GitHub pages is a good example to get started.
- Do not get distracted with many technologies. Focus your articles on a small set of technologies. I tend to write articles about the Java ecosystem, DevOps, IoT or algorithms.
- Write short blog posts that will be useful for you in the future, when for instance you do not remember how a Java socket works.
For those who do not have the time to go to conferences, read books or write blog posts, there are other effective ways to keep learning. At work, always try to find a balance between developing the product and developing yourself. Take advantage of any feature you are building to master the task, not to complete the task. Do not try to cut corners, instead practice to improve your ability to perform a particular task. Also, participate in Hackathons or give lightning talks when you have a chance.
Databases (SQL & NoSQL)
Agile (Scrum, Kanban)
Software Engineer, Marshmallow, UK
Nov 2019 — present
Participated in technical scoping, estimation, briefs; Worked closely to the team’s product owner to understand requirements and build solutions; Built new features with Java 13, Spring Boot, Spring Cloud, DynamoDB, Aurora and Docker.
Software Development Engineer, Expedia Group, UK
Oct 2018 — Nov 2019
Involved in adapting microservices APIs to support new features; Redesigned caching architecture to use in memory data structures; Worked on a GraphQL PoC; Wrote Bash scripts to automate build tasks; Ramped up and mentored new joiners and apprentices
Software Engineer, Gamesys, UK
Oct 2017 — Oct 2018
Redesigned authorization and authentication infrastructure with Spring Boot and Spring Security to handle millions of users; Implemented TDD and pair programming in my daily basis; Groomed user stories effectively along with product owner and team players; Maintained Kubernetes cluster and CI tools across the department
Full Stack Developer, Accenture, Spain
Mar 2017 — Sep 2017
Involved in design and implementation of new features using Java EE technologies; Built Golang service and used Spring Batch to rehash and process millions of records; Participated in Machine Learning and Data Science Hackathon
Network System Administration, SAFA ICET, Spain
Sep 2015 — Jun 2017
Pursued my passion for Java and Android applications. Looked into IoT technologies to develop automation solutions on Arduino and Rapsberry Pi. Attended several courses to excel in programming.
Economics Degree, University of Malaga, Spain
Sep 2010 — Jun 2015