Virtualization Technology News and Information
Article
RSS
How to become a successful (or more successful) engineer

By Peter Vetere, Staff Software Engineer, SingleStore

The computing field is vast and constantly changing, so it can seem quite intimidating if you're just starting out. However, programming is all about breaking problems into smaller pieces.

So, in honor of National Coding Week and World Engineers Day (Sept. 15), I'd like to share some advice for anyone interested in software engineering.

It's important to start with a simple goal or problem in mind, even if you've never written a line of code in your life. I've found that it's much easier to learn new concepts and technologies if there is a concrete use case to work from, however contrived it might be.

Let's say maybe you want to write a program that outputs the numbers one to 10 on the screen. This seems simple, but there is a surprising amount of thought that goes into it. For example, even the term "screen" can mean different things, depending on the context. Do you want your output to go to a web browser, a command-line window or somewhere else? Programming languages are not all created equal, and each has its own sweet spot. Do research on popular programming languages and what they are used for, and decide which one might help you accomplish your goals in the most natural way. Python and JavaScript are common choices for beginners.

Once you've picked a goal and a language to use, find some beginner tutorials on programming in that language. Good tutorials will often teach you enough to do something useful in the first few pages. You'll know when you've found one.  As you work through a tutorial, think about how you can use what you are learning to achieve the goal you set out for yourself. This kind of self-motivated, active curiosity is fundamental to being a successful engineer.

Don't be afraid to search for hints or ask questions in online forums, to engage with teachers or friends, or to join clubs.  You might also find some of the resources I've included below helpful.  Given some time, patience and dedication, you'll eventually accomplish your goal or solve your problem. It's tremendously satisfying when you do.

If you enjoyed the experience, think about some ways you can enhance your program. It will engage your creative mind and will naturally lead you down a path of more learning. After a while, you'll start to get a feel for what you do and don't like about programming.  You don't need to know everything - nobody does. Pursue your interests and find the fun in it.

Helpful Resources For Beginners:

Reddit (website)

Reddit has a good forum for beginners to ask questions.  You can also learn a lot just by browsing what others have asked.

https://www.reddit.com/r/learnprogramming/

https://www.reddit.com/r/programming/

 

StackOverflow (website)

StackOverflow has become a ubiquitous resource for developers of all levels.  Answers and comments are voted on by the community in terms of their usefulness and quality.

https://stackoverflow.com/questions/

 

GitHub (website)

This is a massive repository of open source code, with millions of projects from every language imaginable, ranging from personal projects to the backbones of modern industry infrastructure.  It's a great place to search for examples or just browse for inspiration.

https://github.com/

 

The Pragmatic Programmer: Your Journey To Mastery, by David Thomas and Andrew Hunt (book)

This is a time-honored book that has been around for many years and has all sorts of great general philosophical advice without being overly focused on any particular language or technology. If you want to know what it's like to be in the software profession, even reading a chapter of this book will give you somewhat of an idea.

https://www.amazon.com/Pragmatic-Programmer-journey-mastery-Anniversary/dp/0135957052

 

Code Complete:  A Practical Handbook of Software Construction, by Steve McConnell (book)

Another programming classic, this book discusses programming principles and best practices.  Its conversational style and fun illustrations makes it very accessible.

https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670

 

The Art of Computer Programming, by Donald Knuth (book)

This series of books is definitely not for the beginner, but is worth mentioning because it is about the closest thing there is to a programming bible. Originally written in 1968, these books have gone through many revisions and updates over the years. The series presents an academic and highly detailed survey of fundamental computer algorithms. Should you decide to become a professional software engineer, consider delving into these books - if only to become casually acquainted with common algorithms used all over the industry.

https://en.wikipedia.org/wiki/The_Art_of_Computer_Programming

##

ABOUT THE AUTHOR

Peter-Vetere 

Peter Vetere has been developing software personally and professionally for 25 years.  Throughout his career, he has had the opportunity to work with many different technologies and programming languages and enjoys mentoring new developers. He currently works for SingleStore (which delivers SingleStoreDB, the real-time distributed SQL database designed for data-intensive applications) as a member of the LaunchPad team where he researches ways to bring innovative new ideas to the database.

Published Thursday, September 15, 2022 7:33 AM by David Marshall
Filed under: ,
Comments
There are no comments for this post.
To post a comment, you must be a registered user. Registration is free and easy! Sign up now!
Calendar
<September 2022>
SuMoTuWeThFrSa
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678