3 Important Professional Development Traits to Focus On

professiona-development

Professional development, in my eyes, defines how we focus on an extension of our better selves. That side is driven by our inner productive core that gets things done and is eager to grow and solve problems. By feeding and focusing on our core selves, we can transform into individuals who are hard working, dedicated, and capable of taking on the world’s toughest problems.

Like everything else I write about, these areas of focus involve discipline and self reflection. We get better day by day and growth is earned. With that in mind, this post is the perfect cheat sheet on what to focus on in order to improve your professional development.




Communication and Social Interactions

In order to help ensure success in your career, you must have excellent communication and interpersonal skills. With strong attributes in these areas, an individual can stand out like a beam of light when it matters most. Obviously, this is easier said than done. Building a strong professional development persona requires working on your presentation, which is the first step into further expanding one’s communicational boundaries.

Begin focusing on how you stand and the body language you give off. Then, try to analyze how you enter and exit conversations. Remember to always wait for others to finish speaking before beginning to make your point. Also, be sure to acknowledge the other person’s point of view, and only disagree when necessary. Be eager to agree and despise disagreements when in professional settings. Improvement in these areas will put you in an excellent starting position towards building an ideal professional persona.

Be Proactive in Solving Your Employer’s Problems

I understand that many of us work to pay bills. Work is often more of a necessity than a desire. However, the longer you carry around the idea that your job is to pay bills and not an extension of your better self, than the longer you will go without professional growth. In becoming a proactive problem solver you will find purpose, you will find satisfaction, and gratitude will be thrown at you.

Remember that your employer hired you to solve a problem or fill a role in a larger system. Take a step back and look at the problems your role solves, and how it connects with perpendicular roles. Understanding this bigger picture will give you a very important perspective. From there you can take initiative to solve other problems, perhaps even improve your workplace’s process as a whole. By engaging with issues like this on your own accord, you will immediately begin to stand out from your peer’s and be able to help others solve their issues as well. If you are as helpful as you are insightful, good things will come your way.




Gain Confidence By Being Good At What You Do

When working on professional development, a lot of discussion goes into presentation. This can sometimes have negative connotations due to the idea that those who focus solely on a projected image lack the substance required to get the job done. I agree with this, as a professional without skills is no professional.

Instead of talking about being confident by faking a smile, or learning just what is necessary to succeed at your current task, spend a little extra time focusing on improving the abilities utilized to succeed at your job. I’m guessing if you’re reading this blog, then you are interested in that sort of thing. This can be accomplished by taking advantage of your down time. Try sacrificing 30 minutes of Facebook time to read more about what professionals in your field are doing. If your time outside of work is precious to you, then find ways to boost your skills while things are slow at your current position. Gaining the skills to be better at what you do is handled one small task at a time, and an extra 30 minutes a day can very likely be the difference between being good at something and being great at it.

Thank you everyone for reading this. If you liked what you read, please share and leave a comment.

6 Steps of Application Development for Beginners

Application Development for Beginners

In this post, I’ll attempt to highlight the major steps of application development for beginners working on a small or individual project. This content assumes knowledge of the software development life cycle and some basic programming experience.

Step 1 – Think of an Idea

It’s true what they say…everything begins with an idea. Whether you are thinking of working on something original, or if you plan to build your own version of an existing application (a great practice for soon to be engineers), you cannot move forward without the idea.

Consider keeping an idea journal & make it a point to constantly jot down random thoughts, regardless of how you feel about the thought itself. Constant brainstorming is an excellent habit to have in order to promote your own enthusiasm for project development.



Step 2 – Requirements Analysis & Choosing a Technology Stack

There are more than a handful of well known options available when it comes to what can be used for putting together a project. In order to decide which stack is for you, first seek to understand your idea from a project management perspective and analyze its requirements and goals.

Your requirements analysis should come in the form of answers to questions. Answer questions like, “How can I break my project idea into smaller parts or modules?“, and “How do I want a user to interact with creating an object in the system?” List these out in a word doc or on a piece of paper. These requirements will turn into your checklists during the prototyping phase of step 4, and will also serve as a base of documentation & planning, allowing smooth transition into Step 3.

