I’ll tell a little about my story:
First of all, my name is Alejandro Gómez. I was born in Yucatán México
I remember the first time I saw a computer. I was 12 years old, it was 1994. I was visiting some distant relatives with my parents, and there it was: a 286 processor, with 5.25” floppy drive, a monochromatic screen and a 80’s stylish mechanical keyboard. It was astounding.
From that moment I kept captivated by such a misterious machine.
When I entered into secondary school (In México we have a 3 year school before highschool, from 9 y/o to 12 y/o), I pushed to get into the programming classes. I didn’t get it, but instead, got into arc welding classes.
I was good at math, with electricity theory, but very bad at welding. I even got some burns by touching hot metal.
After that, I convinced my teacher to transfer me to the programming class. I got it this time.
There I was, writing lines of code with QBasic, in MS-DOS, happy as a clam, typing strange english white words into a black screen 1 hour every day. Man, that was heaven.
Since then I’ve never stopped to code.
In highschool I knew Visual Basic, Clipper, C++, Pascal, all old folks.
In those years, around 1997, I knew the internet, when dial-up made contact to the mass and internet café were flourishing in small cities, like mine (Cancún, home of spring break).
Back then, in school, we had to share one computer connected to the internet and take turns to use it.
I was not privileged to afford my own computer, but until 2004, thanks to a summer job and its profits.
I built my own PC, installed Windows XP, Linux and started to be serious about coding. Before that it was writing pseudo-code in a notebook, reading books from school library and using school computers.
In the same year I learned how to make web pages, with dreamweaver. - Yes, I’d ashamed of telling this.
In 2005 I started my professional internship in a software consultancy by making Windows apps with Visual Basic 98 and .NET Framework.
I also worked in a project with php4, MSSQL Server and Web Services. It sounds heavy but we were kids doing our best without mentoring. We (my team and myself) didn’t know about design patterns, MVC, ORM, DAL, etc. and there was no adults guiding us to the right path on writing software.
I didn’t even speak english, so I was consuming knowledge from translated books into spanish.
Ii was funny, but it was chaotic.
In 2007, I moved to Cancún, and entered into a larger company, as a php developer. This time I was mentored by a great guy, who showed me MVC, jQuery, proper ajax requests patterns, and mysql stored procedures. I was happy by having a sensei. I was on the right track.
Php jobs were not well payed, because of “licence” matters, companies were not taking php projects so serious (at least in México). So I followed the money, moving to the dark/corporative side: .NET and C#
I started working with dazzling concepts like Entity Framework, SQL Server Reporting Services and LinQ.
I loved .NET environment, so well organized, so easy to deploy, with a rich featured IDE like Visual Studio. It was like first world compared with the third world php environment. With .NET I had big collections of Web components, all them ready to collaborate with data sources. All I had to do was drag and drop data sources, configure some properties, and press the play button. There was no harsh in “coding” an ASP.NET app. It was matter of doing some clicks and values typing.
I had documentation at the reach of my hand with the MSDN library, while in php I had to look into forums for some answer.
Then, in 2010, after that, I don’t know what happened; maybe I followed the money again, and ended up coding in Php. This time using a better MVC framework: Yii.
This time was different. Open source has never been that close to Privative Software in terms of comfort. I think Microsoft spoil its developers by giving them all of it without effort, while open source gives freedom of choice, and creativity to the community, putting all the responsibility of the success of a product in their own hands.
Yii had web components, it was well integrated with jQuery and jQuery UI widgets, it had a great design of classes hierarchy, classes construction and components configurations. I was delighted by working with that marvelous tool.
I was sort of an isolated guy until then, learning by myself from time to time, reading a book.
Then I started to look for local communities of developers. Being social, sharing ideas and design concerns.
That helped me a lot. Being social and partner with better developers than yourself is the best investment of time you can do.
I started to learn about cool libraries, cool tools thanks to twitter, local dev meetups, and developer friends.
In 2012 I jumped into the venture of being self employed. I made a partnership with a friend, and started looking for clients.
We met our first international client. We started a project building the second version of a web application. We were in charge of the front end development.
We jumped into our first Single Page Application project, leveling up our skills in front end development, by moving the domain logic in the browser instead of a traditional MVC application.
To this day, thas has been one of the most fulfilling projects I’ve ever work on. It was my first serious development with the browser, and we did good.
In 2014 I got an interesting and challenging job. I started to work with an international team. The undertaking was to build a web application that would deliver a lot of nested data with the ability to edit all of it in real time. Imagine forms that contains forms, which contain a lot of inputs, and events listening to all of them so when the data changes, send it to the data storage.
A hardcore Single Page Application necessity was born.
Today, in the middle of 2015, I ended my work relationship with that company. It was a great adventure, it was a delightful learning. I learned not just the technologies we were working with, but also a new culture of how to properly work remote. I learned to not expect documentation, or condescendance from a team member, but how to ask for help, and even better, how to follow the code until getting an answer to a question. I became proactive, I learned to not blame a member of the team, but to let them know what the error was, and it should be corrected.
I was a very spoiled guy when I entered into this programming path. I expected that much from people, and this was wrong. Expecting from the outside is being selfish, is thinking about ourselves all the way.
My professional journey has been accompanied by a personal growth. I had to change an attitude in order to evolve into a better person, and hence a better coworker.
I feel I’m in the middle of my life time. I’m still an apprentice, but I’m doing better than before, worse than tomorrow.
I feel excited to start this personal project, to share my discoveries with everyone that comes to this place.
I hope and I want we do this well; meanwhile:
Welcome and Salud !