Looking back over the last ten years
Today I have officially spent ten years working as a .net developer
Getting into the game
When I left secondary school, I originally wanted to go into the hotel industry, and I spent two years studying leadership and management in hospitality in college.
However midway through my course, I decided that I should have listened to my IT teacher and went into the world of IT.
I paid for an online course in web design and learnt how to build websites while I was still studying hospitality. After a month of HTML and CSS tutorials, I developed my first website.
It was a horrible website, but the source code was clean.
After applying to hundreds of companies for a junior web design role, only one company invited me to an interview.
That company was called Matrix Management Systems which took a chance. In hindsight, it might have been because I was cheaper to employ, compared to the other candidates.
So I had my first developer job!!!! And on the 25th March 2008, I started.
Early years as a developer
On my first day, my manager gave me a book on VB.Net as I was tasked with supporting a vb built Web Form application.
Luckily after a month into the role, I had to work on a project written in C# and after a couple of days, I feel I’m in love with C#.
I was going to offsite client meetings, gathering requirements and demoing stages of projects to external stakeholders.
I had to learn fast, but most importantly I had to learn from my mistakes quickly. Because I didn’t spend 3 to 5 year studying a computer science degree I had to learn on the job and through the night when I could have been sleeping. I googled software and database design patterns. Walkthrough help books and walkthroughs on blogs.
My junior prefix was removed after a year and a half and later replaced with senior.
Finding my feet
During my later years at Matrix, I started to convert applications I had designed in ASP.NET Web Forms calling WCF services and Silverlight applications, into modular designed ASP.NET MVC solutions built with jQuery and Telerik Kendo. Replacing the heavy soap WCF services with restful APIs.
As well as architecting and leading the way on revamping the company’s legacy systems to use newer technology I started to provide mentorship to junior developers. The mentorship ranged from one on one to team-wide training sessions. The sessions covered getting started with simple applications with ASP.MVC, to developing event-driven applications using SignalR to the team.
Needing to grow
In 2014 I felt my time at Matrix Management Systems was at an end.
I needed to grow as a developer. I also felt I needed to move to a bigger team.
So I started job hunting and got an interview at Tungsten Network. Luckily at the time I was able to pass the process and got hired, but if my 2014 self-went for an interview now I would not get the job. (See my post about, what developers need to know now).
So I was leaving Matrix. It was not an easy decision; I was leaving a company, which gave an inexperienced teenager a chance. I will always be grateful for the two people who hired me back in March 2008.
At Matrix, I was a full stack developer, gathering requirements, designing the user experience, designing and developing the solution from the database to the UX.
Working at a small company like Matrix had given me responsibilities and experiences which some developers do not get until late in their career when working for larger companies.
Now after a decade and soon to be four years in September at Tungsten I have become a T shaped developer specialising in the middleware layer.
Currently, I am working to drive the journey of our architecture to a hybrid implementation of microservices leveraging restful APIs and event-driven solutions.
Words of wisdom for new developers finding their feet
Subscribe to Pluralsight, or any other training video provider, and watch the training videos whenever you can. Watch a course on your commute to work.
5 minutes of watching a video on a topic could save you an hour… or a week of your time down the line. You could learn a new pattern or technology which will help you in your current project.
Learn from your mistakes (and from others)
Review and deconstruct your mistakes so you can learn from them.
For example, what could you have done differently?
Learn how to take criticism (that is constructive criticism). See https://www.themuse.com/advice/taking-constructive-criticism-like-a-champ for more.
This industry is changing faster than most, keep your ear to the ground for new technologies or events which may change the landscape.
For example, when Steve Jobs prevented Flash from running on the iPhone, Flash and Silverlight shelve life got a hell of a lot shorter.
Companies are working with Agile frameworks; you need to know the tools which allow you to spot defects fast. Learn the patterns which will enable you to write testable code which you can automate.
Regularly access yourself
Could you learn a new development pattern to help your day to day tasks? Where do you want to be in the short term and long term?
If you don’t advertise you are open to more responsibilities then how will others know you want it. Want to work on different stuff than what you have been working on, let others know.
Want training, ask!
Feel like an imposter
Feeling like an imposter I have read is very common It is called the Imposter Syndrome.
In 2012 I thought I would be out that I was not a real developer and that I was faking. But I wasn’t fake. However, I still took a couple of Microsoft exams to prove to myself that I knew what I was doing.