I started my software development/engineering career in 1995 while I worked at an electronics company in Souderton, Pennsylvania. During the past thirty years, I have had a chance to reflect on my career, and there are several things that made huge impacts on my effectiveness in my profession. Make no mistake about it — my experience is not more profound or unique than yours or anyone else's. Let's see if we can all compare notes, and maybe we will find some common themes. Who knows? Maybe we can even give some recent grads and junior engineers a bit of a boost.
As software developers, we are all very familiar with the function and purpose of an application programming interface (API). We create them for different reasons, including project organization, or communication of operations to external actors, among other things. Ideally, we want to write really solid APIs with clean separation from the implementation to facilitate things like testing, clarity, expectation, and stability across versions. It sounds simple,
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-XX:+HeapDumpOnOutOfMemoryError | |
-XX:HeapDumpPath=/path/to/dumps | |
-XX:+ExitOnOutOfMemoryError | |
-Xlog:gc*:file=/path/to/gc.log | |
-XX:NativeMemoryTracking=detail |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM myproj/base-java-gradle-dev:1.0.0-SNAPSHOT | |
# Copy certificate URLs file and script | |
COPY scripts/ca-cert-urls.properties scripts/configure-ca-cert.sh /tmp/ | |
# Run certificate setup as root during build | |
RUN /bin/bash /tmp/configure-ca-cert.sh && \ | |
rm -f /tmp/configure-ca-cert.sh /tmp/ca-cert-urls.properties && \ | |
if getent passwd ubuntu > /dev/null; then userdel -r ubuntu; fi && \ | |
if getent group ubuntu > /dev/null; then groupdel ubuntu; fi && \ |