Hello World!
My name is Nuno Góis. I am an experienced and
driven 33 years old Full-Stack Developer from Portugal. Passionate for the job,
love putting skills to the test, facing challenges in a creative and perfectionist way. Experienced
with every step of developing and delivering cross-platform, modern and responsive software. Worked
with several different technologies across the stack, always willing to learn more and improve skills.
Biggest strengths lie in bringing a focused, creative and out-of-the-box approach to challenges,
leveraging hard-working and quick learning traits.
My goal in life is to be the best version of myself that I can, trying to improve every day.
I love coding, it's super fun and gratifying. As an INTJ, I am focused, rational, introvert
and a bit of a loner. I'm a better listener than talker. I am a college dropout and
self-taught. I have Crohn's so I have a limited diet and don't drink or smoke. I try my best
to stay healthy.
I love videogames, tech, music, movies, TV series, reading, writing,
running, hiking and many other things.
Feel free to ask me anything!
What makes me unique is my creativity and adaptability. More than a developer, I like to think of myself as an inventor and creator. I love tackling unique challenges, thinking of solutions and coming up with ideas. I'm generally at my best when I'm in a smaller-sized team, free to learn and think, and working on a challenging and fun project that I'm passionate about.
JavaScript, TypeScript, Vue, Quasar, Nuxt.js, Jest, React, React Native, Next.js, Expo, Svelte, Socket.io, .NET, C#, Python, Go, Java, C, C++, SQL Server, MySQL, SQLite, MongoDB, Redis, GraphQL, Apollo GraphQL, Contentful, Elasticsearch, Node.js, Express, ESLint, Prettier, Webpack, jQuery, Tailwind CSS, Bulma, Bootstrap, HTML, CSS, Sass, Stylus, Git, GitHub, GitLab, Markdown, Visual Studio, Visual Studio Code, Cloudflare, AWS, Google Cloud, Oracle Cloud, Firebase, Docker, Jenkins, Trello, Slack, Discord, Photoshop, PowerShell, Android, Windows, macOS, Linux, Pop!_OS.
As a Full-Stack Developer, I don't have a clear preference between front-end and back-end. I am experienced with every step of the stack and constantly adapting and adding to my knowledge. I reached a point professionally where it's generally easy for me to join a new project and learn the stack being used in a short amount of time, due to my experience, so I think only looking at the tools that I use can prove somewhat limiting. Besides this simplistic overview of my experience across the tech stack, these are some of my current preferences:
Looking forward to learn more about: Rust, WebAssembly
Despite this, you'll find me constantly looking for new things to learn and experiment with. One of the best parts of the tech landscape is that it's changing all the time, so it never gets boring.
With over 12 years of professional experience, I have been extremely fortunate to have worked in exciting projects with very talented people.
I had a lot of fun solving the problems that I have faced in my career and I can't wait to
see what's next.
Besides professional projects, I'm always thinking of new personal projects to tackle. They are
fantastic opportunities to learn more and add to my experience.
Unleash
Full-Stack Developer
04/2022 - Current
Zoi
Full-Stack Developer (Specialist)
06/2021 - 03/2022
IQA - Sistemas de Gestão, Lda
Full-Stack Developer (Lead, Architect)
03/2011 - 05/2021
Since I'm used to people approaching me with unique challenges and ideas, and coming up with them myself, and then figuring out what it means to engineer those challenges and ideas to life, I had the chance to work on some very interesting projects. For some of them I also had to work with very limited resources, including time. They also help explain the developer I have become over time.
Created a custom workflow engine that allowed end-users with the right permissions to create custom workflows, with several steps, permissions, routes, and more.
Created a custom form designer, that works with the custom Workflow Engine, that allowed end-users with the right permissions to create web forms, containing tabs and absolute positioned UI elements, by dragging and dropping. Some of the elements were somewhat advanced, like tables, and would contain custom properties that could be configured.
Created a custom form designer that would replace the previous one, as a more modern and responsive option. Users could still drag, drop and resize elements, but the layout would be responsive, following the typical "12 column" grid layout.
Created a custom JavaScript framework based / on top of jQuery to use along with the previous options. This added infinite possibilities, along with customization and integration options. This framework was meant as a very easy-to-use programming language for our own and also end-users with the right permissions, where most of what was needed could be accomplished using its simple functions. The framework went through several iterations, and this also included maintaining its documentation accordingly.
As an extension to the previous idea, we also wanted to run custom logic from a server / scheduled, cron-like, perspective. This used PhantomJS and Chrome headless along with a Windows Service to trigger our code based on configurable triggers.
Created a code / logic wizard, where end-users with no programming knowledge could easily configure their own logic. This included creating a very specific parser and code generator, and also included functions, conditions, and parameters.
Created a PDF text extractor, where PDFs were converted to HTML in a specific way that allowed end-users to configure zones from where to grab text information. This could then be easily integrated with the previous projects, and proved a much faster and accessible alternative to OCR.
Created a PDF extractor from a custom file format of a legacy app that was no longer maintained. It aggregated several files, including PDFs, which were required for our use-case. Had to evaluate bytes looking for file signatures without documentation as a guide, using the so-called "magic numbers" to identify when PDFs started and ended.
Created a data matrix code scanner script in Python. The codes were scanned from a very large volume of TIFF files, so it had to be extremely optimized. Besides managing the local files, it involved counting the percentage of yellow on the image (based on a configurable RGB range), so that a correct amount of codes to be scanned could be calculated, in order to speed up the process significantly. Learned and used tools like numpy, CV2, Wand, and more. It also involved querying data from a MySQL database and integrating everything with web-based APIs.
You can find a live up-to-date version of my CV at any time at nunogois.com/cv
or cv.nunogois.com.
If you prefer, you can also download it as PDF for a more traditional offline format.