3 ms·
First, I'd look at what devops you can implement. I'd imagine testing and automated deployments are a bare minimum. Testing may slow you down, but if most of
by stocktech 6y ago
First, I'd look at what devops you can implement. I'd imagine testing and automated deployments are a bare minimum. Testing may slow you down, but if most of your work is maintenance, you'll see longer term gains. Automated deployments will prevent any manual errors from occurring and instead of taking hours to deploy, it'll take minutes. Both together will give you some confidence in what you're pushing out.
Second, I'd talk with your boss more about "communicating too much". Especially if you're already having problems, you'll want to keep an open line of communication with your boss to let him know where you're succeeding and struggling. I'd try to figure out what kind of communication they're looking for and develop a plan around that.
Third, over complicating solutions is a tough problem to overcome, especially alone. Is your boss technical? Was he a developer? Who's your mentor in all of this? Can you give an example on how you've over complicated something? Without knowing anything, I'd encourage you to spend more time designing and less coding. Design the solution first and take time to look for ways to simplify it.
Fourth, timeframes are always hard. I agree with agile and would encourage you to read up on it. Even splitting a project into milestones could help.
- TbobbyZ 6y agoMy boss is not technical. Never been a developer. I have no mentor. An example of over complicating things is I will ask too many questions to make sure I fully understand an ask. I will keep asking more questions if I feel I can make an ask better or I see a risk. Honestly I feel like if I spent more time designing my boss would think I'm just making things more complicated than it should. Do you have a design book in mind? How can I use agile as a solo developer? Everything I've read on it involves a team environment.
- stocktech 6y agoI don't know the full situation, but your "over communication" is something I expect my senior engineers to do. If it is as you say, it could be your manager expecting you 1) read his mind or 2) just do what he says. If he seems like a reasonable guy, I'd try to talk to him so both of you can understand each other better. You need to understand what they want in order to build it. Especially if he's non technical, I don't know how much he's in a position to judge your work. How would he know what's over complicated or not? I do think bad deployments and wide estimates are fair criticisms though. Do you think your work is over engineered? What type of work are you doing? I run full stack web engineers. Typically, I'll see over complicated data models from newer grads who try to third normal form everything or engineers who want to rewrite functionality our framework gives us. Some engineers think the problems are super complicated and make the solution match. Some engineers just overlook a different way of doing a thing and back themselves into a very complicated corner. I don't know if there's a book that can give you the answer either. It's really a problem solving challenge where you need to find the solution with the least amount of steps possible while optimizing for your requirements. Without a team behind you, it's tough to change your perspective (assuming it's an issue at all). I'll have my engineer diagram the system then ask what we can remove, then we go over things together. Maybe finding similar open source projects could show you other solutions? Agile as a solo developer is more of a expectation tool in that your manager will be able to see what % of work is done and what's holding you up. Agile could be a Trello board you share with your manager or just an excel sheet where you list out the requirements (and the sub-chunks) and the status of each. The important part is breaking out the work into manageable chunks.