4 Things Developers Should Consider Before Accepting Their First Job
The first “real” job that a developer accepts will become the foundation upon which their whole career will be built. Imagine this: After sending out her resume, Jill lands her first job at an in-house Java shop. The company gives her the tech stack she’ll be using: Java EE, Hibernate, and MySQL and with that, it’s time to get to work supporting their application. Fast forward. Three years have gone by and Jill is still supporting the same application with the same tech stack. The work is getting monotonous. But where can she go from here? Jill has only worked on a single project with a few technologies. Do you see her problem? Jill can look for a new job at a higher position based on the skills she has acquired, but where’s the challenge? Where’s the growth? If she wants to work with a different tech stack, she’ll likely have to search for another entry-level position to continue to build her skill set. But, what if that company who hired her had encouraged continuous learning? What if she had gotten to work with several different tech stacks over those same three years? Jill would have built a more solid and extensive foundation to her career. One way to obtain diverse experience is to join an organization similar to a professional services company, and not necessarily the consulting kind. According to MindTools, a professional services company is “any organization or profession that offers customized, knowledge-based services to clients.” In the technology field specifically, a simple definition could break down to “a company that hires developers to do contract work for various clients.” At a professional services company, continuous learning is highly encouraged. Developers with 20+ years of experience are willing to teach, and you’ll most likely be able to work with multiple clients which means learning both the programming languages and the business tools to support development. So why is this so important, especially as a first job? There are several reasons. 1. It can offer twice the experience in half the time. Think back to that earlier example. Three years spent learning the ins and outs of one company using specific technologies. Imagine if Jill had instead been hired by a professional services company. Her first year she would potentially be on a client project that uses those same technologies (Java EE, Hibernate, and MySQL), but that client contract only lasted for a year. Then what? She is then assigned to a different client that needs a REST-ful web service using the Spring framework. What just happened? Jill was given the opportunity to learn twice the amount of skills in less time than our previous example. 2. Employees are constantly encouraged to learn These types of companies are constantly encouraging their employees to learn and grow and keep up with new technologies. It makes sense if you think about it. Professional service companies are only selling one thing: services. The more extensive knowledge that their employees have, the easier it is to sell their services. 3. Expert resources are only a desk away. Developers who have been in the field for 20+ years are usually sitting nearby. Got a question about .Net? That developer two feet away, is an expert. Need some SQL help? That guy across the hall worked his last job as a DBA. And the best thing about it? Most experienced developers want to share their knowledge. At a professional services company, there needs to be a wide range of knowledge so there can be a wide range of clients. These companies thrive when their developers are highly trained on a variety of technologies. 4. Communication skills will expand. It’s easy to see the benefit of working with different clients to learn new technologies, but what about the benefit of working with different clients to learn about different clients? Because many developers move from project to project, they have the opportunity to learn the business tools of a variety of clients. Maybe one client uses Slack to communicate and JIRA for task management and the next prefers Skype and Asana. Being a developer is two sided. Knowing how to program is just one part. Knowing how to communicate and how to work well with a team are equally if not more important than just being able to write code. Starting your career at a company that encourages learning and the exploration into different technologies will put you on the fast track to success. For developers specifically, working at a professional services company is one of the next best steps to take.
WordPress Plugins – The Starter Pack
WordPress is one of the most powerful content management systems for building websites. It’s intuitive dashboard and ability to add themes and templates are all strong features. But one thing that makes WordPress rise above the competition is the extensive library of plugins. I have yet to come to a point where I can’t find a plugin that does what I need. Whether you need responsive tabs, an impressive slider, social media feeds, or pop-up banners, there’s a plugin for almost any feature. When beginning a build, consider obtaining a “starter pack.” These are the three plugins that I’ve used the most often and have been the most helpful when starting to build a website. 1. Jetpack Cost: Free! The Jetpack plugin contains several features within itself, so I’ll just highlight my three personal favorites. The first feature I always activate is “Stats." This feature allows you to see how many people are visiting your site each day and how they ended up there. My next activation is “Subscriptions" which allows users to subscribe to your blog. The third feature is “Publicize” which allows you to automatically update your social feeds when new content is posted to your blog. 2. Custom Facebook Feed Cost: Free! The custom Facebook feed plugin does pretty much what it sounds like. It allows you to display a live Facebook feed on your website. There are paid features you can unlock, but with the free version you can control how many posts are shown in the feed, how often the plugin will check for updates, the size of the feed, and the placement of the page “Like” button. 3. Revolution Slider Cost: $19 The Revolution Slider plugin isn’t free, but it’s worth the $19 if you want a slider on your website. With Revolution Slider, you can easily control all animations, text placement, add videos, and most importantly, it makes sure your slider is responsive for every screen size. There are thousands and thousands of WordPress plugins, but these few can help you get a good start on your website build!
The Pros & Cons of CMS APP Builders
So you’ve decided you want to build your mobile application with a cross-platform solution. Now what? There is yet another decision to be made: Should you build your app with a CMS? Let’s first go over a quick definition of CMS, or content management system. What makes a CMS a CMS? First, there is usually more of a drag-and-drop feel than actual coding. An example may be dragging and dropping a text box component rather than coding ‘<input type="text"></input>’. Next, there will be some type of dashboard. And usually you will be able to create different permissions for various users of the dashboard. For example, you may want to allow someone to be able to sign on and change some text, but you may not want them to be able to edit the styling of the application so you would edit their permissions accordingly. Now, let’s take a look at the pros and cons of CMS app builders to help us answer the question we originally asked: Should you build your app with a CMS? Pros Code faster - CMS app builders allow you to build apps at lightning speed. I can build a complete app (ready to be submitted to the app stores) with a CMS builder within hours. The ease of drag-and-drop can save huge amounts of time and effort. Client customization - This pro comes along with the dashboard aspect of CMS builders. This comes in handy when you are offering customizable apps for clients. With a dashboard, you can create a login for the client and let them sign on to their application’s backend for simple text updates or adding a blog to a blog section, for example. Automatic updates - Getting an app through the App Store can be a frustrating process because of the length of time it takes to be approved. That’s not so bad for the initial submission, but waiting days for each update can be an issue if you have a client that is constantly wanting changes. Usually with CMS builders, you can automatically push 99% of updates (excluding splash screen or icon changes). Cons Costs money - One major con to using a CMS builder is that it is not free. Usually for a single app, it will cost about $50/month and will only stay live while you are paying the subscription. For reference, check out the pricing sheet for one of the top CMS builders here. You can easily see how this could get very expensive very fast with multiple apps. One thing to keep in mind is that if you know you will be creating multiple apps, most CMS solutions offer some type of affiliate program. This means you will be able to pay a higher monthly fee, but you will be able to create as many apps as you like. Less control - Sometimes with CMS builders, you lose 100% control of what you can do with your app. For example, they may only offer a set amount of templates you can use for a page. Most will offer a blank HTML template you can code yourself to help with this, but if you are trying to avoid hours spent coding then that doesn’t really solve your problem. So, what’s the answer? Of course, it depends. If money isn’t an issue and you want to be able to quickly create customizable apps, a CMS builder is most likely the way to go.
Coding Mobile Applications: To Go Native or Not