I spent the last four years working in a PropTech startup, helping create the ability to digitally capture 3d property tours as well as consistently accurate volumetric data. I joined as employee 35 and worked closely with the engineering team to test and help push forwards the boundary of what our product could do. In this role I worked as a photographer, a surveyor, a software tester, and excelled in all three despite no prior experience in any of those fields. I was immediately fascinated by the challenges and opportunities presented in by the tech industry, and towards the end of my time there began to look into how to career change into a developer role, as I was more engaged with my work than at any time in my life when we were busy previously unknown tech problems. As the technology began to work consistently and no new features were planned, I felt the time had come and I left to join the Full Stack Developer course at Makers Academy.
Having recently graduated Makers, see my GitHub Profile for a summary of my Maker's journey, I have sinced revised my MERN knowledge through extra learning, and have taught myself Python, including the following libraries:
- Pandas
- Flask
- Kivy
- Bokeh
- Numpy
My intention is to be fluent in both the most popular front end tech stack, as well as one of the most widely used back end stacks. By moving beyond the more basic Rails tech stack into these technologies, I can further become a true Full Stack Engineer.
In the future I am very keen to be a part of the digitization of the world, to which I firmly believe we have barely dipped a toe in an ocean. I am most inspired by technology such as Palantir, Tesla self driving, Square, Upstart, Zillow, Twilio, SalesForce and AWS, and the unique way in which they are driving human capabilities forward. I am interested in moving into machine learning to help design the thinking computers of tomorrow, which will make use of the Python skills I am developing now.
Project | Description | Technologies Used | Link |
---|---|---|---|
Fridge Savant | A single page web app built in React, paired with a server project built in Express/Node | Javascript, Jest, React, Express, Node, MongoDB | https://github.com/MattDawson2020/fridge-savant-client & https://github.com/mikejeuga/fridge-savant-server |
Acebook | A web application clone of Facebook that allows users to add their friends, make posts and comments. | Ruby, Rails 6, RSpec, Bootstrap, PostgreSql | https://github.com/MattDawson2020/acebook-Derailed |
AirBnb | A web application clone of AirBnB that allows users to list spaces they have available, and to hire spaces for the night. | Ruby, Sinatra, Bootstrap, PostgreSql | https://github.com/MattDawson2020/in_the_airbnb_tonight |
Python-Data-Analytics | Uses the Pandas library to extract a 45000 row CSV file and then uses JustPy to turn this into easily understood graphs | Python, Pandas, JusyPy | https://github.com/MattDawson2020/Python-Data-Analytics |
Python-Quotes-App | A simple full stack notes application for both mobile and PC users | Python, Kivy, buildozer | https://github.com/MattDawson2020/Python-Data-Analytics |
Test | Description | Language | Link |
---|---|---|---|
Bank-Test | A simple prompt of a desired series of actions and output, designed to challenge maximum use of SRP and clean code | Ruby & JavaScript | Ruby JavaScript |
Gilded-Rose | A well known problem designed to test a developer's ability to interpret and refactor legacy code to improve redability and efficiency | Ruby & JavaScript | Ruby JavaScript |
Fast Learner
- Prior to 2021 I had spent less than 10 hours in my life coding, I knew the most basic aspects such as variables, loops and functions, but no real understanding of major concepts like OOP vs FOP, MVC, frameworks etc.
- To go from beginner to Full Stack Engineer in 4 months was tough but doable, and would require intense study and open mindedness.
- To achieve this I would do my full day at makers coding the weekly challenges, and after 5-6pm would continue in my own reading and research in order to maximise my learning, each week testing myself in the makers weekly challenge.
- The best example I could give would be the makers final project. With only 2 weeks JavaScript experience, me and my team managed to design and build a fully functioning MERN based application in only ten days. This was achievable because I knew I had the capability to learn a new stack fast, and that I already knew all the underlying principles from earlier weeks. See for yourself a comparison between what I was writing in march VS what I was writing 12 weeks later in my final Project
- This skill can also be seen in my previous job, where I went from zero photography and surveying experience to a professional grade photograper and certified property measurer within a few months, and was consistently rated one of the highest by the quality assurance team and by our clients
- My first major test of this skill was in my university degree, which required me to do almost all of the research and learning by ourselves with minimal guidance, based on a few reccomended texts (but mostly I had to find them ourselves) and bring this to a weekly discussion
Communication and Group Projects
- The Maker's course covered three main group projects, one a week long and the others two weeks long. They required me to build things I'd never built before, using technology stacks I hadn't used before. Compounding this, I was often required to work with people that due to the pandemic restrictions, I had never even met or would ever meet in real life, people who ranged from socially fluid and extroverted, to very closed and introverted
- To achieve success in these projects required confidence and comfort working with relative strangers remotely to figure out complicated tech problems, without an experienced project manager
- Having previously worked in a Tech company and alongside engineers, I was familiar with Agile, standups and the product lifecycle long before I ever started Makers. I'm also someone who has had a lot of client facing roles and who was heavily involved with training and leadership in the past. With this in mind I usually took something of a pseudo project manager role, usually by leading stand-ups and retros, defining an MVP to work towards, and suggesting solutions to problems, but most important in this was knowing when to step back and let a teammates confidence and initiative thrive.
- My benchmark for success in this was my team experiences vs that of others in my cohort. All three of my team projects were extremely positive experiences, with us all wanting to work together on future projects and us being very tight knit groups. This was not always the case for others and team projects were often a source of intense friction and stress.
- A highlight of this can be seen in my time in Makers, I was the only person to volunteer to lead the student lead retro in week 5 after the AirBNB project, requiring me to write and present a summary of our weeks learning reflections to the whole cohort. I both found it quite easy to lead and present to 20 people, and as you can see here it was very well received
- A final makers example of my communication skills would is that I won the Maker's Alumni & Student Blogging Competition Summer 2021, despite only writing one post to my blog. See the winning post here
- In my time at Pupil my interpersonal skills were also very prevelent. I was often the surveyor sent to deal with known difficult clients, and was often specifically requested by many of our most picky clients due to our working relationship. I was also one of the most popular trainers for new people and was someone that people actively campaigned to be promoted to managerial level.
High Growth Mindset
- For our Makers final project we decided to use the MERN stack despite only having two weeks of native JS experience, partially because it represented a challange, but also because we wanted to move beyond Ruby to a more representitive tech challenge. To augment the challenge, we only had 10 days to create a working app
- To do this we had to teach ourselves how to use an entirely new framework, database, and programming paradigms on the as we coded, all in a language we had little experience in
- This was achievable by simply dividing the difficult task into many smaller ones. Learn the basics of React, learn how to make a component, learn how to use States. Many small steps can make tremendous progress on a long journey. Each small step lead to greater understanding, which in turn made the next step a little easier.
- Despite the project being finished on time and ultimately very successful given the timeframe, I still look at it with an extremely critical lens because I know it can be better, and as I study React post Makers I see a lot of ways the code could be improved in a rewrite. However knowing this doesn't bother me, in fact the exact opposite, because it shows my growth as a developer
- Similarly while working at Pupil I had multiple opportunities to make use of my growth mindset, because as a startup we were constantly required to change approach, start again, or just flat out abandon something that wasn't working. I actively enjoyed this and began to grow disatisifed with the job when this aspect of it faded as the technology began to work. I am at my most engaged and my best when faced with an active challenge to overcome
Adaptablility
- The first 5 weeks of makers was taught mostly in Ruby, with some HTML and CSS thrown in, culminating in an AirBNB project using the Sinatra framework. Weeks immediately threw me into JavaScript to learn by translation. Weeks 8-9 flipped back to Ruby, building a Facebook clone with Rails. I then personally chose to use JavaScript based MERN for the final project in weeks 11-12. Post Makers I am voluntarily learning Python, continuing this trend of constant adaptability.
- The challenge if doing this isn't necessarily being able to get something to work once, but actually understanding it enough that you could repeat it in future.
- In order to do this I focussed very heavily on a Processes over Syntax approach, because as an engineer you can always use documentation or google to find syntax, as long as you know specifically what you want to do
- The result of this is that I can code full stack applications in both Ruby using Rails or Sinatra, or JavaScript using MERN comfortably after less than 4 months learning
- This is a trend that you can see throughout my career, I have worked as a Tax Associate Intern (Deloitte), in hospitality, in sales, as a photographer/surveyor, and now as a Software Engineer. Each of these transitions was as simple and stress free to me as changing clothes
Problem Solving
- I've always found removing frustration from the equation, and thinking purely logically about a problem and solutions, to be extremely easy. I can debug for 6 hours straight and still remain calm and alert when the issue is not solved. Furthermore I have no issue with entirely discarding or heavily modifying practices/code I have been using for months or years in the face of a better solution.
- There are too many examples of this in Maker's to cover here, to do so would likely be more then the volume of text already on the page by itself. Instead I will use an example from my previous role at Pupil, when I was tasked my the director of my department with reducing both errors and time taken in individual properties by 30% each, a problem which the department had been trying and failing to solve for months.
- First I had to confirm why the issue was occuring, to do so I had semi-formal conversations with everyone in the department to get each perspective, what they felt the department was doing wrong, what they felt they were struggling with, and in particular I spoke with the other high performing surveyors to find common patterns.
- On analysis of this information I quickly confirmed two things I had suspected to be the problem: First that the underperforming employees were extremely disatisfied with the training received, information was conflicting, practices were not standardized, and they received little feedback. Second the high performing employees all had very similar habits and practices, most of which were not standard or taught.
- To resolve this I took my findings and completely redesigned the capture process to a modularized, easily repeatable and simple process, that both minimized time taken, and maximized down time, allowing surveyors more time to qualty control their work. From this we were able to standardize training, have one uniform process, and have surveyors receive clear feedback for their work.
- The 30% milestones were both achieved very quickly after this, and the company took an enormous step forwards towards production level efficiency. This project was largely very easy to me because I am able to step back and view problems in their individual components through a logical lens, and entirely redesigning the process from scratch was easier than simple modification
Makers Academy (March 2021 to June 2020)
See my Makers journey in detail here on my GitHub Profile
This process entailed:
- Daily pair programming sessions on a weekly challenge set by Makers, which covered the weeks concepts.
- Weekly Weekend challenges to reinforce the weeks learning
- Three major team based engineering projects, one replicating AirBNB, one replicating Facebook, and one self designed program
- Learning focussed on TDD and process over syntax, the stated goal being "I can learn anything", "I can debug anything", and "I can TDD anything"
Pupil (July 2017 to October 2020)
Digital Surveyor
Joined in the very early days and helped field test the tech and software, interfacing with engineering and testing teams to drive further development Helped take the technology from an early prototype to a fully functioning business software Due to my consistently high performance I was selected for a solo project to improve both the speed and quality of our data capture process, I achieved this by:
- Using Data analytics and research to establish a baseline time and error rate to compare to our target, as well as establish performance metrics for operations team
- Use targeted interviews with other high performers to build a library of successful habits and methodologies, as well as the inverse for lower performers
- Test new combinations of the successful methodologies until I created the optimal method for both errors and speed
- Disseminated the new method to the operations team. Both the speed and quality of data capture noticable improved as well as training simplicity
Nineteen Events (March 20017 to July 2017)
Sales Executive
Selling exhibition space for UK Security Expo (now International Security Expo), my role was mainly to research, determine eligibility and ultimately selling floorspace to
security companies. My main niche within the team was new tech developments, including Drones, CyberSecurity and technology driven security solutions.
Deloitte (June 2014 to August 2014)
Tax Associate
A largely self directed and and independent internship, I was placed within the Diageo team with the freedom to attach myself to various projects, based in the Deloitte UK head office. In my time at Deloitte I was involved in a large scale price unification project, learned how to calculate and minimise tax liabilities for individuals and for corporations and proof-read and edited reports for my colleagues. I also used my free time to arrange meetings with professionals from the many other income streams in Deloitte, including Digital consulting, corporate finance, management consulting and audit.
BA Hons History, with a special focus on Cold War, Communism, Stalinism and East European modern history.
- Github: https://github.com/MattDawson2020
- CodeWars: https://www.codewars.com/users/MattDawson
- Email: Mattdawson18@gmail.com