Hi there! My name is Marina, and I'm 33 years old. A few years back, I started to feel like my job wasn't really doing it for me.
I'd been with the same company for a while, doing various tasks like data processing, project coordination, and assistant management. But I just wasn't feeling satisfied.
Around the same time, I started to look into the world of software development. I tried out a few different things like design and development, but coding really grabbed me.
However, life had other plans, and I became pregnant not long after I started exploring this new career path.
I took some time off to focus on being a mom, but once I was ready to return to work, I knew that software development was where I wanted to be.
Now, here's the thing - I didn't have any fancy technical education or anything like that. But during my time off, I took a course at a local IT company and learned a lot about web development.
That's when I really fell in love with coding and started building up the skills I needed to make the career switch a reality.
In the middle of my studies, I had the opportunity to work on a graduation project, which turned out to be one of the best in my class.
I also had the chance to participate in a course hackathon, which was both challenging and rewarding. The hackathon was focused on different aspects of software development, including layout, logic, and backend.
After completing the layout module, our team of two was tasked with creating a webpage according to a given picture in a limited period of one day.
We were evaluated on the quality of our work, teamwork, and attention to detail, with points awarded for semantic accuracy, accessibility, and pixel-perfect design.
Despite facing a challenging task, my partner and I were able to work well together and earned the highest score. As a prize, we received six months of Apple Music.
In addition to taking the programming course, I also decided to do some additional self-study.
I asked my friends and teachers for book recommendations, and I found myself with a long list of materials that covered a wide range of topics from programming and computer architecture to design and project management.
Some of the programming books that were recommended to me included "Structure and Interpretation of Computer Programs" by Harold Abelson and Gerald Jay Sussman, "Grokking Algorithms: An illustrated guide for programmers and other curious people" by Aditya Bhargava, and "Code Complete: A Practical Handbook of Software Construction" by Steve McConnell.
These books were incredibly helpful in developing my programming skills, and I highly recommend them to other aspiring developers.
I also delved into computer architecture with "Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold, and learned more about design and user experience with "Don't Make Me Think: A Common Sense Approach to Web Usability" by Steve Krug and "The Design of Everyday Things" by Donald Norman.
These books helped me understand the principles of good design and how to apply them to my programming projects.
Aside from programming and design, I also read books on project management and team building, such as "Peopleware: Productive Projects and Teams" by Tom DeMarco and Timothy Lister, and "Mythical Man-Month, The: Essays on Software Engineering, Anniversary Edition" by Fred Brooks.
These books helped me gain a better understanding of the importance of teamwork and how to manage projects effectively.
One classic that was recommended to me and that I thoroughly enjoyed was "Surely you're Joking Mr Feynman: Adventures of a Curious Character" by Richard Feynman.
Though it's not specifically about programming, it's a fascinating read that explores the life and mind of a brilliant physicist.
While I haven't had a chance to read all of these books yet, they are all on my list, and I highly recommend them to any aspiring or experienced software developers.
They are classics in their fields and cover topics that are important to programmers of all directions.
Now, as a Junior Plus developer, I understand that there are two types of developers: coders and engineers. While coders maintain existing systems, engineers design new systems.
Some of the brightest minds in the industry created the Vue framework, for example, while other developers use the framework to create new applications.
Engineers need a focus on hard skills, while coders require a strong emphasis on soft skills. As a new developer, it's essential to identify a mentor, select resources to learn from, and work on a pet project.
If you choose to be a coder, it's important to think algorithmically, communicate well with your team, have a good command of English, be knowledgeable about your chosen stack, and deliver high-quality work on time.
It's also crucial to be self-aware and continuously work on improving your weaknesses.
Overall, switching to software development has been an exciting journey, and I'm looking forward to continuing to learn and grow in this field.
After finishing a programming course, I was contacted by a recruiter from an IT company who offered me a technical interview with a lead from an unknown department. Unfortunately, I didn't pass the interview.
However, I did manage to complete a workshop test task and began reviewing other students' work and looking for more opportunities.
One day, I saw a job opening at TradingView, a well-known and cool company, and decided to apply. The test for the job was difficult, as it required me to build a video player based on Electron.
Despite taking three weeks to complete, I was successful and landed the job.
Although I was excited to work at TradingView, I quickly realized that commuting to the office, dealing with sleepless nights due to my child being sick, and having little personal freedom were not the right fit for me.
Therefore, I quit the job and started searching for new opportunities.
After a couple of weeks, I received two job offers, and I accepted one of them without any problems. This is where I currently work at Devhouse.
Although I don't mind working in the office, what's important to me is that I have the option to work remotely at least once a week.
This year, my husband and I moved to the world-famous resort island of Phuket in Thailand, where we now live, work, and get to enjoy the beautiful Andaman Sea. It's a pleasure to spend time with my family here.
The only thing I'm still trying to figure out is where developers meet and what the local IT industry is like, so if any of you reading this article are familiar with the area, please let me know!
I just want to tell a little about Devhouse, the service company where I currently work.
Devhouse mainly works with startups, and they have projects using Angular and React, but the one I'm currently working on is based on a technology called MarsX.
MarsX is an interesting system that allows companies to save a lot on development. With two junior developers and three months of work, you can have an MVP ready to go.
On the one hand, this is great for the company's clients, as they get a cost-effective solution that solves their business problems. On the other hand, MarsX is not perfect, and there are some drawbacks for developers.
One major challenge is that if there's no senior developer on the team, there's no one to review the code.
This can lead to bad coding habits and make it difficult to find new developers, as not many people want to work with an unknown technology.
For example, the IDE (Integrated Development Environment) used in MarsX 3 was not convenient to work with.
There was no syntax highlighting, no way to add a Linter to stick to one style of code, and no way to change the color of the theme so that the eyes don't get tired in different lighting.
You couldn't simply drag and drop a file from one folder to another, and you couldn't even download a package from npm.
It was really frustrating to work with, and it made me appreciate the standard code editors like VS code.
But the good news is that all these issues have been fixed in the latest version of MarsX, MarsX 4. I will be thrilled to get access to this new version and enjoy the improved functionality it will provide.
Now that I consider myself a Junior Plus developer, I won't claim to be an expert. However, I do have some advice for those who, like me, have decided to switch from another profession to software development.
Here are a few tips to help you succeed:
So, if you're thinking of making the switch to programming, my advice is simple: work hard, invest in quality resources, and be patient with yourself.
With time and dedication, you too can become a successful software developer.
Good luck, and let’s connect if you are also on Phuket island!