Based off your conclusions here, you can accurately research a tried and true group of technologies (languages, IDE’s, frameworks, database servers, etc..) to utilize when working on your own project ideas. Keep it simple and try to find a stack with lots of community support & online resources.

Step 3 – Documentation & Design Planning

Yes, a small project should have some documentation and careful planning, even if in the form of a few torn pieces of paper with to-do lists that resemble chicken scratch. Docs can be represented in many different ways because all that matters is that they aid the engineer (you) in implementing solutions to your problems.

Therefore, taking the time to plan your individual project’s  code base and life cycle is absolutely critical to ensuring things like its scalability and support down the road. Expect drafts and edits to be ongoing throughout your project.

Step 4 – Prototyping

This is the part where we start programming.

A proper prototype should demonstrate the core functionality of the project’s goal(s). It’s constructed so that changes can be made to an application’s planned life cycle, which is inevitable in real-world scenarios. Prototyping is also still a part of the design phase. Feel free to experiment with different concepts and evolve the original idea of your software. There are no limits to what you can develop when programming.



Step 5 – Testing & Refining

As with many of the steps of application development, there is some overlap and back-and-forth work which takes place during the different stages. This is most evident when it comes to testing and refining your project.

In this step, you will be testing and going over code you wrote during the prototype phase, and correcting any mistakes made during the designing and planning of your software’s code base. Work to ensure that your application is robust and can handle random interactions from users. Cleaning & organizing code into blocks of functions that make sense and an architecture that is laid out nicely is the best way to guarantee your software will have a life past its first deployment.

Step 6 – Deployment

The deployment process depends on the type of software you are constructing. A mobile app is packaged, encrypted and signed before being uploaded to the mobile store. Web applications usually have their code base and resources copied over to what are known as “production servers”. If your application is a client-based program, there may be information which your users are required to download before utilizing the software.

Regardless of what type of deployment process meets your specific needs, you can be proud for a brief moment and understand that you’ve accomplished something that is anything but easy.

From here, the next phases would look something like working on marketing strategies, listening to feedback and analyzing your users’ trends. Then, of course, it’s time to plan your first update and continue the cycle!

Thank you for reading!

Thank you for checking out this post. I really hope this helps those of you who have been wanting to start your own projects but were unsure of how to get started or what it means to develop an application on your own.

If you liked what you read, you can check out this post here to find out some challenges I faced working as a new software engineer.
Please share and comment on some of the projects you have worked on and any steps that I left out of the application development cycle. You can also comment on some other topics you may be interested to see me write about.

5 Challenges New Software Engineers Face

5 Challenges New Software Engineers Face

For anyone interested in programming and professional software development. Here are 5 challenges new software engineers face in consulting.

If you like this article, you can check out my walkthrough of general application development here.

5. Code Fatigue

Professional programmers program….a lot.

As an entry level engineer, I program a minimum of 45 hours per week at my consulting job, and 50 to 60 hours for 1 to 2 weeks per month. With these numbers, my average has been close to 50 hours per week over the past several months.

80% – 90% of my time at work is spent in front of a computer.

It’s numbers like this where actually enjoying to code can help make all the difference…but the fatigue struggle is real.



4. Dealing with random demands

“So tell me again, why are we implementing these requirements as Z-X-Y instead of X-Y-Z??” Because the client wanted it that way.

“So, why are we allowing manual entry of supposedly unique identifiers that should never ever be manually entered?” Because the client wanted it.

Thankfully, the requirements aren’t too difficult, and if necessary we can often give a good reason for why their request should not be implemented.

I’m either laughing or crying when going over new requests.

3. Interpreting Requirements

How you interpret a project’s main requirements is part of what separates the good engineers from the great ones, I’d say.

It’s one thing to take some documents and build what the pages instruct you to build. It’s another to take documents and build what the client actually wanted.

This is one of those things that comes with practice, but if you don’t try to understand it, you may never actually learn the skill. I’m still trying to pick it up myself.

2. Working with Testers

The tester I work with is a great guy. He’s only a few years older than me, very intelligent and is easily one of the hardest workers on the team.

