Choose Carefully

Farye "AK" Nwede
2 min readJun 11, 2021

I have a side job. Weekly, I mentor students who are going through the Springboard. Don’t worry, the title isn’t related to this side job. I enjoy the opportunity to check with students who are looking to enter the industry. It helps me to hone my communication, mentoring, and listening skills. In addition, mentoring forces me to improve myself as an engineer by keeping up to date with the latest events and updates in our field.

One of the students I speak with loves to talk about programming languages. We talk about the strengths and weaknesses of languages. “Why is Python so popular with data scientists?”. “Node.JS and React are awesome!”. “What’s going on with goroutines??”. The conversation came around to me telling the student to check out Golang. In addition, since he mentioned Next.JS, I thought I’d take a look at the framework.

Next.JS is pretty cool. I like the fact that it includes static and server-side rendering. It was easy for me to get started. Plus, coming from Vercel, I thought it had a strong community behind it. The explorer and developer in me enjoy creating a sample project.

However, the DevOps engineer in me is not too fond of Next.JS. The fact that I can’t natively couple an environment’s configuration with a Docker image of a compiled version of my application is a non-starter. This StackOverflow post highlights the issue. In summary, ifgetServerSideProps or getInitialProps is not present on a page, the server will pretender a page as static HTML. This means that some pages will not load a configuration value pass into a container. There are ways around this. However, it requires good design.

Choose carefully. When comes to selecting a tool or technology, do your research and understand the features (and limitations). One example from my past was when I selected HipChat as the chat tool of choice for a previous company. The thought was that close integration with JIRA and Confluence was a plus. However, Slack overtook the market and quickly made that decision obsolete. Sometimes you need to be lucky. Sometimes, you’ll be unlucky. However, it’s important to do the research.

--

--

Farye "AK" Nwede

Engineering manager. DevOps. 1/2 of the Ubiquitous Methods podcast. Tinkerer, thinker and learner. Former party animal reformed to become the next Bruce Wayne.