A Playful Core with a Professional Finish

Like so many of the developers I’ve talked to, Marcelo’s love of programming began in his  youth, and with programming games. As with many writers who write in a developer community, Marcelo likes to interact with his peers and give back to the community. The original spark of playfulness and creativity that inspired him as a teen developer holds strong as a now-mature developer, in sharing what he has learned with a wider developer audience. He brings that creativity and playfulness into authoring content too, using a variety of tools to come up with clear, elegant technical prose to reach the intended audience.

The Person Behind the Keyboard

Tell me about yourself. Where did you grow up, where do you live, where do you work, and what is your role?

I was born and live in Guarulhos, a city in Greater São Paulo, Brazil. I work at Alura Cursos Online, where I’m an Online Course Instructor. My job is delivering online programming courses. At Alura, we develop courses following standards, but as instructors, we have freedom and autonomy to decide on course planning. That involves developing a coding project, the study topics, and the course script. After that, I record the course videos in our studio. Finally, I prepare the course exercises, all in the name of education. It’s hard work, but undoubtedly a rewarding profession. 

What got you interested in your technical career?

My dad bought a (Z80-based) MSX computer when I was a teenager, and it didn’t come with games. So, my little brother and I started typing BASIC programs for simple games that came with a monthly programming magazine. I typed in the program lines as he [my little brother] dictated them. (The games usually mimicked games of the time.) Then, I typed in the code in BASIC language and played those games. Then, I modified the code in order to change the color, speed and shape of the characters, and so on. That’s how I started programming: as kid’s play.

Why did you start writing about your work?

In 2007, I was studying design patterns and thought it would be good to publish something. At the time, I thought it would be nice to practice my English skills, and CodeProject  (CP) was the most popular source of knowledge for us .NET developers. It was so gratifying to publish that first article for CP, and to interact with people in the comments section! The CodeProject community is huge — more than 13 million people around the world. Whenever I posted an article, after a short time, it got thousands of views and downloads.

That motivates you. That makes you want to learn, code, and write even more.

What attracted you to writing for ContentLab IO?

I’ve known the CodeProject staff for many years, and I know that they are really professional and committed to their work. Twenty years ago, they started a successful network for computer programmers by enabling and promoting authors and solving programmers’ problems. So, once I heard CP founder Chris Maunder was behind ContentLab, that was all I needed to know to jump aboard.

What positive changes in your professional or personal life have you seen since you started writing about developing/IT work?

My English skills improved drastically. And I became more community-aware. I brought many crazy ideas to CodeProject that couldn’t be materialized at my job. Sometimes I meet people in Brazil that already know me because of my articles. It feels good to be recognized for your work. On a personal level, writing articles became a form of therapy for me, along with playing music. Whenever I got stuck at my work at the company, I could get home, fiddle with code, and write crazy stuff to compensate for daily frustrations at the office. And I use my Articles page at CodeProject as my resume. I think that says a lot.

What written work are you most proud of?

I have more than 40 articles published at CodeProject, so that would be difficult to say… 

Some were really fun to write, such as WPF Midi Band.  Even after so many years, sometimes I open it to play music and have fun! I’m also very fond of Greg the Robot, which is a little JavaScript/TypeScript game we wrote in my company for a hackathon competition a couple of years ago. 

What technical achievement are you most proud of?

That’s also hard to say. But I think it was an optical markup reading module I wrote for a company a couple of years ago.

My friend João Talles and I worked on a Learning Management System (LMS). Schools [were receiving] thousands of student assignment answer sheets. All that paperwork had to be processed in an automated way, so I wrote the software using image processing software —  AForge.Net, an open source .NET Framework developed by Andrew Kirillov. Andrew is a well-known author of image processing articles for CodeProject. Thanks to his work, I managed to successfully do mine.

What interests you about client writing projects?

Putting my effort and knowledge to work for the benefit of people’s lives: educating people, enabling businesses, and making clients’ products shine.  

What challenges have you encountered in technical writing that surprised you?

Explaining concepts which I thought I knew but I really didn’t know that well. It’s easy to write stuff that comes to my head. But explaining concepts with simplicity and elegance and without using jargon is what’s really hard.

How did you overcome them?

I often have to take many steps back and read the basics of the technology I’m writing about. I have read about the Feynman technique, by which you can quickly check if you really know the subject or not. And by using mind maps, diagrams, analogies and metaphors, I can use real-world language that brings the layman reader closer to my thinking.

What words of wisdom would you like to share with prospective technical authors?

Whenever you write an article, it will stay online forever. Your name will be there. And every article you write will be a new bullet point in your resume. The articles are also your gift for the community. So, write passionately about a subject you really like and bring all your ideas to the paper (or the screen). I strongly recommend writing for CodeProject (codeproject.com). It’s a great place for practicing your writing skills and receiving readers’ feedback.

If you are writing upon request, don’t forget to keep in touch with your editor. Don’t let your questions accumulate. Ask for clarifications whenever needed. Keep in mind you’re writing for your customers, and maybe for your customer’s customers, so try to imagine the kind of audience you’re writing for and adjust your tone and language to fit their experiences. Once you get your first article published, you will want to write more. (I assure you.)

What words of wisdom would you like to share with prospective clients about the content creation process?

Writing, editing and revising content is enjoyable work, but it’s not easy. So, client guidance is key here. Clients must describe the kind of audience that will be interested in the content. Are they tech-savvy? Which generation do they belong to? Are they first-year IT students or seasoned software engineers? These parameters will have a big impact on how the content is written. Explain how this content will be valuable for your business. Is it your company, your product, or your service that we need to focus on? Help content creators by highlighting the greatest aspects of your product or service — and they will make the content shine.

For the Road

Like many experts, Marcelo finds the practices of programming and writing to bring their own rewards. That is how he can invest so much time into crafting content that will reach his audience. Nothing creates expertise like practice, and by using CodeProject as his professional playground, Marcelo has honed his craft as a developer and author. To new or aspiring technical authors, he advises they start writing for a developer community like CodeProject. And for content clients, he advises providing the editor with guidance on the audience the content should speak to. With that, he is confident that he or any ContentLab author will make your brand, product or service stand out.