He also drives me insane multiple times a week.

If our tester had been the one bug checking my senior project, it would have taken an extra semester to finish.

The benefit to this, of course, is having your name tied to a high quality product that is proven to be robust…so in the end, we love our testers.

1. Actually Engineering Software

For this last bit, I’d like to give an example of what I wished I had spent more time learning about in college.

Think of an idea (planner app, website with users, anything data driven, etc.), decide on a technology stack to build it (literally any stack will work, don’t listen to critics so much when the end goal is knowledge), and configure your working environment (i.e. download and setup all necessary software on a computer).

This part alone will take several hours, if not a few days.

Then, set up a project schedule and build your idea, one line of code at a time. A smart way of doing this is to rapidly build a working prototype that demonstrates the core ideas of what the overall project should embody. This part should take even experienced coders a week or more.

Once you’re this far, don’t stop. Reiterate on the prototype, finish it, and launch your idea on a public platform. If you’re talented, experienced, and great at managing, you can probably handle all of this in a few weeks. It took me 6 months of tinkering with my first solo app project before finally launching it to the Google Play Store.

If you have accomplished all of the above, congratulations, you’ve shown that you can successfully take an idea and make it a reality. This is what I wish I learned and performed multiple times in college. This is software engineering and what software engineers are working on day in and day out.

Thanks for reading!
Thank you for checking out my blog. I hope this serves as a beacon for soon to be graduates and aspiring programmers.
If you liked what you read, please share and comment to let me know some of the challenges you’ve faced as a new professional in your field.

4 Tips on Professional Development That Will Help You Get the Job

 

This list will help anyone and everyone who is diligently searching for a job.

It’s all about who you know, and who knows you! Networking

The importance of networking in order to expand your work opportunities cannot be overstated. Much of the difficulty in this can be getting ideas out of your head that are related to what you are interested in. As a remedy, try and put yourself in a position where opportunity is always one conversation away. Prepare an elevator speech or better yet, a transitional conversation that seems impromptu.  The next time you engage in small talk with a fellow colleague or college student, wait for that inevitable pause and then deliver. A good way to start may sound something like, “…Hey, so do you happen to know anything about xyz?” If the answer is no, then tell him/her about why you asked and why you are enthusiastic. If the answer is yes, follow up with why you asked and why you are enthusiastic. If all goes well, exchange information with him/her and continue growing your network of contacts.

Don’t be afraid to walk the walk…You have what it takes.

“Fake it ‘til you make it” is a popular saying and is very true in most respects. However, never forget that you should always strive to actually become knowledgeable in your field or career path of choice. Know what it takes to at least be a solid candidate when it comes time for the next career fair or hiring season. Be patient, as this will take time. Spending 30 minutes to 2 hours several times a week Googling the tools of your trade (instead of Facebook) will make all the difference over the next 12 -24 months of your life. This way, even if you aren’t a company’s first choice you certainly will not be left in the dust doubting yourself. Understand that you will be great at something one day, and understand that this will take years of dedication. Those years go by one day at a time.




Prepare for interviews!

Never ever just waltz into an interview if you really want the job. Respect yourself, and respect the individual’s perspective of you when in this situation. Research the company online and their purpose. Why are they trying to fill this position? If possible, know the faces and names of the interviewers ahead of time. Interviews are not random events, and you will be questioned the same way everyone else is. Have answers prepared for basic questions, such as “What is a strength/weakness of yours?” and “Can you tell me about a time you were challenged?” I always walk into my interviews with a notebook and will jot down things while the interviewer is speaking. I also come with 3 to 5 questions. I try to do just as much, if not more talking than the interviewer, so long as I sense they are capable of being wooed as such.

Last and absolutely not least…Follow up.

After the interview, either later that day or the next, send the representative of the company you spoke with a thank you email. This really is what professionalism is all about. It shows you are enthusiastic and that you really want the job. More importantly, it shows you are not afraid to engage someone in this manner. This is a regular part of the professional world and engaging in communication via email or otherwise will be a determinative part of the culture. Take charge and show that you are capable.