{"componentChunkName":"component---src-templates-blog-post-js","path":"/how-to-boost-your-career-as-a-software-developer-architect","result":{"data":{"contentfulBlogPost":{"createdAt":"2021-07-12T15:48:25.752Z","updatedAt":"2021-07-12T15:48:25.752Z","id":"c35f8fbc-675d-51b4-bfbb-1ab067dceaa6","description":"I'll show you 7 personal recommendations to become a high-level software engineer/architect. they personal but hopefully might apply to you too.","title":"How to boost your career as a Software Developer/Architect","body":{"id":"cf221161-6811-52ec-8216-cbc121f3ce9b","childMarkdownRemark":{"id":"d88ced28-acd5-5be5-8bbe-8502df0bcd1e","html":"<p>Since I started working as a software developer almost five years ago, I have greatly improved my skills. Working on different projects, designing complex applications, and solving tricky bugs are some of the things that helped me gain a lot of experience in this field.</p>\n<p>Although I find myself in a good position, I am still looking to move to the next level of my career. That is why I want to share with you what are the things that I think will help me <em>(and may help you, as well)</em> improve my skills and knowledge about software development and makes me a better professional.</p>\n<p>The following 7 points are <strong>personal recommendations</strong> to become a high-level software engineer/architect. they personal but hopefully might apply to you too.</p>\n<h2>1. Get a certification</h2>\n<p>Nowadays, certifications are not that important as they used to be. You can easily land a position in a well-known company without having any. But I'd say these add a plus when it comes to applying for a particular role. For example, imagine that you want to get a job as a <strong>Node.js developer</strong>, a good way to differentiate your profile among thousands of other resumes that this position has received is to have a certification in that particular technology.</p>\n<p>However, being certified is not a direct ticket to get aboard, but is a great way to be presented. so make sure you practice and really master that tool.</p>\n<h2>2. Study the CS fundamentals</h2>\n<p>This is something that I had learned over time. Computer science fundamentals are the only knowledge that rarely varies. They are used across every brand new framework or tool no matter what language or platform you're developing on. Hence, I realize that learning CS is the most important and smart investment that we can make as developers. </p>\n<p>Several topics are <strong>strongly recommended for any developer</strong>, such as: </p>\n<ul>\n<li>Design patterns </li>\n<li>Algorithms and data structures</li>\n<li>Secure software design</li>\n<li>Relational and non-relational databases</li>\n<li>and so on.</li>\n</ul>\n<p>If you don't feel comfortable with the topics mentioned above, it's the first step you should go in order to increase significantly your abilities and understanding of developing software.</p>\n<h2>3. Improve soft skills and communication</h2>\n<p>Once you have grasped the basics and your role becomes more leadership-focused <em>(such as team leader or senior)</em>, you will notice that everything is not just coding. You'll start to need more than that. Soft skills as empathy, mentoring or conflict-resolution will be your new tools to employ on a daily basis.</p>\n<p>For these kinds of roles, communication is key, in order to gather requirements efficiently and explaining why a certain decision was taken you must be able to <strong>communicate with confidence and clarity</strong> to technical and non-technical people.</p>\n<p>Most of the time we get stuck just in the technical aspect (hard skills) of the business, but I dare to say that soft skills are equally (or even slightly more) important than hard skills.</p>\n<h2>4. Be a fluent English speaker</h2>\n<p>Whether you are from Latin America (where I'm from) or any other non-English country over the world, you need to digest that English is a MUST. Have you noticed that the most relevant applications (such as operating systems) and <strong>programming languages are using English keywords</strong>? This is not a coincidence, That's because software is purely dependent on this language, in fact, all the documentation is written in it.</p>\n<p>Therefore, It easy to figure out that this is a kind of global agreement to use English almost for everything in software development. it's commonly <strong>used as the official language to communicate with other</strong> colleagues around the world when the team is remote and multi-cultural.</p>\n<p>A good piece of advice is to try to grow your English fluency plus writing/reading abilities as much as you can. absolutely worth it.</p>\n<h2>5. Be an expert in a specific development field</h2>\n<p>When I refer to the \"development field\" I mean a good technical domain that you may get good at. For instance, you might understand what processes are needed to encode a video file and eventually become a <strong>Video Encoding Expert</strong>, or having a good <strong>Pentesting</strong> comprehension and use that knowledge to be a Secure Software Developer, That adds more value than showing off just as a regular Java Developer.</p>\n<p>I'm pretty sure that you'll increase your chances of landing a job at Spotify if you demonstrate expertise working with audio streaming than other applicants.</p>\n<h2>6. Understanding the big picture</h2>\n<p>Besides coding, what else do you understand about your job? Do you know why they're using certain technologies? Do you know how the company makes profits? Are you aware of what assumptions the company has about the user's needs? These are <strong>vital information</strong> that you need to internalize. Getting those aspects clear you'll be able to make more impact on your company than just solving small tasks of the systems.</p>\n<p>Understanding the big picture enables us to make the right decisions and also propose competitive features that <strong>might better the overall quality to the end-user</strong>.</p>\n<p>To do that, we have to comprehend things like: </p>\n<ul>\n<li>Software architecture</li>\n<li>Industry and business model of the company</li>\n<li>DevOps pipelines and practices</li>\n<li>etc</li>\n</ul>\n<h2>7. Never stop learning</h2>\n<p>Last but not least, we must never stop learning. it wouldn't need further explanation. As this industry evolves so fast, we need to be fast-paced as well. You don't have to learn every single new framework (it's quite impossible for a frontend dev lol), but still, <strong>you need to keep your eyes open</strong> for each new \"real tech revolution\" that happens from time to time, and maybe <strong>looking into the pros and cons of the new trends</strong>. </p>\n<p>Our ability to learn fast and being a lifelong learner are the two traits that will hold us relevant in the market as long as we have it.</p>\n<h2>Final thoughts</h2>\n<p>This is not the only path to success as an engineer, but it's the one I decided to take. I collected all the good advice the I think might be useful for any intermediate developer out there.</p>\n<p>Thanks for reading and I hope you've found some insight on how you can create your own path to upgrade your career.</p>","excerpt":"Since I started working as a software developer almost five years ago, I have greatly improved my skills. Working on different projects, designing complex applications, and solving tricky bugs are some of the things that helped me gain a lot of experience in this field. Although…"}},"image":{"id":"a99a2ef7-24cb-519d-a6d5-a791959fff1e","fluid":{"base64":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAlgCWAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2ODApLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgACgAUAwEiAAIRAQMRAf/EABcAAAMBAAAAAAAAAAAAAAAAAAAFBgT/xAAkEAACAQMDAwUAAAAAAAAAAAABAgMABRESITEEBhMUQWFxkf/EABUBAQEAAAAAAAAAAAAAAAAAAAQF/8QAGBEAAwEBAAAAAAAAAAAAAAAAAAERAiH/2gAMAwEAAhEDEQA/AIyy9z9fLKI3h9Yc8ODkfhp93Feh4da2uGOEDTqw3I2PvS+BFhSFIlCIVBKqMDNMG3Vgdxxj4qa5eD861I2QMt1VpCfHEPrNFZb7HHHeuqSNFRQ+yqMAUUtWBm+n/9k=","aspectRatio":1.9164619164619165,"src":"//images.ctfassets.net/szbztvipepx3/44xlQWnEfrvC63Df9bGFw/ee6b3045861a90629e9d5ac7e51a55dd/preview16.jpg?w=786&q=50","srcSet":"//images.ctfassets.net/szbztvipepx3/44xlQWnEfrvC63Df9bGFw/ee6b3045861a90629e9d5ac7e51a55dd/preview16.jpg?w=197&h=103&q=50 197w,\n//images.ctfassets.net/szbztvipepx3/44xlQWnEfrvC63Df9bGFw/ee6b3045861a90629e9d5ac7e51a55dd/preview16.jpg?w=393&h=205&q=50 393w,\n//images.ctfassets.net/szbztvipepx3/44xlQWnEfrvC63Df9bGFw/ee6b3045861a90629e9d5ac7e51a55dd/preview16.jpg?w=780&h=407&q=50 780w","srcWebp":"//images.ctfassets.net/szbztvipepx3/44xlQWnEfrvC63Df9bGFw/ee6b3045861a90629e9d5ac7e51a55dd/preview16.jpg?w=786&q=50&fm=webp","srcSetWebp":"//images.ctfassets.net/szbztvipepx3/44xlQWnEfrvC63Df9bGFw/ee6b3045861a90629e9d5ac7e51a55dd/preview16.jpg?w=197&h=103&q=50&fm=webp 197w,\n//images.ctfassets.net/szbztvipepx3/44xlQWnEfrvC63Df9bGFw/ee6b3045861a90629e9d5ac7e51a55dd/preview16.jpg?w=393&h=205&q=50&fm=webp 393w,\n//images.ctfassets.net/szbztvipepx3/44xlQWnEfrvC63Df9bGFw/ee6b3045861a90629e9d5ac7e51a55dd/preview16.jpg?w=780&h=407&q=50&fm=webp 780w","sizes":"(max-width: 786px) 100vw, 786px"}}}},"pageContext":{"slug":"how-to-boost-your-career-as-a-software-developer-architect","intl":{"language":"en","languages":["en","es"],"messages":{"title":"Omar Gaston","navbar.knowme":"About me","navbar.projects":"Projects","navbar.contact":"Contacts","frontpage.readMyBlog":"Read my blog","frontpage.knowme":"Who am I?","blog.subtitle":"Creating stories.","blog.title":"Sharing my ideas","blog.text":"with the community.","subscribe":"Subscribe","changeLanguage":"ES","goBack":"Go back","viewOnGithub":"View on Github","viewProject":"View Project","viewMore":"See more","notFound.title":"NOT FOUND","notFound.text":"You just hit a route that doesn't exist... what sadness! ","notFound.knowAuthor":"well, this guy","notFound.goBlog":"Better go and read something","notFound.whoSay":"...Who say that?","personal.title":"Who I Am?","personal.fullname":"Omar Gaston Chalas","personal.salute":"Hi, I'm","personal.presentation":"A Javascript Full-Stack Developer, Lover of creating products which make people's life easier.","personal.presentationContinue":"I'm always eager to hear about new ideas, create and learn new things.","personal.coverletter":"Well I'm Omar, a Dominican Software Engineer passionate about Javascript, web development and related technologies. As a developer, I've been building highly scalable business apps for more than 3+ years caring deeply about the details in both well-crafted code and user-facing experience. ","personal.coverletterContinue":"Since I remember, I've always been curious and eager to learn new technologies and acquire new skills. Constant learning and a proactivity attitude have allowed me to be comfortable with the rapid changes which are already common in the modern tech industry.","personal.coverletterContinue2":"Despite I care about keeping my technical skills shaped, I also have a Startup mindset and pragmatic attitude, that comes with a willingness to lead projects and desire to understand about the business and where it’s heading","personal.quote":"It's not all about me, As a team player, I love collaborating with others and be involved in Open Source projects. For me, mentoring and helping others is the best way to giving back to those whos have led me in the past.","personal.coverletterFooter":"By the way, These are some of the tools I'm currently using: ","aptitudes.title":"Skills","aptitudes.creativity.title":"Creativity","aptitudes.creativity.text":"The best way to demonstrate authenticity is by being creative.","aptitudes.innovation.title":"Innovation","aptitudes.innovation.text":"Experiment and apply new technologies.","aptitudes.focused.title":"Focus","aptitudes.focused.text":"The correct solutions arise by dividing a problem and focusing on each part.","aptitudes.consistency.title":"Consistency","aptitudes.consistency.text":"The only way to achieve success is to persevere.","aptitudes.simplest.title":"Simplicity","aptitudes.simplest.text":"It's always good when something works, but when it's simple and works, it's wonderful.","aptitudes.community.title":"♥","aptitudes.community.text":"Work as a team with communities and colleagues.","projects.title":"Projects","projects.text":"Some of the projects I've been working on","contact.title":"Contact","contact.text":"Talk to me and work together.","contact.form.email.label":"Email","contact.form.email.placeholder":"Your email","contact.form.message.label":"Message","contact.form.message.placeholder":"Anything about you, your work or your pet :)","contact.form.submit":"Send","contact.form.secondmessage":"Tell me, what's going on?","contact.writeme":"Write me!","lastPost.title":"Latest posts","search.result":"result","search.noresult":"No results for","search.search":"Search"},"routed":false,"originalPath":"/how-to-boost-your-career-as-a-software-developer-architect","redirect":false}}}}